diff --git a/CHANGELOG.md b/CHANGELOG.md index 96c2f8cd794..08a06711337 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +Release v1.50.21 (2024-02-19) +=== + +### Service Client Updates +* `service/amplify`: Updates service API and documentation +* `service/chatbot`: Updates service API, documentation, paginators, and examples +* `service/config`: Updates service documentation +* `service/ivs`: Updates service documentation +* `service/keyspaces`: Updates service documentation +* `service/mediatailor`: Updates service API + Release v1.50.20 (2024-02-16) === diff --git a/aws/version.go b/aws/version.go index 5b1ea807b1f..35c5abd1504 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.50.20" +const SDKVersion = "1.50.21" diff --git a/models/apis/amplify/2017-07-25/api-2.json b/models/apis/amplify/2017-07-25/api-2.json index edd916e44ee..54ffe76f357 100644 --- a/models/apis/amplify/2017-07-25/api-2.json +++ b/models/apis/amplify/2017-07-25/api-2.json @@ -857,6 +857,36 @@ "pattern":"(?s).+", "sensitive":true }, + "Certificate":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{"shape":"CertificateType"}, + "customCertificateArn":{"shape":"CertificateArn"}, + "certificateVerificationDNSRecord":{"shape":"CertificateVerificationDNSRecord"} + } + }, + "CertificateArn":{ + "type":"string", + "max":1000, + "min":0, + "pattern":"^arn:aws:acm:[a-z0-9-]+:\\d{12}:certificate\\/.+$" + }, + "CertificateSettings":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{"shape":"CertificateType"}, + "customCertificateArn":{"shape":"CertificateArn"} + } + }, + "CertificateType":{ + "type":"string", + "enum":[ + "AMPLIFY_MANAGED", + "CUSTOM" + ] + }, "CertificateVerificationDNSRecord":{ "type":"string", "max":1000 @@ -1024,7 +1054,8 @@ "enableAutoSubDomain":{"shape":"EnableAutoSubDomain"}, "subDomainSettings":{"shape":"SubDomainSettings"}, "autoSubDomainCreationPatterns":{"shape":"AutoSubDomainCreationPatterns"}, - "autoSubDomainIAMRole":{"shape":"AutoSubDomainIAMRole"} + "autoSubDomainIAMRole":{"shape":"AutoSubDomainIAMRole"}, + "certificateSettings":{"shape":"CertificateSettings"} } }, "CreateDomainAssociationResult":{ @@ -1286,9 +1317,11 @@ "autoSubDomainCreationPatterns":{"shape":"AutoSubDomainCreationPatterns"}, "autoSubDomainIAMRole":{"shape":"AutoSubDomainIAMRole"}, "domainStatus":{"shape":"DomainStatus"}, + "updateStatus":{"shape":"UpdateStatus"}, "statusReason":{"shape":"StatusReason"}, "certificateVerificationDNSRecord":{"shape":"CertificateVerificationDNSRecord"}, - "subDomains":{"shape":"SubDomains"} + "subDomains":{"shape":"SubDomains"}, + "certificate":{"shape":"Certificate"} } }, "DomainAssociationArn":{ @@ -1316,7 +1349,9 @@ "PENDING_VERIFICATION", "IN_PROGRESS", "AVAILABLE", + "IMPORTING_CUSTOM_CERTIFICATE", "PENDING_DEPLOYMENT", + "AWAITING_APP_CNAME", "FAILED", "CREATING", "REQUESTING_CERTIFICATE", @@ -2415,7 +2450,8 @@ "enableAutoSubDomain":{"shape":"EnableAutoSubDomain"}, "subDomainSettings":{"shape":"SubDomainSettings"}, "autoSubDomainCreationPatterns":{"shape":"AutoSubDomainCreationPatterns"}, - "autoSubDomainIAMRole":{"shape":"AutoSubDomainIAMRole"} + "autoSubDomainIAMRole":{"shape":"AutoSubDomainIAMRole"}, + "certificateSettings":{"shape":"CertificateSettings"} } }, "UpdateDomainAssociationResult":{ @@ -2425,6 +2461,18 @@ "domainAssociation":{"shape":"DomainAssociation"} } }, + "UpdateStatus":{ + "type":"string", + "enum":[ + "REQUESTING_CERTIFICATE", + "PENDING_VERIFICATION", + "IMPORTING_CUSTOM_CERTIFICATE", + "PENDING_DEPLOYMENT", + "AWAITING_APP_CNAME", + "UPDATE_COMPLETE", + "UPDATE_FAILED" + ] + }, "UpdateTime":{"type":"timestamp"}, "UpdateWebhookRequest":{ "type":"structure", diff --git a/models/apis/amplify/2017-07-25/docs-2.json b/models/apis/amplify/2017-07-25/docs-2.json index 12830fc28ac..df16a259d99 100644 --- a/models/apis/amplify/2017-07-25/docs-2.json +++ b/models/apis/amplify/2017-07-25/docs-2.json @@ -6,12 +6,12 @@ "CreateBackendEnvironment": "

Creates a new backend environment for an Amplify app.

", "CreateBranch": "

Creates a new branch for an Amplify app.

", "CreateDeployment": "

Creates a deployment for a manually deployed Amplify app. Manually deployed apps are not connected to a repository.

The maximum duration between the CreateDeployment call and the StartDeployment call cannot exceed 8 hours. If the duration exceeds 8 hours, the StartDeployment call and the associated Job will fail.

", - "CreateDomainAssociation": "

Creates a new domain association for an Amplify app. This action associates a custom domain with the Amplify app

", + "CreateDomainAssociation": "

Creates a new domain association for an Amplify app. This action associates a custom domain with the Amplify app

", "CreateWebhook": "

Creates a new webhook on an Amplify app.

", "DeleteApp": "

Deletes an existing Amplify app specified by an app ID.

", "DeleteBackendEnvironment": "

Deletes a backend environment for an Amplify app.

", "DeleteBranch": "

Deletes a branch for an Amplify app.

", - "DeleteDomainAssociation": "

Deletes a domain association for an Amplify app.

", + "DeleteDomainAssociation": "

Deletes a domain association for an Amplify app.

", "DeleteJob": "

Deletes a job for a branch of an Amplify app.

", "DeleteWebhook": "

Deletes a webhook.

", "GenerateAccessLogs": "

Returns the website access logs for a specific time range using a presigned URL.

", @@ -19,14 +19,14 @@ "GetArtifactUrl": "

Returns the artifact info that corresponds to an artifact id.

", "GetBackendEnvironment": "

Returns a backend environment for an Amplify app.

", "GetBranch": "

Returns a branch for an Amplify app.

", - "GetDomainAssociation": "

Returns the domain information for an Amplify app.

", + "GetDomainAssociation": "

Returns the domain information for an Amplify app.

", "GetJob": "

Returns a job for a branch of an Amplify app.

", "GetWebhook": "

Returns the webhook information that corresponds to a specified webhook ID.

", "ListApps": "

Returns a list of the existing Amplify apps.

", "ListArtifacts": "

Returns a list of artifacts for a specified app, branch, and job.

", "ListBackendEnvironments": "

Lists the backend environments for an Amplify app.

", "ListBranches": "

Lists the branches of an Amplify app.

", - "ListDomainAssociations": "

Returns the domain associations for an Amplify app.

", + "ListDomainAssociations": "

Returns the domain associations for an Amplify app.

", "ListJobs": "

Lists the jobs for a branch of an Amplify app.

", "ListTagsForResource": "

Returns a list of tags for a specified Amazon Resource Name (ARN).

", "ListWebhooks": "

Returns a list of webhooks for an Amplify app.

", @@ -37,7 +37,7 @@ "UntagResource": "

Untags a resource with a specified Amazon Resource Name (ARN).

", "UpdateApp": "

Updates an existing Amplify app.

", "UpdateBranch": "

Updates a branch for an Amplify app.

", - "UpdateDomainAssociation": "

Creates a new domain association for an Amplify app.

", + "UpdateDomainAssociation": "

Creates a new domain association for an Amplify app.

", "UpdateWebhook": "

Updates a webhook.

" }, "shapes": { @@ -312,9 +312,37 @@ "UpdateBranchRequest$buildSpec": "

The build specification (build spec) for the branch.

" } }, + "Certificate": { + "base": "

Describes the current SSL/TLS certificate that is in use for the domain. If you are using CreateDomainAssociation to create a new domain association, Certificate describes the new certificate that you are creating.

", + "refs": { + "DomainAssociation$certificate": "

Describes the SSL/TLS certificate for the domain association. This can be your own custom certificate or the default certificate that Amplify provisions for you.

If you are updating your domain to use a different certificate, certificate points to the new certificate that is being created instead of the current active certificate. Otherwise, certificate points to the current active certificate.

" + } + }, + "CertificateArn": { + "base": null, + "refs": { + "Certificate$customCertificateArn": "

The Amazon resource name (ARN) for a custom certificate that you have already added to Certificate Manager in your Amazon Web Services account.

This field is required only when the certificate type is CUSTOM.

", + "CertificateSettings$customCertificateArn": "

The Amazon resource name (ARN) for the custom certificate that you have already added to Certificate Manager in your Amazon Web Services account.

This field is required only when the certificate type is CUSTOM.

" + } + }, + "CertificateSettings": { + "base": "

The type of SSL/TLS certificate to use for your custom domain. If a certificate type isn't specified, Amplify uses the default AMPLIFY_MANAGED certificate.

", + "refs": { + "CreateDomainAssociationRequest$certificateSettings": "

The type of SSL/TLS certificate to use for your custom domain. If you don't specify a certificate type, Amplify uses the default certificate that it provisions and manages for you.

", + "UpdateDomainAssociationRequest$certificateSettings": "

The type of SSL/TLS certificate to use for your custom domain.

" + } + }, + "CertificateType": { + "base": null, + "refs": { + "Certificate$type": "

The type of SSL/TLS certificate that you want to use.

Specify AMPLIFY_MANAGED to use the default certificate that Amplify provisions for you.

Specify CUSTOM to use your own certificate that you have already added to Certificate Manager in your Amazon Web Services account. Make sure you request (or import) the certificate in the US East (N. Virginia) Region (us-east-1). For more information about using ACM, see Importing certificates into Certificate Manager in the ACM User guide .

", + "CertificateSettings$type": "

The certificate type.

Specify AMPLIFY_MANAGED to use the default certificate that Amplify provisions for you.

Specify CUSTOM to use your own certificate that you have already added to Certificate Manager in your Amazon Web Services account. Make sure you request (or import) the certificate in the US East (N. Virginia) Region (us-east-1). For more information about using ACM, see Importing certificates into Certificate Manager in the ACM User guide.

" + } + }, "CertificateVerificationDNSRecord": { "base": null, "refs": { + "Certificate$certificateVerificationDNSRecord": "

The DNS record for certificate verification.

", "DomainAssociation$certificateVerificationDNSRecord": "

The DNS record for certificate verification.

" } }, @@ -567,7 +595,7 @@ } }, "DomainAssociation": { - "base": "

Describes a domain association that associates a custom domain with an Amplify app.

", + "base": "

Describes the association between a custom domain and an Amplify app.

", "refs": { "CreateDomainAssociationResult$domainAssociation": "

Describes the structure of a domain association, which associates a custom domain with an Amplify app.

", "DeleteDomainAssociationResult$domainAssociation": null, @@ -1203,14 +1231,14 @@ "Status": { "base": null, "refs": { - "CustomRule$status": "

The status code for a URL rewrite or redirect rule.

200

Represents a 200 rewrite rule.

301

Represents a 301 (moved pemanently) redirect rule. This and all future requests should be directed to the target URL.

302

Represents a 302 temporary redirect rule.

404

Represents a 404 redirect rule.

404-200

Represents a 404 rewrite rule.

", + "CustomRule$status": "

The status code for a URL rewrite or redirect rule.

200

Represents a 200 rewrite rule.

301

Represents a 301 (moved permanently) redirect rule. This and all future requests should be directed to the target URL.

302

Represents a 302 temporary redirect rule.

404

Represents a 404 redirect rule.

404-200

Represents a 404 rewrite rule.

", "ProductionBranch$status": "

The status of the production branch.

" } }, "StatusReason": { "base": null, "refs": { - "DomainAssociation$statusReason": "

The reason for the current status of the domain association.

", + "DomainAssociation$statusReason": "

Additional information that describes why the domain association is in the current state.

", "Step$statusReason": "

The reason for the current step status.

" } }, @@ -1399,6 +1427,12 @@ "refs": { } }, + "UpdateStatus": { + "base": null, + "refs": { + "DomainAssociation$updateStatus": "

The status of the domain update operation that is currently in progress. The following list describes the valid update states.

REQUESTING_CERTIFICATE

The certificate is in the process of being updated.

PENDING_VERIFICATION

Indicates that an Amplify managed certificate is in the process of being verified. This occurs during the creation of a custom domain or when a custom domain is updated to use a managed certificate.

IMPORTING_CUSTOM_CERTIFICATE

Indicates that an Amplify custom certificate is in the process of being imported. This occurs during the creation of a custom domain or when a custom domain is updated to use a custom certificate.

PENDING_DEPLOYMENT

Indicates that the subdomain or certificate changes are being propagated.

AWAITING_APP_CNAME

Amplify is waiting for CNAME records corresponding to subdomains to be propagated. If your custom domain is on Route 53, Amplify handles this for you automatically. For more information about custom domains, see Setting up custom domains in the Amplify Hosting User Guide.

UPDATE_COMPLETE

The certificate has been associated with a domain.

UPDATE_FAILED

The certificate has failed to be provisioned or associated, and there is no existing active certificate to roll back to.

" + } + }, "UpdateTime": { "base": null, "refs": { diff --git a/models/apis/chatbot/2017-10-11/api-2.json b/models/apis/chatbot/2017-10-11/api-2.json new file mode 100644 index 00000000000..3df15f0120a --- /dev/null +++ b/models/apis/chatbot/2017-10-11/api-2.json @@ -0,0 +1,1281 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-10-11", + "endpointPrefix":"chatbot", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"chatbot", + "serviceId":"chatbot", + "signatureVersion":"v4", + "uid":"chatbot-2017-10-11" + }, + "operations":{ + "CreateChimeWebhookConfiguration":{ + "name":"CreateChimeWebhookConfiguration", + "http":{ + "method":"POST", + "requestUri":"/create-chime-webhook-configuration", + "responseCode":201 + }, + "input":{"shape":"CreateChimeWebhookConfigurationRequest"}, + "output":{"shape":"CreateChimeWebhookConfigurationResult"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidRequestException"}, + {"shape":"CreateChimeWebhookConfigurationException"}, + {"shape":"ConflictException"} + ] + }, + "CreateMicrosoftTeamsChannelConfiguration":{ + "name":"CreateMicrosoftTeamsChannelConfiguration", + "http":{ + "method":"POST", + "requestUri":"/create-ms-teams-channel-configuration", + "responseCode":201 + }, + "input":{"shape":"CreateTeamsChannelConfigurationRequest"}, + "output":{"shape":"CreateTeamsChannelConfigurationResult"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidRequestException"}, + {"shape":"CreateTeamsChannelConfigurationException"}, + {"shape":"ConflictException"} + ] + }, + "CreateSlackChannelConfiguration":{ + "name":"CreateSlackChannelConfiguration", + "http":{ + "method":"POST", + "requestUri":"/create-slack-channel-configuration", + "responseCode":201 + }, + "input":{"shape":"CreateSlackChannelConfigurationRequest"}, + "output":{"shape":"CreateSlackChannelConfigurationResult"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidRequestException"}, + {"shape":"CreateSlackChannelConfigurationException"}, + {"shape":"ConflictException"} + ] + }, + "DeleteChimeWebhookConfiguration":{ + "name":"DeleteChimeWebhookConfiguration", + "http":{ + "method":"POST", + "requestUri":"/delete-chime-webhook-configuration", + "responseCode":204 + }, + "input":{"shape":"DeleteChimeWebhookConfigurationRequest"}, + "output":{"shape":"DeleteChimeWebhookConfigurationResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"DeleteChimeWebhookConfigurationException"} + ] + }, + "DeleteMicrosoftTeamsChannelConfiguration":{ + "name":"DeleteMicrosoftTeamsChannelConfiguration", + "http":{ + "method":"POST", + "requestUri":"/delete-ms-teams-channel-configuration", + "responseCode":204 + }, + "input":{"shape":"DeleteTeamsChannelConfigurationRequest"}, + "output":{"shape":"DeleteTeamsChannelConfigurationResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"DeleteTeamsChannelConfigurationException"} + ] + }, + "DeleteMicrosoftTeamsConfiguredTeam":{ + "name":"DeleteMicrosoftTeamsConfiguredTeam", + "http":{ + "method":"POST", + "requestUri":"/delete-ms-teams-configured-teams", + "responseCode":204 + }, + "input":{"shape":"DeleteTeamsConfiguredTeamRequest"}, + "output":{"shape":"DeleteTeamsConfiguredTeamResult"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DeleteTeamsConfiguredTeamException"} + ] + }, + "DeleteMicrosoftTeamsUserIdentity":{ + "name":"DeleteMicrosoftTeamsUserIdentity", + "http":{ + "method":"POST", + "requestUri":"/delete-ms-teams-user-identity", + "responseCode":204 + }, + "input":{"shape":"DeleteMicrosoftTeamsUserIdentityRequest"}, + "output":{"shape":"DeleteMicrosoftTeamsUserIdentityResult"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"DeleteMicrosoftTeamsUserIdentityException"} + ] + }, + "DeleteSlackChannelConfiguration":{ + "name":"DeleteSlackChannelConfiguration", + "http":{ + "method":"POST", + "requestUri":"/delete-slack-channel-configuration", + "responseCode":204 + }, + "input":{"shape":"DeleteSlackChannelConfigurationRequest"}, + "output":{"shape":"DeleteSlackChannelConfigurationResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"DeleteSlackChannelConfigurationException"} + ] + }, + "DeleteSlackUserIdentity":{ + "name":"DeleteSlackUserIdentity", + "http":{ + "method":"POST", + "requestUri":"/delete-slack-user-identity", + "responseCode":204 + }, + "input":{"shape":"DeleteSlackUserIdentityRequest"}, + "output":{"shape":"DeleteSlackUserIdentityResult"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"DeleteSlackUserIdentityException"} + ] + }, + "DeleteSlackWorkspaceAuthorization":{ + "name":"DeleteSlackWorkspaceAuthorization", + "http":{ + "method":"POST", + "requestUri":"/delete-slack-workspace-authorization", + "responseCode":204 + }, + "input":{"shape":"DeleteSlackWorkspaceAuthorizationRequest"}, + "output":{"shape":"DeleteSlackWorkspaceAuthorizationResult"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DeleteSlackWorkspaceAuthorizationFault"} + ] + }, + "DescribeChimeWebhookConfigurations":{ + "name":"DescribeChimeWebhookConfigurations", + "http":{ + "method":"POST", + "requestUri":"/describe-chime-webhook-configurations", + "responseCode":200 + }, + "input":{"shape":"DescribeChimeWebhookConfigurationsRequest"}, + "output":{"shape":"DescribeChimeWebhookConfigurationsResult"}, + "errors":[ + {"shape":"DescribeChimeWebhookConfigurationsException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"} + ] + }, + "DescribeSlackChannelConfigurations":{ + "name":"DescribeSlackChannelConfigurations", + "http":{ + "method":"POST", + "requestUri":"/describe-slack-channel-configurations", + "responseCode":200 + }, + "input":{"shape":"DescribeSlackChannelConfigurationsRequest"}, + "output":{"shape":"DescribeSlackChannelConfigurationsResult"}, + "errors":[ + {"shape":"DescribeSlackChannelConfigurationsException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"} + ] + }, + "DescribeSlackUserIdentities":{ + "name":"DescribeSlackUserIdentities", + "http":{ + "method":"POST", + "requestUri":"/describe-slack-user-identities", + "responseCode":200 + }, + "input":{"shape":"DescribeSlackUserIdentitiesRequest"}, + "output":{"shape":"DescribeSlackUserIdentitiesResult"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"DescribeSlackUserIdentitiesException"} + ] + }, + "DescribeSlackWorkspaces":{ + "name":"DescribeSlackWorkspaces", + "http":{ + "method":"POST", + "requestUri":"/describe-slack-workspaces", + "responseCode":200 + }, + "input":{"shape":"DescribeSlackWorkspacesRequest"}, + "output":{"shape":"DescribeSlackWorkspacesResult"}, + "errors":[ + {"shape":"DescribeSlackWorkspacesException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"} + ] + }, + "GetAccountPreferences":{ + "name":"GetAccountPreferences", + "http":{ + "method":"POST", + "requestUri":"/get-account-preferences", + "responseCode":200 + }, + "input":{"shape":"GetAccountPreferencesRequest"}, + "output":{"shape":"GetAccountPreferencesResult"}, + "errors":[ + {"shape":"GetAccountPreferencesException"}, + {"shape":"InvalidRequestException"} + ] + }, + "GetMicrosoftTeamsChannelConfiguration":{ + "name":"GetMicrosoftTeamsChannelConfiguration", + "http":{ + "method":"POST", + "requestUri":"/get-ms-teams-channel-configuration", + "responseCode":200 + }, + "input":{"shape":"GetTeamsChannelConfigurationRequest"}, + "output":{"shape":"GetTeamsChannelConfigurationResult"}, + "errors":[ + {"shape":"GetTeamsChannelConfigurationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"} + ] + }, + "ListMicrosoftTeamsChannelConfigurations":{ + "name":"ListMicrosoftTeamsChannelConfigurations", + "http":{ + "method":"POST", + "requestUri":"/list-ms-teams-channel-configurations", + "responseCode":200 + }, + "input":{"shape":"ListTeamsChannelConfigurationsRequest"}, + "output":{"shape":"ListTeamsChannelConfigurationsResult"}, + "errors":[ + {"shape":"ListTeamsChannelConfigurationsException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"} + ] + }, + "ListMicrosoftTeamsConfiguredTeams":{ + "name":"ListMicrosoftTeamsConfiguredTeams", + "http":{ + "method":"POST", + "requestUri":"/list-ms-teams-configured-teams", + "responseCode":200 + }, + "input":{"shape":"ListMicrosoftTeamsConfiguredTeamsRequest"}, + "output":{"shape":"ListMicrosoftTeamsConfiguredTeamsResult"}, + "errors":[ + {"shape":"ListMicrosoftTeamsConfiguredTeamsException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"} + ] + }, + "ListMicrosoftTeamsUserIdentities":{ + "name":"ListMicrosoftTeamsUserIdentities", + "http":{ + "method":"POST", + "requestUri":"/list-ms-teams-user-identities", + "responseCode":200 + }, + "input":{"shape":"ListMicrosoftTeamsUserIdentitiesRequest"}, + "output":{"shape":"ListMicrosoftTeamsUserIdentitiesResult"}, + "errors":[ + {"shape":"ListMicrosoftTeamsUserIdentitiesException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"} + ] + }, + "UpdateAccountPreferences":{ + "name":"UpdateAccountPreferences", + "http":{ + "method":"POST", + "requestUri":"/update-account-preferences", + "responseCode":200 + }, + "input":{"shape":"UpdateAccountPreferencesRequest"}, + "output":{"shape":"UpdateAccountPreferencesResult"}, + "errors":[ + {"shape":"UpdateAccountPreferencesException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"} + ] + }, + "UpdateChimeWebhookConfiguration":{ + "name":"UpdateChimeWebhookConfiguration", + "http":{ + "method":"POST", + "requestUri":"/update-chime-webhook-configuration", + "responseCode":200 + }, + "input":{"shape":"UpdateChimeWebhookConfigurationRequest"}, + "output":{"shape":"UpdateChimeWebhookConfigurationResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UpdateChimeWebhookConfigurationException"} + ] + }, + "UpdateMicrosoftTeamsChannelConfiguration":{ + "name":"UpdateMicrosoftTeamsChannelConfiguration", + "http":{ + "method":"POST", + "requestUri":"/update-ms-teams-channel-configuration", + "responseCode":200 + }, + "input":{"shape":"UpdateTeamsChannelConfigurationRequest"}, + "output":{"shape":"UpdateTeamsChannelConfigurationResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UpdateTeamsChannelConfigurationException"} + ] + }, + "UpdateSlackChannelConfiguration":{ + "name":"UpdateSlackChannelConfiguration", + "http":{ + "method":"POST", + "requestUri":"/update-slack-channel-configuration", + "responseCode":200 + }, + "input":{"shape":"UpdateSlackChannelConfigurationRequest"}, + "output":{"shape":"UpdateSlackChannelConfigurationResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UpdateSlackChannelConfigurationException"} + ] + } + }, + "shapes":{ + "AccountPreferences":{ + "type":"structure", + "members":{ + "UserAuthorizationRequired":{"shape":"BooleanAccountPreference"}, + "TrainingDataCollectionEnabled":{"shape":"BooleanAccountPreference"} + } + }, + "Arn":{ + "type":"string", + "max":1224, + "min":12, + "pattern":"^arn:aws:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$" + }, + "AwsUserIdentity":{ + "type":"string", + "max":1101, + "min":15, + "pattern":"^arn:aws:(iam|sts)::[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$" + }, + "BooleanAccountPreference":{"type":"boolean"}, + "ChatConfigurationArn":{ + "type":"string", + "max":1169, + "min":19, + "pattern":"^arn:aws:(wheatley|chatbot):[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$" + }, + "ChimeWebhookConfiguration":{ + "type":"structure", + "required":[ + "WebhookDescription", + "ChatConfigurationArn", + "IamRoleArn", + "SnsTopicArns" + ], + "members":{ + "WebhookDescription":{"shape":"ChimeWebhookDescription"}, + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"}, + "IamRoleArn":{"shape":"Arn"}, + "SnsTopicArns":{"shape":"SnsTopicArnList"}, + "ConfigurationName":{"shape":"ConfigurationName"}, + "LoggingLevel":{"shape":"CustomerCwLogLevel"} + } + }, + "ChimeWebhookConfigurationList":{ + "type":"list", + "member":{"shape":"ChimeWebhookConfiguration"} + }, + "ChimeWebhookDescription":{ + "type":"string", + "max":255, + "min":1 + }, + "ChimeWebhookUrl":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^https://hooks\\.chime\\.aws/incomingwebhooks/[A-Za-z0-9\\-]+?\\?token=[A-Za-z0-9\\-]+$" + }, + "ConfigurationName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[A-Za-z0-9-_]+$" + }, + "ConfiguredTeam":{ + "type":"structure", + "required":[ + "TenantId", + "TeamId" + ], + "members":{ + "TenantId":{"shape":"UUID"}, + "TeamId":{"shape":"UUID"}, + "TeamName":{ + "shape":"UUID", + "box":true + } + } + }, + "ConfiguredTeamsList":{ + "type":"list", + "member":{"shape":"ConfiguredTeam"} + }, + "ConflictException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "CreateChimeWebhookConfigurationException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "CreateChimeWebhookConfigurationRequest":{ + "type":"structure", + "required":[ + "WebhookDescription", + "WebhookUrl", + "SnsTopicArns", + "IamRoleArn", + "ConfigurationName" + ], + "members":{ + "WebhookDescription":{"shape":"ChimeWebhookDescription"}, + "WebhookUrl":{"shape":"ChimeWebhookUrl"}, + "SnsTopicArns":{"shape":"SnsTopicArnList"}, + "IamRoleArn":{"shape":"Arn"}, + "ConfigurationName":{"shape":"ConfigurationName"}, + "LoggingLevel":{"shape":"CustomerCwLogLevel"} + } + }, + "CreateChimeWebhookConfigurationResult":{ + "type":"structure", + "members":{ + "WebhookConfiguration":{"shape":"ChimeWebhookConfiguration"} + } + }, + "CreateSlackChannelConfigurationException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "CreateSlackChannelConfigurationRequest":{ + "type":"structure", + "required":[ + "SlackTeamId", + "SlackChannelId", + "IamRoleArn", + "ConfigurationName" + ], + "members":{ + "SlackTeamId":{"shape":"SlackTeamId"}, + "SlackChannelId":{"shape":"SlackChannelId"}, + "SlackChannelName":{"shape":"SlackChannelDisplayName"}, + "SnsTopicArns":{"shape":"SnsTopicArnList"}, + "IamRoleArn":{"shape":"Arn"}, + "ConfigurationName":{"shape":"ConfigurationName"}, + "LoggingLevel":{"shape":"CustomerCwLogLevel"}, + "GuardrailPolicyArns":{"shape":"GuardrailPolicyArnList"}, + "UserAuthorizationRequired":{"shape":"BooleanAccountPreference"} + } + }, + "CreateSlackChannelConfigurationResult":{ + "type":"structure", + "members":{ + "ChannelConfiguration":{"shape":"SlackChannelConfiguration"} + } + }, + "CreateTeamsChannelConfigurationException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "CreateTeamsChannelConfigurationRequest":{ + "type":"structure", + "required":[ + "ChannelId", + "TeamId", + "TenantId", + "IamRoleArn", + "ConfigurationName" + ], + "members":{ + "ChannelId":{"shape":"TeamsChannelId"}, + "ChannelName":{"shape":"TeamsChannelName"}, + "TeamId":{"shape":"UUID"}, + "TeamName":{"shape":"TeamName"}, + "TenantId":{"shape":"UUID"}, + "SnsTopicArns":{"shape":"SnsTopicArnList"}, + "IamRoleArn":{"shape":"Arn"}, + "ConfigurationName":{"shape":"ConfigurationName"}, + "LoggingLevel":{"shape":"CustomerCwLogLevel"}, + "GuardrailPolicyArns":{"shape":"GuardrailPolicyArnList"}, + "UserAuthorizationRequired":{"shape":"BooleanAccountPreference"} + } + }, + "CreateTeamsChannelConfigurationResult":{ + "type":"structure", + "members":{ + "ChannelConfiguration":{"shape":"TeamsChannelConfiguration"} + } + }, + "CustomerCwLogLevel":{ + "type":"string", + "max":5, + "min":4, + "pattern":"^(ERROR|INFO|NONE)$" + }, + "DeleteChimeWebhookConfigurationException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "DeleteChimeWebhookConfigurationRequest":{ + "type":"structure", + "required":["ChatConfigurationArn"], + "members":{ + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"} + } + }, + "DeleteChimeWebhookConfigurationResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteMicrosoftTeamsUserIdentityException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "DeleteMicrosoftTeamsUserIdentityRequest":{ + "type":"structure", + "required":[ + "ChatConfigurationArn", + "UserId" + ], + "members":{ + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"}, + "UserId":{"shape":"UUID"} + } + }, + "DeleteMicrosoftTeamsUserIdentityResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteSlackChannelConfigurationException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "DeleteSlackChannelConfigurationRequest":{ + "type":"structure", + "required":["ChatConfigurationArn"], + "members":{ + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"} + } + }, + "DeleteSlackChannelConfigurationResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteSlackUserIdentityException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "DeleteSlackUserIdentityRequest":{ + "type":"structure", + "required":[ + "ChatConfigurationArn", + "SlackTeamId", + "SlackUserId" + ], + "members":{ + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"}, + "SlackTeamId":{"shape":"SlackTeamId"}, + "SlackUserId":{"shape":"SlackUserId"} + } + }, + "DeleteSlackUserIdentityResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteSlackWorkspaceAuthorizationFault":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "DeleteSlackWorkspaceAuthorizationRequest":{ + "type":"structure", + "required":["SlackTeamId"], + "members":{ + "SlackTeamId":{"shape":"SlackTeamId"} + } + }, + "DeleteSlackWorkspaceAuthorizationResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteTeamsChannelConfigurationException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "DeleteTeamsChannelConfigurationRequest":{ + "type":"structure", + "required":["ChatConfigurationArn"], + "members":{ + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"} + } + }, + "DeleteTeamsChannelConfigurationResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteTeamsConfiguredTeamException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "DeleteTeamsConfiguredTeamRequest":{ + "type":"structure", + "required":["TeamId"], + "members":{ + "TeamId":{"shape":"UUID"} + } + }, + "DeleteTeamsConfiguredTeamResult":{ + "type":"structure", + "members":{ + } + }, + "DescribeChimeWebhookConfigurationsException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "DescribeChimeWebhookConfigurationsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "box":true + }, + "NextToken":{ + "shape":"PaginationToken", + "box":true + }, + "ChatConfigurationArn":{ + "shape":"ChatConfigurationArn", + "box":true + } + } + }, + "DescribeChimeWebhookConfigurationsResult":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "WebhookConfigurations":{"shape":"ChimeWebhookConfigurationList"} + } + }, + "DescribeSlackChannelConfigurationsException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "DescribeSlackChannelConfigurationsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "box":true + }, + "NextToken":{ + "shape":"PaginationToken", + "box":true + }, + "ChatConfigurationArn":{ + "shape":"ChatConfigurationArn", + "box":true + } + } + }, + "DescribeSlackChannelConfigurationsResult":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "SlackChannelConfigurations":{"shape":"SlackChannelConfigurationList"} + } + }, + "DescribeSlackUserIdentitiesException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "DescribeSlackUserIdentitiesRequest":{ + "type":"structure", + "members":{ + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"}, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "DescribeSlackUserIdentitiesResult":{ + "type":"structure", + "members":{ + "SlackUserIdentities":{"shape":"SlackUserIdentitiesList"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "DescribeSlackWorkspacesException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "DescribeSlackWorkspacesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "DescribeSlackWorkspacesResult":{ + "type":"structure", + "members":{ + "SlackWorkspaces":{"shape":"SlackWorkspacesList"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "GetAccountPreferencesException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "GetAccountPreferencesRequest":{ + "type":"structure", + "members":{ + } + }, + "GetAccountPreferencesResult":{ + "type":"structure", + "members":{ + "AccountPreferences":{"shape":"AccountPreferences"} + } + }, + "GetTeamsChannelConfigurationException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "GetTeamsChannelConfigurationRequest":{ + "type":"structure", + "required":["ChatConfigurationArn"], + "members":{ + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"} + } + }, + "GetTeamsChannelConfigurationResult":{ + "type":"structure", + "members":{ + "ChannelConfiguration":{"shape":"TeamsChannelConfiguration"} + } + }, + "GuardrailPolicyArn":{ + "type":"string", + "max":1163, + "min":11, + "pattern":"^(^$|(?!.*\\/aws-service-role\\/.*)arn:aws:iam:[A-Za-z0-9_\\/.-]{0,63}:[A-Za-z0-9_\\/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_\\/+=,@.-]{0,1023})$" + }, + "GuardrailPolicyArnList":{ + "type":"list", + "member":{"shape":"GuardrailPolicyArn"} + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":403}, + "exception":true + }, + "ListMicrosoftTeamsConfiguredTeamsException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "ListMicrosoftTeamsConfiguredTeamsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListMicrosoftTeamsConfiguredTeamsResult":{ + "type":"structure", + "members":{ + "ConfiguredTeams":{"shape":"ConfiguredTeamsList"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListMicrosoftTeamsUserIdentitiesException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "ListMicrosoftTeamsUserIdentitiesRequest":{ + "type":"structure", + "members":{ + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"}, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListMicrosoftTeamsUserIdentitiesResult":{ + "type":"structure", + "members":{ + "TeamsUserIdentities":{"shape":"TeamsUserIdentitiesList"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListTeamsChannelConfigurationsException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "ListTeamsChannelConfigurationsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "box":true + }, + "NextToken":{ + "shape":"PaginationToken", + "box":true + }, + "TeamId":{ + "shape":"UUID", + "box":true + } + } + }, + "ListTeamsChannelConfigurationsResult":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "TeamChannelConfigurations":{"shape":"TeamChannelConfigurationsList"} + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "PaginationToken":{ + "type":"string", + "max":1276, + "min":1, + "pattern":"^[a-zA-Z0-9=\\/+_.\\-,#:\\\\\"{}]{4,1276}$" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "SlackChannelConfiguration":{ + "type":"structure", + "required":[ + "SlackTeamName", + "SlackTeamId", + "SlackChannelId", + "SlackChannelName", + "ChatConfigurationArn", + "IamRoleArn", + "SnsTopicArns" + ], + "members":{ + "SlackTeamName":{"shape":"SlackTeamName"}, + "SlackTeamId":{"shape":"SlackTeamId"}, + "SlackChannelId":{"shape":"SlackChannelId"}, + "SlackChannelName":{"shape":"SlackChannelDisplayName"}, + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"}, + "IamRoleArn":{"shape":"Arn"}, + "SnsTopicArns":{ + "shape":"SnsTopicArnList", + "box":true + }, + "ConfigurationName":{"shape":"ConfigurationName"}, + "LoggingLevel":{"shape":"CustomerCwLogLevel"}, + "GuardrailPolicyArns":{"shape":"GuardrailPolicyArnList"}, + "UserAuthorizationRequired":{"shape":"BooleanAccountPreference"} + } + }, + "SlackChannelConfigurationList":{ + "type":"list", + "member":{"shape":"SlackChannelConfiguration"} + }, + "SlackChannelDisplayName":{ + "type":"string", + "max":255, + "min":1 + }, + "SlackChannelId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[A-Za-z0-9]+$" + }, + "SlackTeamId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[0-9A-Z]{1,255}$" + }, + "SlackTeamName":{ + "type":"string", + "max":255, + "min":1 + }, + "SlackUserId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^(.*)$" + }, + "SlackUserIdentitiesList":{ + "type":"list", + "member":{"shape":"SlackUserIdentity"} + }, + "SlackUserIdentity":{ + "type":"structure", + "required":[ + "IamRoleArn", + "ChatConfigurationArn", + "SlackTeamId", + "SlackUserId" + ], + "members":{ + "IamRoleArn":{"shape":"Arn"}, + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"}, + "SlackTeamId":{"shape":"SlackTeamId"}, + "SlackUserId":{"shape":"SlackUserId"}, + "AwsUserIdentity":{"shape":"AwsUserIdentity"} + } + }, + "SlackWorkspace":{ + "type":"structure", + "required":[ + "SlackTeamId", + "SlackTeamName" + ], + "members":{ + "SlackTeamId":{"shape":"SlackTeamId"}, + "SlackTeamName":{"shape":"SlackTeamName"} + } + }, + "SlackWorkspacesList":{ + "type":"list", + "member":{"shape":"SlackWorkspace"} + }, + "SnsTopicArnList":{ + "type":"list", + "member":{"shape":"Arn"} + }, + "String":{"type":"string"}, + "TeamChannelConfigurationsList":{ + "type":"list", + "member":{"shape":"TeamsChannelConfiguration"} + }, + "TeamName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^(.*)$" + }, + "TeamsChannelConfiguration":{ + "type":"structure", + "required":[ + "ChannelId", + "TeamId", + "TenantId", + "ChatConfigurationArn", + "IamRoleArn", + "SnsTopicArns" + ], + "members":{ + "ChannelId":{"shape":"TeamsChannelId"}, + "ChannelName":{"shape":"TeamsChannelName"}, + "TeamId":{"shape":"UUID"}, + "TeamName":{"shape":"String"}, + "TenantId":{"shape":"UUID"}, + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"}, + "IamRoleArn":{"shape":"Arn"}, + "SnsTopicArns":{ + "shape":"SnsTopicArnList", + "box":true + }, + "ConfigurationName":{"shape":"ConfigurationName"}, + "LoggingLevel":{"shape":"CustomerCwLogLevel"}, + "GuardrailPolicyArns":{"shape":"GuardrailPolicyArnList"}, + "UserAuthorizationRequired":{"shape":"BooleanAccountPreference"} + } + }, + "TeamsChannelId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^([a-zA-Z0-9-_=+\\/.,])*%3[aA]([a-zA-Z0-9-_=+\\/.,])*%40([a-zA-Z0-9-_=+\\/.,])*$" + }, + "TeamsChannelName":{ + "type":"string", + "max":1000, + "min":1, + "pattern":"^(.*)$" + }, + "TeamsUserIdentitiesList":{ + "type":"list", + "member":{"shape":"TeamsUserIdentity"} + }, + "TeamsUserIdentity":{ + "type":"structure", + "required":[ + "IamRoleArn", + "ChatConfigurationArn", + "TeamId" + ], + "members":{ + "IamRoleArn":{"shape":"Arn"}, + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"}, + "TeamId":{"shape":"UUID"}, + "UserId":{"shape":"UUID"}, + "AwsUserIdentity":{"shape":"AwsUserIdentity"}, + "TeamsChannelId":{"shape":"TeamsChannelId"}, + "TeamsTenantId":{"shape":"UUID"} + } + }, + "UUID":{ + "type":"string", + "max":36, + "min":36, + "pattern":"^[0-9A-Fa-f]{8}(?:-[0-9A-Fa-f]{4}){3}-[0-9A-Fa-f]{12}$" + }, + "UpdateAccountPreferencesException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "UpdateAccountPreferencesRequest":{ + "type":"structure", + "members":{ + "UserAuthorizationRequired":{"shape":"BooleanAccountPreference"}, + "TrainingDataCollectionEnabled":{"shape":"BooleanAccountPreference"} + } + }, + "UpdateAccountPreferencesResult":{ + "type":"structure", + "members":{ + "AccountPreferences":{"shape":"AccountPreferences"} + } + }, + "UpdateChimeWebhookConfigurationException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "UpdateChimeWebhookConfigurationRequest":{ + "type":"structure", + "required":["ChatConfigurationArn"], + "members":{ + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"}, + "WebhookDescription":{"shape":"ChimeWebhookDescription"}, + "WebhookUrl":{"shape":"ChimeWebhookUrl"}, + "SnsTopicArns":{"shape":"SnsTopicArnList"}, + "IamRoleArn":{"shape":"Arn"}, + "LoggingLevel":{"shape":"CustomerCwLogLevel"} + } + }, + "UpdateChimeWebhookConfigurationResult":{ + "type":"structure", + "members":{ + "WebhookConfiguration":{"shape":"ChimeWebhookConfiguration"} + } + }, + "UpdateSlackChannelConfigurationException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "UpdateSlackChannelConfigurationRequest":{ + "type":"structure", + "required":[ + "ChatConfigurationArn", + "SlackChannelId" + ], + "members":{ + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"}, + "SlackChannelId":{"shape":"SlackChannelId"}, + "SlackChannelName":{"shape":"SlackChannelDisplayName"}, + "SnsTopicArns":{"shape":"SnsTopicArnList"}, + "IamRoleArn":{"shape":"Arn"}, + "LoggingLevel":{"shape":"CustomerCwLogLevel"}, + "GuardrailPolicyArns":{"shape":"GuardrailPolicyArnList"}, + "UserAuthorizationRequired":{"shape":"BooleanAccountPreference"} + } + }, + "UpdateSlackChannelConfigurationResult":{ + "type":"structure", + "members":{ + "ChannelConfiguration":{"shape":"SlackChannelConfiguration"} + } + }, + "UpdateTeamsChannelConfigurationException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "UpdateTeamsChannelConfigurationRequest":{ + "type":"structure", + "required":[ + "ChatConfigurationArn", + "ChannelId" + ], + "members":{ + "ChatConfigurationArn":{"shape":"ChatConfigurationArn"}, + "ChannelId":{"shape":"TeamsChannelId"}, + "ChannelName":{"shape":"TeamsChannelName"}, + "SnsTopicArns":{"shape":"SnsTopicArnList"}, + "IamRoleArn":{"shape":"Arn"}, + "LoggingLevel":{"shape":"CustomerCwLogLevel"}, + "GuardrailPolicyArns":{"shape":"GuardrailPolicyArnList"}, + "UserAuthorizationRequired":{"shape":"BooleanAccountPreference"} + } + }, + "UpdateTeamsChannelConfigurationResult":{ + "type":"structure", + "members":{ + "ChannelConfiguration":{"shape":"TeamsChannelConfiguration"} + } + } + } +} diff --git a/models/apis/chatbot/2017-10-11/docs-2.json b/models/apis/chatbot/2017-10-11/docs-2.json new file mode 100644 index 00000000000..4da79ffc52a --- /dev/null +++ b/models/apis/chatbot/2017-10-11/docs-2.json @@ -0,0 +1,751 @@ +{ + "version": "2.0", + "service": "AWS Chatbot API", + "operations": { + "CreateChimeWebhookConfiguration": "Creates Chime Webhook Configuration", + "CreateMicrosoftTeamsChannelConfiguration": "Creates MS Teams Channel Configuration", + "CreateSlackChannelConfiguration": "Creates Slack Channel Configuration", + "DeleteChimeWebhookConfiguration": "Deletes a Chime Webhook Configuration", + "DeleteMicrosoftTeamsChannelConfiguration": "Deletes MS Teams Channel Configuration", + "DeleteMicrosoftTeamsConfiguredTeam": "Deletes the Microsoft Teams team authorization allowing for channels to be configured in that Microsoft Teams team. Note that the Microsoft Teams team must have no channels configured to remove it.", + "DeleteMicrosoftTeamsUserIdentity": "Deletes a Teams user identity", + "DeleteSlackChannelConfiguration": "Deletes Slack Channel Configuration", + "DeleteSlackUserIdentity": "Deletes a Slack user identity", + "DeleteSlackWorkspaceAuthorization": "Deletes the Slack workspace authorization that allows channels to be configured in that workspace. This requires all configured channels in the workspace to be deleted.", + "DescribeChimeWebhookConfigurations": "Lists Chime Webhook Configurations optionally filtered by ChatConfigurationArn", + "DescribeSlackChannelConfigurations": "Lists Slack Channel Configurations optionally filtered by ChatConfigurationArn", + "DescribeSlackUserIdentities": "Lists all Slack user identities with a mapped role.", + "DescribeSlackWorkspaces": "Lists all authorized Slack Workspaces for AWS Account", + "GetAccountPreferences": "Get Chatbot account level preferences", + "GetMicrosoftTeamsChannelConfiguration": "Get a single MS Teams Channel Configurations", + "ListMicrosoftTeamsChannelConfigurations": "Lists MS Teams Channel Configurations optionally filtered by TeamId", + "ListMicrosoftTeamsConfiguredTeams": "Lists all authorized MS teams for AWS Account", + "ListMicrosoftTeamsUserIdentities": "Lists all Microsoft Teams user identities with a mapped role.", + "UpdateAccountPreferences": "Update Chatbot account level preferences", + "UpdateChimeWebhookConfiguration": "Updates a Chime Webhook Configuration", + "UpdateMicrosoftTeamsChannelConfiguration": "Updates MS Teams Channel Configuration", + "UpdateSlackChannelConfiguration": "Updates Slack Channel Configuration" + }, + "shapes": { + "AccountPreferences": { + "base": "Preferences which apply for AWS Chatbot usage in the calling AWS account.", + "refs": { + "GetAccountPreferencesResult$AccountPreferences": "Preferences which apply for AWS Chatbot usage in the calling AWS account.", + "UpdateAccountPreferencesResult$AccountPreferences": "Preferences which apply for AWS Chatbot usage in the calling AWS account." + } + }, + "Arn": { + "base": null, + "refs": { + "ChimeWebhookConfiguration$IamRoleArn": "The ARN of the IAM role that defines the permissions for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see IAM Policies for AWS Chatbot.", + "CreateChimeWebhookConfigurationRequest$IamRoleArn": "This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see IAM Policies for AWS Chatbot.", + "CreateSlackChannelConfigurationRequest$IamRoleArn": "The ARN of the IAM role that defines the permissions for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see IAM Policies for AWS Chatbot.", + "CreateTeamsChannelConfigurationRequest$IamRoleArn": "The ARN of the IAM role that defines the permissions for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see IAM Policies for AWS Chatbot.", + "SlackChannelConfiguration$IamRoleArn": "The ARN of the IAM role that defines the permissions for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see IAM Policies for AWS Chatbot.", + "SlackUserIdentity$IamRoleArn": "The ARN of the IAM role that defines the permissions for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see IAM Policies for AWS Chatbot.", + "SnsTopicArnList$member": null, + "TeamsChannelConfiguration$IamRoleArn": "The ARN of the IAM role that defines the permissions for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see IAM Policies for AWS Chatbot.", + "TeamsUserIdentity$IamRoleArn": "The ARN of the IAM role that defines the permissions for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see IAM Policies for AWS Chatbot.", + "UpdateChimeWebhookConfigurationRequest$IamRoleArn": "The ARN of the IAM role that defines the permissions for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see IAM Policies for AWS Chatbot.", + "UpdateSlackChannelConfigurationRequest$IamRoleArn": "The ARN of the IAM role that defines the permissions for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see IAM Policies for AWS Chatbot.", + "UpdateTeamsChannelConfigurationRequest$IamRoleArn": "The ARN of the IAM role that defines the permissions for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see IAM Policies for AWS Chatbot." + } + }, + "AwsUserIdentity": { + "base": null, + "refs": { + "SlackUserIdentity$AwsUserIdentity": "The AWS user identity ARN used to associate a Slack User Identity with an IAM Role.", + "TeamsUserIdentity$AwsUserIdentity": "The AWS user identity ARN used to associate a Microsoft Teams User Identity with an IAM Role." + } + }, + "BooleanAccountPreference": { + "base": null, + "refs": { + "AccountPreferences$UserAuthorizationRequired": "Enables use of a user role requirement in your chat configuration.", + "AccountPreferences$TrainingDataCollectionEnabled": "Turns on training data collection. This helps improve the AWS Chatbot experience by allowing AWS Chatbot to store and use your customer information, such as AWS Chatbot configurations, notifications, user inputs, AWS Chatbot generated responses, and interaction data. This data helps us to continuously improve and develop Artificial Intelligence (AI) technologies. Your data is not shared with any third parties and is protected using sophisticated controls to prevent unauthorized access and misuse. AWS Chatbot does not store or use interactions in chat channels with Amazon Q for training AWS Chatbot’s AI technologies.", + "CreateSlackChannelConfigurationRequest$UserAuthorizationRequired": "Enables use of a user role requirement in your chat configuration.", + "CreateTeamsChannelConfigurationRequest$UserAuthorizationRequired": "Enables use of a user role requirement in your chat configuration.", + "SlackChannelConfiguration$UserAuthorizationRequired": "Enables use of a user role requirement in your chat configuration.", + "TeamsChannelConfiguration$UserAuthorizationRequired": "Enables use of a user role requirement in your chat configuration.", + "UpdateAccountPreferencesRequest$UserAuthorizationRequired": "Enables use of a user role requirement in your chat configuration.", + "UpdateAccountPreferencesRequest$TrainingDataCollectionEnabled": "Turns on training data collection. This helps improve the AWS Chatbot experience by allowing AWS Chatbot to store and use your customer information, such as AWS Chatbot configurations, notifications, user inputs, AWS Chatbot generated responses, and interaction data. This data helps us to continuously improve and develop Artificial Intelligence (AI) technologies. Your data is not shared with any third parties and is protected using sophisticated controls to prevent unauthorized access and misuse. AWS Chatbot does not store or use interactions in chat channels with Amazon Q for training AWS Chatbot’s AI technologies.", + "UpdateSlackChannelConfigurationRequest$UserAuthorizationRequired": "Enables use of a user role requirement in your chat configuration.", + "UpdateTeamsChannelConfigurationRequest$UserAuthorizationRequired": "Enables use of a user role requirement in your chat configuration." + } + }, + "ChatConfigurationArn": { + "base": null, + "refs": { + "ChimeWebhookConfiguration$ChatConfigurationArn": "The ARN of the ChimeWebhookConfiguration.", + "DeleteChimeWebhookConfigurationRequest$ChatConfigurationArn": "The ARN of the ChimeWebhookConfiguration to delete.", + "DeleteMicrosoftTeamsUserIdentityRequest$ChatConfigurationArn": "The ARN of the MicrosoftTeamsChannelConfiguration associated with the user identity to delete.", + "DeleteSlackChannelConfigurationRequest$ChatConfigurationArn": "The ARN of the SlackChannelConfiguration to delete.", + "DeleteSlackUserIdentityRequest$ChatConfigurationArn": "The ARN of the SlackChannelConfiguration associated with the user identity to delete.", + "DeleteTeamsChannelConfigurationRequest$ChatConfigurationArn": "The ARN of the MicrosoftTeamsChannelConfiguration to delete.", + "DescribeChimeWebhookConfigurationsRequest$ChatConfigurationArn": "An optional ARN of a ChimeWebhookConfiguration to describe.", + "DescribeSlackChannelConfigurationsRequest$ChatConfigurationArn": "An optional ARN of a SlackChannelConfiguration to describe.", + "DescribeSlackUserIdentitiesRequest$ChatConfigurationArn": "The ARN of the SlackChannelConfiguration associated with the user identities to describe.", + "GetTeamsChannelConfigurationRequest$ChatConfigurationArn": "The ARN of the MicrosoftTeamsChannelConfiguration to retrieve.", + "ListMicrosoftTeamsUserIdentitiesRequest$ChatConfigurationArn": "The ARN of the MicrosoftTeamsChannelConfiguration associated with the user identities to list.", + "SlackChannelConfiguration$ChatConfigurationArn": "The ARN of the SlackChannelConfiguration.", + "SlackUserIdentity$ChatConfigurationArn": "The ARN of the SlackChannelConfiguration associated with the user identity.", + "TeamsChannelConfiguration$ChatConfigurationArn": "The ARN of the MicrosoftTeamsChannelConfiguration.", + "TeamsUserIdentity$ChatConfigurationArn": "The ARN of the MicrosoftTeamsChannelConfiguration associated with the user identity.", + "UpdateChimeWebhookConfigurationRequest$ChatConfigurationArn": "The ARN of the ChimeWebhookConfiguration to update.", + "UpdateSlackChannelConfigurationRequest$ChatConfigurationArn": "The ARN of the SlackChannelConfiguration to update.", + "UpdateTeamsChannelConfigurationRequest$ChatConfigurationArn": "The ARN of the MicrosoftTeamsChannelConfiguration to update." + } + }, + "ChimeWebhookConfiguration": { + "base": "An AWS Chatbot configuration for Amazon Chime.", + "refs": { + "ChimeWebhookConfigurationList$member": null, + "CreateChimeWebhookConfigurationResult$WebhookConfiguration": "Chime webhook configuration.", + "UpdateChimeWebhookConfigurationResult$WebhookConfiguration": "Chime webhook configuration." + } + }, + "ChimeWebhookConfigurationList": { + "base": null, + "refs": { + "DescribeChimeWebhookConfigurationsResult$WebhookConfigurations": "A list of Chime webhooks associated with the account." + } + }, + "ChimeWebhookDescription": { + "base": null, + "refs": { + "ChimeWebhookConfiguration$WebhookDescription": "Description of the webhook. Recommend using the convention `RoomName/WebhookName`. See Chime setup tutorial for more details: https://docs.aws.amazon.com/chatbot/latest/adminguide/chime-setup.html.", + "CreateChimeWebhookConfigurationRequest$WebhookDescription": "Description of the webhook. Recommend using the convention `RoomName/WebhookName`. See Chime setup tutorial for more details: https://docs.aws.amazon.com/chatbot/latest/adminguide/chime-setup.html.", + "UpdateChimeWebhookConfigurationRequest$WebhookDescription": "Description of the webhook. Recommend using the convention `RoomName/WebhookName`. See Chime setup tutorial for more details: https://docs.aws.amazon.com/chatbot/latest/adminguide/chime-setup.html." + } + }, + "ChimeWebhookUrl": { + "base": null, + "refs": { + "CreateChimeWebhookConfigurationRequest$WebhookUrl": "URL for the Chime webhook.", + "UpdateChimeWebhookConfigurationRequest$WebhookUrl": "URL for the Chime webhook." + } + }, + "ConfigurationName": { + "base": null, + "refs": { + "ChimeWebhookConfiguration$ConfigurationName": "The name of the configuration.", + "CreateChimeWebhookConfigurationRequest$ConfigurationName": "The name of the configuration.", + "CreateSlackChannelConfigurationRequest$ConfigurationName": "The name of the configuration.", + "CreateTeamsChannelConfigurationRequest$ConfigurationName": "The name of the configuration.", + "SlackChannelConfiguration$ConfigurationName": "The name of the configuration.", + "TeamsChannelConfiguration$ConfigurationName": "The name of the configuration." + } + }, + "ConfiguredTeam": { + "base": "A Microsoft Teams team that has been authorized with AWS Chatbot.", + "refs": { + "ConfiguredTeamsList$member": null + } + }, + "ConfiguredTeamsList": { + "base": null, + "refs": { + "ListMicrosoftTeamsConfiguredTeamsResult$ConfiguredTeams": "A list of teams in Microsoft Teams that have been configured with AWS Chatbot." + } + }, + "ConflictException": { + "base": "There was an issue processing your request.", + "refs": { + } + }, + "CreateChimeWebhookConfigurationException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "CreateChimeWebhookConfigurationRequest": { + "base": null, + "refs": { + } + }, + "CreateChimeWebhookConfigurationResult": { + "base": null, + "refs": { + } + }, + "CreateSlackChannelConfigurationException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "CreateSlackChannelConfigurationRequest": { + "base": null, + "refs": { + } + }, + "CreateSlackChannelConfigurationResult": { + "base": null, + "refs": { + } + }, + "CreateTeamsChannelConfigurationException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "CreateTeamsChannelConfigurationRequest": { + "base": null, + "refs": { + } + }, + "CreateTeamsChannelConfigurationResult": { + "base": null, + "refs": { + } + }, + "CustomerCwLogLevel": { + "base": null, + "refs": { + "ChimeWebhookConfiguration$LoggingLevel": "Specifies the logging level for this configuration. This property affects the log entries pushed to Amazon CloudWatch Logs.Logging levels include ERROR, INFO, or NONE.", + "CreateChimeWebhookConfigurationRequest$LoggingLevel": "Logging levels include ERROR, INFO, or NONE.", + "CreateSlackChannelConfigurationRequest$LoggingLevel": "Logging levels include ERROR, INFO, or NONE.", + "CreateTeamsChannelConfigurationRequest$LoggingLevel": "Logging levels include ERROR, INFO, or NONE.", + "SlackChannelConfiguration$LoggingLevel": "Logging levels include ERROR, INFO, or NONE.", + "TeamsChannelConfiguration$LoggingLevel": "Logging levels include ERROR, INFO, or NONE.", + "UpdateChimeWebhookConfigurationRequest$LoggingLevel": "Logging levels include ERROR, INFO, or NONE.", + "UpdateSlackChannelConfigurationRequest$LoggingLevel": "Logging levels include ERROR, INFO, or NONE.", + "UpdateTeamsChannelConfigurationRequest$LoggingLevel": "Logging levels include ERROR, INFO, or NONE." + } + }, + "DeleteChimeWebhookConfigurationException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "DeleteChimeWebhookConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteChimeWebhookConfigurationResult": { + "base": null, + "refs": { + } + }, + "DeleteMicrosoftTeamsUserIdentityException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "DeleteMicrosoftTeamsUserIdentityRequest": { + "base": null, + "refs": { + } + }, + "DeleteMicrosoftTeamsUserIdentityResult": { + "base": null, + "refs": { + } + }, + "DeleteSlackChannelConfigurationException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "DeleteSlackChannelConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteSlackChannelConfigurationResult": { + "base": null, + "refs": { + } + }, + "DeleteSlackUserIdentityException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "DeleteSlackUserIdentityRequest": { + "base": null, + "refs": { + } + }, + "DeleteSlackUserIdentityResult": { + "base": null, + "refs": { + } + }, + "DeleteSlackWorkspaceAuthorizationFault": { + "base": "There was an issue deleting your Slack workspace.", + "refs": { + } + }, + "DeleteSlackWorkspaceAuthorizationRequest": { + "base": null, + "refs": { + } + }, + "DeleteSlackWorkspaceAuthorizationResult": { + "base": null, + "refs": { + } + }, + "DeleteTeamsChannelConfigurationException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "DeleteTeamsChannelConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteTeamsChannelConfigurationResult": { + "base": null, + "refs": { + } + }, + "DeleteTeamsConfiguredTeamException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "DeleteTeamsConfiguredTeamRequest": { + "base": null, + "refs": { + } + }, + "DeleteTeamsConfiguredTeamResult": { + "base": null, + "refs": { + } + }, + "DescribeChimeWebhookConfigurationsException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "DescribeChimeWebhookConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "DescribeChimeWebhookConfigurationsResult": { + "base": null, + "refs": { + } + }, + "DescribeSlackChannelConfigurationsException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "DescribeSlackChannelConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "DescribeSlackChannelConfigurationsResult": { + "base": null, + "refs": { + } + }, + "DescribeSlackUserIdentitiesException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "DescribeSlackUserIdentitiesRequest": { + "base": null, + "refs": { + } + }, + "DescribeSlackUserIdentitiesResult": { + "base": null, + "refs": { + } + }, + "DescribeSlackWorkspacesException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "DescribeSlackWorkspacesRequest": { + "base": null, + "refs": { + } + }, + "DescribeSlackWorkspacesResult": { + "base": null, + "refs": { + } + }, + "GetAccountPreferencesException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "GetAccountPreferencesRequest": { + "base": null, + "refs": { + } + }, + "GetAccountPreferencesResult": { + "base": null, + "refs": { + } + }, + "GetTeamsChannelConfigurationException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "GetTeamsChannelConfigurationRequest": { + "base": null, + "refs": { + } + }, + "GetTeamsChannelConfigurationResult": { + "base": null, + "refs": { + } + }, + "GuardrailPolicyArn": { + "base": null, + "refs": { + "GuardrailPolicyArnList$member": null + } + }, + "GuardrailPolicyArnList": { + "base": null, + "refs": { + "CreateSlackChannelConfigurationRequest$GuardrailPolicyArns": "The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied by default if this is not set.", + "CreateTeamsChannelConfigurationRequest$GuardrailPolicyArns": "The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied by default if this is not set.", + "SlackChannelConfiguration$GuardrailPolicyArns": "The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied by default if this is not set.", + "TeamsChannelConfiguration$GuardrailPolicyArns": "The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied by default if this is not set.", + "UpdateSlackChannelConfigurationRequest$GuardrailPolicyArns": "The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied by default if this is not set.", + "UpdateTeamsChannelConfigurationRequest$GuardrailPolicyArns": "The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied by default if this is not set." + } + }, + "InvalidParameterException": { + "base": "Your request input doesn't meet the constraints that AWS Chatbot requires.", + "refs": { + } + }, + "InvalidRequestException": { + "base": "Your request input doesn't meet the constraints that AWS Chatbot requires.", + "refs": { + } + }, + "LimitExceededException": { + "base": "You have exceeded a service limit for AWS Chatbot.", + "refs": { + } + }, + "ListMicrosoftTeamsConfiguredTeamsException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "ListMicrosoftTeamsConfiguredTeamsRequest": { + "base": null, + "refs": { + } + }, + "ListMicrosoftTeamsConfiguredTeamsResult": { + "base": null, + "refs": { + } + }, + "ListMicrosoftTeamsUserIdentitiesException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "ListMicrosoftTeamsUserIdentitiesRequest": { + "base": null, + "refs": { + } + }, + "ListMicrosoftTeamsUserIdentitiesResult": { + "base": null, + "refs": { + } + }, + "ListTeamsChannelConfigurationsException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "ListTeamsChannelConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "ListTeamsChannelConfigurationsResult": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "DescribeChimeWebhookConfigurationsRequest$MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.", + "DescribeSlackChannelConfigurationsRequest$MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.", + "DescribeSlackUserIdentitiesRequest$MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.", + "DescribeSlackWorkspacesRequest$MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.", + "ListMicrosoftTeamsConfiguredTeamsRequest$MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.", + "ListMicrosoftTeamsUserIdentitiesRequest$MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.", + "ListTeamsChannelConfigurationsRequest$MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved." + } + }, + "PaginationToken": { + "base": null, + "refs": { + "DescribeChimeWebhookConfigurationsRequest$NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "DescribeChimeWebhookConfigurationsResult$NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "DescribeSlackChannelConfigurationsRequest$NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "DescribeSlackChannelConfigurationsResult$NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "DescribeSlackUserIdentitiesRequest$NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "DescribeSlackUserIdentitiesResult$NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "DescribeSlackWorkspacesRequest$NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "DescribeSlackWorkspacesResult$NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "ListMicrosoftTeamsConfiguredTeamsRequest$NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "ListMicrosoftTeamsConfiguredTeamsResult$NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "ListMicrosoftTeamsUserIdentitiesRequest$NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "ListMicrosoftTeamsUserIdentitiesResult$NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "ListTeamsChannelConfigurationsRequest$NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "ListTeamsChannelConfigurationsResult$NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults." + } + }, + "ResourceNotFoundException": { + "base": "We were not able to find the resource for your request.", + "refs": { + } + }, + "SlackChannelConfiguration": { + "base": "An AWS Chatbot configuration for Slack.", + "refs": { + "CreateSlackChannelConfigurationResult$ChannelConfiguration": "The configuration for a Slack channel configured with AWS Chatbot.", + "SlackChannelConfigurationList$member": null, + "UpdateSlackChannelConfigurationResult$ChannelConfiguration": "The configuration for a Slack channel configured with AWS Chatbot." + } + }, + "SlackChannelConfigurationList": { + "base": null, + "refs": { + "DescribeSlackChannelConfigurationsResult$SlackChannelConfigurations": "A list of Slack channel configurations." + } + }, + "SlackChannelDisplayName": { + "base": null, + "refs": { + "CreateSlackChannelConfigurationRequest$SlackChannelName": "The name of the Slack Channel.", + "SlackChannelConfiguration$SlackChannelName": "The name of the Slack Channel.", + "UpdateSlackChannelConfigurationRequest$SlackChannelName": "The name of the Slack Channel." + } + }, + "SlackChannelId": { + "base": null, + "refs": { + "CreateSlackChannelConfigurationRequest$SlackChannelId": "The ID of the Slack channel. To get the ID, open Slack, right click on the channel name in the left pane, then choose Copy Link. The channel ID is the 9-character string at the end of the URL. For example, ABCBBLZZZ.", + "SlackChannelConfiguration$SlackChannelId": "The ID of the Slack channel. To get the ID, open Slack, right click on the channel name in the left pane, then choose Copy Link. The channel ID is the 9-character string at the end of the URL. For example, ABCBBLZZZ.", + "UpdateSlackChannelConfigurationRequest$SlackChannelId": "The ID of the Slack channel. To get the ID, open Slack, right click on the channel name in the left pane, then choose Copy Link. The channel ID is the 9-character string at the end of the URL. For example, ABCBBLZZZ." + } + }, + "SlackTeamId": { + "base": null, + "refs": { + "CreateSlackChannelConfigurationRequest$SlackTeamId": "The ID of the Slack workspace authorized with AWS Chatbot.", + "DeleteSlackUserIdentityRequest$SlackTeamId": "The ID of the Slack workspace authorized with AWS Chatbot.", + "DeleteSlackWorkspaceAuthorizationRequest$SlackTeamId": "The ID of the Slack workspace authorized with AWS Chatbot.", + "SlackChannelConfiguration$SlackTeamId": "The ID of the Slack workspace authorized with AWS Chatbot.", + "SlackUserIdentity$SlackTeamId": "The ID of the Slack workspace authorized with AWS Chatbot.", + "SlackWorkspace$SlackTeamId": "The ID of the Slack workspace authorized with AWS Chatbot." + } + }, + "SlackTeamName": { + "base": null, + "refs": { + "SlackChannelConfiguration$SlackTeamName": "Name of the Slack Workspace.", + "SlackWorkspace$SlackTeamName": "Name of the Slack Workspace." + } + }, + "SlackUserId": { + "base": null, + "refs": { + "DeleteSlackUserIdentityRequest$SlackUserId": "The ID of the user in Slack.", + "SlackUserIdentity$SlackUserId": "The ID of the user in Slack." + } + }, + "SlackUserIdentitiesList": { + "base": null, + "refs": { + "DescribeSlackUserIdentitiesResult$SlackUserIdentities": "A list of Slack User Identities." + } + }, + "SlackUserIdentity": { + "base": "Identifes a User level permission for a channel configuration.", + "refs": { + "SlackUserIdentitiesList$member": null + } + }, + "SlackWorkspace": { + "base": "A Slack Workspace.", + "refs": { + "SlackWorkspacesList$member": null + } + }, + "SlackWorkspacesList": { + "base": null, + "refs": { + "DescribeSlackWorkspacesResult$SlackWorkspaces": "A list of Slack Workspaces registered with AWS Chatbot." + } + }, + "SnsTopicArnList": { + "base": null, + "refs": { + "ChimeWebhookConfiguration$SnsTopicArns": "The ARNs of the SNS topics that deliver notifications to AWS Chatbot.", + "CreateChimeWebhookConfigurationRequest$SnsTopicArns": "The ARNs of the SNS topics that deliver notifications to AWS Chatbot.", + "CreateSlackChannelConfigurationRequest$SnsTopicArns": "The ARNs of the SNS topics that deliver notifications to AWS Chatbot.", + "CreateTeamsChannelConfigurationRequest$SnsTopicArns": "The ARNs of the SNS topics that deliver notifications to AWS Chatbot.", + "SlackChannelConfiguration$SnsTopicArns": "The ARNs of the SNS topics that deliver notifications to AWS Chatbot.", + "TeamsChannelConfiguration$SnsTopicArns": "The ARNs of the SNS topics that deliver notifications to AWS Chatbot.", + "UpdateChimeWebhookConfigurationRequest$SnsTopicArns": "The ARNs of the SNS topics that deliver notifications to AWS Chatbot.", + "UpdateSlackChannelConfigurationRequest$SnsTopicArns": "The ARNs of the SNS topics that deliver notifications to AWS Chatbot.", + "UpdateTeamsChannelConfigurationRequest$SnsTopicArns": "The ARNs of the SNS topics that deliver notifications to AWS Chatbot." + } + }, + "String": { + "base": null, + "refs": { + "TeamsChannelConfiguration$TeamName": "The name of the Microsoft Teams Team." + } + }, + "TeamChannelConfigurationsList": { + "base": null, + "refs": { + "ListTeamsChannelConfigurationsResult$TeamChannelConfigurations": "A list of AWS Chatbot channel configurations for Microsoft Teams." + } + }, + "TeamName": { + "base": null, + "refs": { + "CreateTeamsChannelConfigurationRequest$TeamName": "The name of the Microsoft Teams Team." + } + }, + "TeamsChannelConfiguration": { + "base": "An AWS Chatbot configuration for Microsoft Teams.", + "refs": { + "CreateTeamsChannelConfigurationResult$ChannelConfiguration": "The configuration for a Microsoft Teams channel configured with AWS Chatbot.", + "GetTeamsChannelConfigurationResult$ChannelConfiguration": "The configuration for a Microsoft Teams channel configured with AWS Chatbot.", + "TeamChannelConfigurationsList$member": null, + "UpdateTeamsChannelConfigurationResult$ChannelConfiguration": "The configuration for a Microsoft Teams channel configured with AWS Chatbot." + } + }, + "TeamsChannelId": { + "base": null, + "refs": { + "CreateTeamsChannelConfigurationRequest$ChannelId": "The ID of the Microsoft Teams channel.", + "TeamsChannelConfiguration$ChannelId": "The ID of the Microsoft Teams channel.", + "TeamsUserIdentity$TeamsChannelId": "The ID of the Microsoft Teams channel.", + "UpdateTeamsChannelConfigurationRequest$ChannelId": "The ID of the Microsoft Teams channel." + } + }, + "TeamsChannelName": { + "base": null, + "refs": { + "CreateTeamsChannelConfigurationRequest$ChannelName": "The name of the Microsoft Teams channel.", + "TeamsChannelConfiguration$ChannelName": "The name of the Microsoft Teams channel.", + "UpdateTeamsChannelConfigurationRequest$ChannelName": "The name of the Microsoft Teams channel." + } + }, + "TeamsUserIdentitiesList": { + "base": null, + "refs": { + "ListMicrosoftTeamsUserIdentitiesResult$TeamsUserIdentities": "User level permissions associated to a channel configuration." + } + }, + "TeamsUserIdentity": { + "base": "Identifes a user level permission for a channel configuration.", + "refs": { + "TeamsUserIdentitiesList$member": null + } + }, + "UUID": { + "base": null, + "refs": { + "ConfiguredTeam$TenantId": "The ID of the Microsoft Teams tenant.", + "ConfiguredTeam$TeamId": "The ID of the Microsoft Team authorized with AWS Chatbot. To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more details, see steps 1-4 in Get started with Microsoft Teams in the AWS Chatbot Administrator Guide.", + "ConfiguredTeam$TeamName": "The name of the Microsoft Teams Team.", + "CreateTeamsChannelConfigurationRequest$TeamId": "The ID of the Microsoft Team authorized with AWS Chatbot. To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more details, see steps 1-4 in Get started with Microsoft Teams in the AWS Chatbot Administrator Guide.", + "CreateTeamsChannelConfigurationRequest$TenantId": "The ID of the Microsoft Teams tenant.", + "DeleteMicrosoftTeamsUserIdentityRequest$UserId": "Id from Microsoft Teams for user.", + "DeleteTeamsConfiguredTeamRequest$TeamId": "The ID of the Microsoft Team authorized with AWS Chatbot. To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more details, see steps 1-4 in Get started with Microsoft Teams in the AWS Chatbot Administrator Guide.", + "ListTeamsChannelConfigurationsRequest$TeamId": "The ID of the Microsoft Team authorized with AWS Chatbot. To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more details, see steps 1-4 in Get started with Microsoft Teams in the AWS Chatbot Administrator Guide.", + "TeamsChannelConfiguration$TeamId": "The ID of the Microsoft Team authorized with AWS Chatbot. To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more details, see steps 1-4 in Get started with Microsoft Teams in the AWS Chatbot Administrator Guide.", + "TeamsChannelConfiguration$TenantId": "The ID of the Microsoft Teams tenant.", + "TeamsUserIdentity$TeamId": "The ID of the Microsoft Team authorized with AWS Chatbot. To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more details, see steps 1-4 in Get started with Microsoft Teams in the AWS Chatbot Administrator Guide.", + "TeamsUserIdentity$UserId": "Id from Microsoft Teams for user.", + "TeamsUserIdentity$TeamsTenantId": "The ID of the Microsoft Teams tenant." + } + }, + "UpdateAccountPreferencesException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "UpdateAccountPreferencesRequest": { + "base": null, + "refs": { + } + }, + "UpdateAccountPreferencesResult": { + "base": null, + "refs": { + } + }, + "UpdateChimeWebhookConfigurationException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "UpdateChimeWebhookConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateChimeWebhookConfigurationResult": { + "base": null, + "refs": { + } + }, + "UpdateSlackChannelConfigurationException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "UpdateSlackChannelConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateSlackChannelConfigurationResult": { + "base": null, + "refs": { + } + }, + "UpdateTeamsChannelConfigurationException": { + "base": "We can’t process your request right now because of a server issue. Try again later.", + "refs": { + } + }, + "UpdateTeamsChannelConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateTeamsChannelConfigurationResult": { + "base": null, + "refs": { + } + } + } +} diff --git a/models/apis/chatbot/2017-10-11/endpoint-rule-set-1.json b/models/apis/chatbot/2017-10-11/endpoint-rule-set-1.json new file mode 100644 index 00000000000..f07ab7b86d6 --- /dev/null +++ b/models/apis/chatbot/2017-10-11/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://chatbot-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://chatbot-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://chatbot.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://chatbot.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/models/apis/chatbot/2017-10-11/endpoint-tests-1.json b/models/apis/chatbot/2017-10-11/endpoint-tests-1.json new file mode 100644 index 00000000000..3a4c6b7af04 --- /dev/null +++ b/models/apis/chatbot/2017-10-11/endpoint-tests-1.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://chatbot-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://chatbot-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://chatbot.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://chatbot.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://chatbot-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://chatbot-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://chatbot.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://chatbot.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://chatbot-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://chatbot-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://chatbot.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://chatbot.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://chatbot-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://chatbot.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://chatbot-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://chatbot.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/chatbot/2017-10-11/examples-1.json b/models/apis/chatbot/2017-10-11/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/chatbot/2017-10-11/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/chatbot/2017-10-11/paginators-1.json b/models/apis/chatbot/2017-10-11/paginators-1.json new file mode 100644 index 00000000000..6615c513c11 --- /dev/null +++ b/models/apis/chatbot/2017-10-11/paginators-1.json @@ -0,0 +1,39 @@ +{ + "pagination": { + "DescribeChimeWebhookConfigurations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "DescribeSlackChannelConfigurations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "DescribeSlackUserIdentities": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "DescribeSlackWorkspaces": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListMicrosoftTeamsChannelConfigurations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListMicrosoftTeamsConfiguredTeams": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListMicrosoftTeamsUserIdentities": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff --git a/models/apis/config/2014-11-12/docs-2.json b/models/apis/config/2014-11-12/docs-2.json index abae35d892b..0de87a172ab 100644 --- a/models/apis/config/2014-11-12/docs-2.json +++ b/models/apis/config/2014-11-12/docs-2.json @@ -37,9 +37,9 @@ "DescribeDeliveryChannelStatus": "

Returns the current status of the specified delivery channel. If a delivery channel is not specified, this action returns the current status of all delivery channels associated with the account.

Currently, you can specify only one delivery channel per region in your account.

", "DescribeDeliveryChannels": "

Returns details about the specified delivery channel. If a delivery channel is not specified, this action returns the details of all delivery channels associated with the account.

Currently, you can specify only one delivery channel per region in your account.

", "DescribeOrganizationConfigRuleStatuses": "

Provides organization Config rule deployment status for an organization.

The status is not considered successful until organization Config rule is successfully deployed in all the member accounts with an exception of excluded accounts.

When you specify the limit and the next token, you receive a paginated response. Limit and next token are not applicable if you specify organization Config rule names. It is only applicable, when you request all the organization Config rules.

", - "DescribeOrganizationConfigRules": "

Returns a list of organization Config rules.

When you specify the limit and the next token, you receive a paginated response.

Limit and next token are not applicable if you specify organization Config rule names. It is only applicable, when you request all the organization Config rules.

For accounts within an organzation

If you deploy an organizational rule or conformance pack in an organization administrator account, and then establish a delegated administrator and deploy an organizational rule or conformance pack in the delegated administrator account, you won't be able to see the organizational rule or conformance pack in the organization administrator account from the delegated administrator account or see the organizational rule or conformance pack in the delegated administrator account from organization administrator account. The DescribeOrganizationConfigRules and DescribeOrganizationConformancePacks APIs can only see and interact with the organization-related resource that were deployed from within the account calling those APIs.

", + "DescribeOrganizationConfigRules": "

Returns a list of organization Config rules.

When you specify the limit and the next token, you receive a paginated response.

Limit and next token are not applicable if you specify organization Config rule names. It is only applicable, when you request all the organization Config rules.

For accounts within an organization

If you deploy an organizational rule or conformance pack in an organization administrator account, and then establish a delegated administrator and deploy an organizational rule or conformance pack in the delegated administrator account, you won't be able to see the organizational rule or conformance pack in the organization administrator account from the delegated administrator account or see the organizational rule or conformance pack in the delegated administrator account from organization administrator account. The DescribeOrganizationConfigRules and DescribeOrganizationConformancePacks APIs can only see and interact with the organization-related resource that were deployed from within the account calling those APIs.

", "DescribeOrganizationConformancePackStatuses": "

Provides organization conformance pack deployment status for an organization.

The status is not considered successful until organization conformance pack is successfully deployed in all the member accounts with an exception of excluded accounts.

When you specify the limit and the next token, you receive a paginated response. Limit and next token are not applicable if you specify organization conformance pack names. They are only applicable, when you request all the organization conformance packs.

", - "DescribeOrganizationConformancePacks": "

Returns a list of organization conformance packs.

When you specify the limit and the next token, you receive a paginated response.

Limit and next token are not applicable if you specify organization conformance packs names. They are only applicable, when you request all the organization conformance packs.

For accounts within an organzation

If you deploy an organizational rule or conformance pack in an organization administrator account, and then establish a delegated administrator and deploy an organizational rule or conformance pack in the delegated administrator account, you won't be able to see the organizational rule or conformance pack in the organization administrator account from the delegated administrator account or see the organizational rule or conformance pack in the delegated administrator account from organization administrator account. The DescribeOrganizationConfigRules and DescribeOrganizationConformancePacks APIs can only see and interact with the organization-related resource that were deployed from within the account calling those APIs.

", + "DescribeOrganizationConformancePacks": "

Returns a list of organization conformance packs.

When you specify the limit and the next token, you receive a paginated response.

Limit and next token are not applicable if you specify organization conformance packs names. They are only applicable, when you request all the organization conformance packs.

For accounts within an organization

If you deploy an organizational rule or conformance pack in an organization administrator account, and then establish a delegated administrator and deploy an organizational rule or conformance pack in the delegated administrator account, you won't be able to see the organizational rule or conformance pack in the organization administrator account from the delegated administrator account or see the organizational rule or conformance pack in the delegated administrator account from organization administrator account. The DescribeOrganizationConfigRules and DescribeOrganizationConformancePacks APIs can only see and interact with the organization-related resource that were deployed from within the account calling those APIs.

", "DescribePendingAggregationRequests": "

Returns a list of all pending aggregation requests.

", "DescribeRemediationConfigurations": "

Returns the details of one or more remediation configurations.

", "DescribeRemediationExceptions": "

Returns the details of one or more remediation exceptions. A detailed view of a remediation exception for a set of resources that includes an explanation of an exception and the time when the exception will be deleted. When you specify the limit and the next token, you receive a paginated response.

Config generates a remediation exception when a problem occurs executing a remediation action to a specific resource. Remediation exceptions blocks auto-remediation until the exception is cleared.

When you specify the limit and the next token, you receive a paginated response.

Limit and next token are not applicable if you request resources in batch. It is only applicable, when you request all resources.

", @@ -80,8 +80,8 @@ "PutExternalEvaluation": "

Add or updates the evaluations for process checks. This API checks if the rule is a process check when the name of the Config rule is provided.

", "PutOrganizationConfigRule": "

Adds or updates an Config rule for your entire organization to evaluate if your Amazon Web Services resources comply with your desired configurations. For information on how many organization Config rules you can have per account, see Service Limits in the Config Developer Guide.

Only a management account and a delegated administrator can create or update an organization Config rule. When calling this API with a delegated administrator, you must ensure Organizations ListDelegatedAdministrator permissions are added. An organization can have up to 3 delegated administrators.

This API enables organization service access through the EnableAWSServiceAccess action and creates a service-linked role AWSServiceRoleForConfigMultiAccountSetup in the management or delegated administrator account of your organization. The service-linked role is created only when the role does not exist in the caller account. Config verifies the existence of role with GetRole action.

To use this API with delegated administrator, register a delegated administrator by calling Amazon Web Services Organization register-delegated-administrator for config-multiaccountsetup.amazonaws.com.

There are two types of rules: Config Managed Rules and Config Custom Rules. You can use PutOrganizationConfigRule to create both Config Managed Rules and Config Custom Rules.

Config Managed Rules are predefined, customizable rules created by Config. For a list of managed rules, see List of Config Managed Rules. If you are adding an Config managed rule, you must specify the rule's identifier for the RuleIdentifier key.

Config Custom Rules are rules that you create from scratch. There are two ways to create Config custom rules: with Lambda functions ( Lambda Developer Guide) and with Guard (Guard GitHub Repository), a policy-as-code language. Config custom rules created with Lambda are called Config Custom Lambda Rules and Config custom rules created with Guard are called Config Custom Policy Rules.

If you are adding a new Config Custom Lambda rule, you first need to create an Lambda function in the management account or a delegated administrator that the rule invokes to evaluate your resources. You also need to create an IAM role in the managed account that can be assumed by the Lambda function. When you use PutOrganizationConfigRule to add a Custom Lambda rule to Config, you must specify the Amazon Resource Name (ARN) that Lambda assigns to the function.

Prerequisite: Ensure you call EnableAllFeatures API to enable all features in an organization.

Make sure to specify one of either OrganizationCustomPolicyRuleMetadata for Custom Policy rules, OrganizationCustomRuleMetadata for Custom Lambda rules, or OrganizationManagedRuleMetadata for managed rules.

", "PutOrganizationConformancePack": "

Deploys conformance packs across member accounts in an Amazon Web Services Organization. For information on how many organization conformance packs and how many Config rules you can have per account, see Service Limits in the Config Developer Guide.

Only a management account and a delegated administrator can call this API. When calling this API with a delegated administrator, you must ensure Organizations ListDelegatedAdministrator permissions are added. An organization can have up to 3 delegated administrators.

This API enables organization service access for config-multiaccountsetup.amazonaws.com through the EnableAWSServiceAccess action and creates a service-linked role AWSServiceRoleForConfigMultiAccountSetup in the management or delegated administrator account of your organization. The service-linked role is created only when the role does not exist in the caller account. To use this API with delegated administrator, register a delegated administrator by calling Amazon Web Services Organization register-delegate-admin for config-multiaccountsetup.amazonaws.com.

Prerequisite: Ensure you call EnableAllFeatures API to enable all features in an organization.

You must specify either the TemplateS3Uri or the TemplateBody parameter, but not both. If you provide both Config uses the TemplateS3Uri parameter and ignores the TemplateBody parameter.

Config sets the state of a conformance pack to CREATE_IN_PROGRESS and UPDATE_IN_PROGRESS until the conformance pack is created or updated. You cannot update a conformance pack while it is in this state.

", - "PutRemediationConfigurations": "

Adds or updates the remediation configuration with a specific Config rule with the selected target or action. The API creates the RemediationConfiguration object for the Config rule. The Config rule must already exist for you to add a remediation configuration. The target (SSM document) must exist and have permissions to use the target.

If you make backward incompatible changes to the SSM document, you must call this again to ensure the remediations can run.

This API does not support adding remediation configurations for service-linked Config Rules such as Organization Config rules, the rules deployed by conformance packs, and rules deployed by Amazon Web Services Security Hub.

For manual remediation configuration, you need to provide a value for automationAssumeRole or use a value in the assumeRolefield to remediate your resources. The SSM automation document can use either as long as it maps to a valid parameter.

However, for automatic remediation configuration, the only valid assumeRole field value is AutomationAssumeRole and you need to provide a value for AutomationAssumeRole to remediate your resources.

", - "PutRemediationExceptions": "

A remediation exception is when a specified resource is no longer considered for auto-remediation. This API adds a new exception or updates an existing exception for a specified resource with a specified Config rule.

Config generates a remediation exception when a problem occurs running a remediation action for a specified resource. Remediation exceptions blocks auto-remediation until the exception is cleared.

When placing an exception on an Amazon Web Services resource, it is recommended that remediation is set as manual remediation until the given Config rule for the specified resource evaluates the resource as NON_COMPLIANT. Once the resource has been evaluated as NON_COMPLIANT, you can add remediation exceptions and change the remediation type back from Manual to Auto if you want to use auto-remediation. Otherwise, using auto-remediation before a NON_COMPLIANT evaluation result can delete resources before the exception is applied.

Placing an exception can only be performed on resources that are NON_COMPLIANT. If you use this API for COMPLIANT resources or resources that are NOT_APPLICABLE, a remediation exception will not be generated. For more information on the conditions that initiate the possible Config evaluation results, see Concepts | Config Rules in the Config Developer Guide.

", + "PutRemediationConfigurations": "

Adds or updates the remediation configuration with a specific Config rule with the selected target or action. The API creates the RemediationConfiguration object for the Config rule. The Config rule must already exist for you to add a remediation configuration. The target (SSM document) must exist and have permissions to use the target.

Be aware of backward incompatible changes

If you make backward incompatible changes to the SSM document, you must call this again to ensure the remediations can run.

This API does not support adding remediation configurations for service-linked Config Rules such as Organization Config rules, the rules deployed by conformance packs, and rules deployed by Amazon Web Services Security Hub.

Required fields

For manual remediation configuration, you need to provide a value for automationAssumeRole or use a value in the assumeRolefield to remediate your resources. The SSM automation document can use either as long as it maps to a valid parameter.

However, for automatic remediation configuration, the only valid assumeRole field value is AutomationAssumeRole and you need to provide a value for AutomationAssumeRole to remediate your resources.

Auto remediation can be initiated even for compliant resources

If you enable auto remediation for a specific Config rule using the PutRemediationConfigurations API or the Config console, it initiates the remediation process for all non-compliant resources for that specific rule. The auto remediation process relies on the compliance data snapshot which is captured on a periodic basis. Any non-compliant resource that is updated between the snapshot schedule will continue to be remediated based on the last known compliance data snapshot.

This means that in some cases auto remediation can be initiated even for compliant resources, since the bootstrap processor uses a database that can have stale evaluation results based on the last known compliance data snapshot.

", + "PutRemediationExceptions": "

A remediation exception is when a specified resource is no longer considered for auto-remediation. This API adds a new exception or updates an existing exception for a specified resource with a specified Config rule.

Exceptions block auto remediation

Config generates a remediation exception when a problem occurs running a remediation action for a specified resource. Remediation exceptions blocks auto-remediation until the exception is cleared.

Manual remediation is recommended when placing an exception

When placing an exception on an Amazon Web Services resource, it is recommended that remediation is set as manual remediation until the given Config rule for the specified resource evaluates the resource as NON_COMPLIANT. Once the resource has been evaluated as NON_COMPLIANT, you can add remediation exceptions and change the remediation type back from Manual to Auto if you want to use auto-remediation. Otherwise, using auto-remediation before a NON_COMPLIANT evaluation result can delete resources before the exception is applied.

Exceptions can only be performed on non-compliant resources

Placing an exception can only be performed on resources that are NON_COMPLIANT. If you use this API for COMPLIANT resources or resources that are NOT_APPLICABLE, a remediation exception will not be generated. For more information on the conditions that initiate the possible Config evaluation results, see Concepts | Config Rules in the Config Developer Guide.

Auto remediation can be initiated even for compliant resources

If you enable auto remediation for a specific Config rule using the PutRemediationConfigurations API or the Config console, it initiates the remediation process for all non-compliant resources for that specific rule. The auto remediation process relies on the compliance data snapshot which is captured on a periodic basis. Any non-compliant resource that is updated between the snapshot schedule will continue to be remediated based on the last known compliance data snapshot.

This means that in some cases auto remediation can be initiated even for compliant resources, since the bootstrap processor uses a database that can have stale evaluation results based on the last known compliance data snapshot.

", "PutResourceConfig": "

Records the configuration state for the resource provided in the request. The configuration state of a resource is represented in Config as Configuration Items. Once this API records the configuration item, you can retrieve the list of configuration items for the custom resource type using existing Config APIs.

The custom resource type must be registered with CloudFormation. This API accepts the configuration item registered with CloudFormation.

When you call this API, Config only stores configuration state of the resource provided in the request. This API does not change or remediate the configuration of the resource.

Write-only schema properites are not recorded as part of the published configuration item.

", "PutRetentionConfiguration": "

Creates and updates the retention configuration with details about retention period (number of days) that Config stores your historical information. The API creates the RetentionConfiguration object and names the object as default. When you have a RetentionConfiguration object named default, calling the API modifies the default object.

Currently, Config supports only one retention configuration per region in your account.

", "PutStoredQuery": "

Saves a new query or updates an existing saved query. The QueryName must be unique for a single Amazon Web Services account and a single Amazon Web Services Region. You can create upto 300 queries in a single Amazon Web Services account and a single Amazon Web Services Region.

PutStoredQuery is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values, Config will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

", @@ -1622,7 +1622,7 @@ } }, "ExclusionByResourceTypes": { - "base": "

Specifies whether the configuration recorder excludes certain resource types from being recorded. Use the resourceTypes field to enter a comma-separated list of resource types you want to exclude from recording.

By default, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

How to use the exclusion recording strategy

To use this option, you must set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

Config will then record configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded.

Global resource types and the exclusion recording strategy

Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

", + "base": "

Specifies whether the configuration recorder excludes certain resource types from being recorded. Use the resourceTypes field to enter a comma-separated list of resource types you want to exclude from recording.

By default, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

How to use the exclusion recording strategy

To use this option, you must set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

Config will then record configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded.

Global resource types and the exclusion recording strategy

Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

", "refs": { "RecordingGroup$exclusionByResourceTypes": "

An object that specifies how Config excludes resource types from being recorded by the configuration recorder.

Required fields

To use this option, you must set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

" } @@ -1919,7 +1919,7 @@ "IncludeGlobalResourceTypes": { "base": null, "refs": { - "RecordingGroup$includeGlobalResourceTypes": "

This option is a bundle which only applies to the global IAM resource types: IAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded by Config in Regions where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

Aurora global clusters are recorded in all enabled Regions

The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled, even if includeGlobalResourceTypes is not set to true. The includeGlobalResourceTypes option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.

If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use one of the following recording strategies:

  1. Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

  2. Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

For more information, see Selecting Which Resources are Recorded in the Config developer guide.

Before you set this field to true, set the allSupported field of RecordingGroup to true. Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES.

Overriding fields

If you set this field to false but list global IAM resource types in the resourceTypes field of RecordingGroup, Config will still record configuration changes for those specified resource types regardless of if you set the includeGlobalResourceTypes field to false.

If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the resourceTypes field in addition to setting the includeGlobalResourceTypes field to false.

" + "RecordingGroup$includeGlobalResourceTypes": "

This option is a bundle which only applies to the global IAM resource types: IAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded by Config in Regions where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

Aurora global clusters are recorded in all enabled Regions

The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled, even if includeGlobalResourceTypes is setfalse. The includeGlobalResourceTypes option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.

If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use one of the following recording strategies:

  1. Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

  2. Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

For more information, see Selecting Which Resources are Recorded in the Config developer guide.

includeGlobalResourceTypes and the exclusion recording strategy

The includeGlobalResourceTypes field has no impact on the EXCLUSION_BY_RESOURCE_TYPES recording strategy. This means that the global IAM resource types (IAM users, groups, roles, and customer managed policies) will not be automatically added as exclusions for exclusionByResourceTypes when includeGlobalResourceTypes is set to false.

The includeGlobalResourceTypes field should only be used to modify the AllSupported field, as the default for the AllSupported field is to record configuration changes for all supported resource types excluding the global IAM resource types. To include the global IAM resource types when AllSupported is set to true, make sure to set includeGlobalResourceTypes to true.

To exclude the global IAM resource types for the EXCLUSION_BY_RESOURCE_TYPES recording strategy, you need to manually add them to the resourceTypes field of exclusionByResourceTypes.

Required and optional fields

Before you set this field to true, set the allSupported field of RecordingGroup to true. Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES.

Overriding fields

If you set this field to false but list global IAM resource types in the resourceTypes field of RecordingGroup, Config will still record configuration changes for those specified resource types regardless of if you set the includeGlobalResourceTypes field to false.

If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the resourceTypes field in addition to setting the includeGlobalResourceTypes field to false.

" } }, "InsufficientDeliveryPolicyException": { @@ -2842,13 +2842,13 @@ "RecordingStrategy": { "base": "

Specifies the recording strategy of the configuration recorder.

", "refs": { - "RecordingGroup$recordingStrategy": "

An object that specifies the recording strategy for the configuration recorder.

Required and optional fields

The recordingStrategy field is optional when you set the allSupported field of RecordingGroup to true.

The recordingStrategy field is optional when you list resource types in the resourceTypes field of RecordingGroup.

The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

Overriding fields

If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

Global resources types and the resource exclusion recording strategy

By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

" + "RecordingGroup$recordingStrategy": "

An object that specifies the recording strategy for the configuration recorder.

Required and optional fields

The recordingStrategy field is optional when you set the allSupported field of RecordingGroup to true.

The recordingStrategy field is optional when you list resource types in the resourceTypes field of RecordingGroup.

The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

Overriding fields

If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

Global resources types and the resource exclusion recording strategy

By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

" } }, "RecordingStrategyType": { "base": null, "refs": { - "RecordingStrategy$useOnly": "

The recording strategy for the configuration recorder.

Required and optional fields

The recordingStrategy field is optional when you set the allSupported field of RecordingGroup to true.

The recordingStrategy field is optional when you list resource types in the resourceTypes field of RecordingGroup.

The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

Overriding fields

If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

Global resource types and the exclusion recording strategy

By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

" + "RecordingStrategy$useOnly": "

The recording strategy for the configuration recorder.

Required and optional fields

The recordingStrategy field is optional when you set the allSupported field of RecordingGroup to true.

The recordingStrategy field is optional when you list resource types in the resourceTypes field of RecordingGroup.

The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

Overriding fields

If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

Global resource types and the exclusion recording strategy

By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

" } }, "ReevaluateConfigRuleNames": { @@ -3285,7 +3285,7 @@ "SSMDocumentName": { "base": null, "refs": { - "TemplateSSMDocumentDetails$DocumentName": "

The name or Amazon Resource Name (ARN) of the SSM document to use to create a conformance pack. If you use the document name, Config checks only your account and Amazon Web Services Region for the SSM document. If you want to use an SSM document from another Region or account, you must provide the ARN.

" + "TemplateSSMDocumentDetails$DocumentName": "

The name or Amazon Resource Name (ARN) of the SSM document to use to create a conformance pack. If you use the document name, Config checks only your account and Amazon Web Services Region for the SSM document.

" } }, "SSMDocumentVersion": { diff --git a/models/apis/ivs/2020-07-14/docs-2.json b/models/apis/ivs/2020-07-14/docs-2.json index 5c5b1316e2f..25323c270f9 100644 --- a/models/apis/ivs/2020-07-14/docs-2.json +++ b/models/apis/ivs/2020-07-14/docs-2.json @@ -171,10 +171,10 @@ "ChannelLatencyMode": { "base": null, "refs": { - "Channel$latencyMode": "

Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW. (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.)

", - "ChannelSummary$latencyMode": "

Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW. (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.)

", - "CreateChannelRequest$latencyMode": "

Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.) Default: LOW.

", - "UpdateChannelRequest$latencyMode": "

Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.)

" + "Channel$latencyMode": "

Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW.

", + "ChannelSummary$latencyMode": "

Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW.

", + "CreateChannelRequest$latencyMode": "

Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW.

", + "UpdateChannelRequest$latencyMode": "

Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers.

" } }, "ChannelList": { diff --git a/models/apis/keyspaces/2022-02-10/docs-2.json b/models/apis/keyspaces/2022-02-10/docs-2.json index f118683e2be..c9402cf0d3a 100644 --- a/models/apis/keyspaces/2022-02-10/docs-2.json +++ b/models/apis/keyspaces/2022-02-10/docs-2.json @@ -8,7 +8,7 @@ "DeleteTable": "

The DeleteTable operation deletes a table and all of its data. After a DeleteTable request is received, the specified table is in the DELETING state until Amazon Keyspaces completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is either in the CREATING or UPDATING states, then Amazon Keyspaces returns a ResourceInUseException. If the specified table does not exist, Amazon Keyspaces returns a ResourceNotFoundException. If the table is already in the DELETING state, no error is returned.

", "GetKeyspace": "

Returns the name and the Amazon Resource Name (ARN) of the specified table.

", "GetTable": "

Returns information about the table, including the table's name and current status, the keyspace name, configuration settings, and metadata.

To read table metadata using GetTable, Select action permissions for the table and system tables are required to complete the operation.

", - "GetTableAutoScalingSettings": "

Returns auto scaling related settings of the specified table in JSON format. If the table is a multi-Region table, the Amazon Web Services Region specific auto scaling settings of the table are included.

Amazon Keyspaces auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic. For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.

", + "GetTableAutoScalingSettings": "

Returns auto scaling related settings of the specified table in JSON format. If the table is a multi-Region table, the Amazon Web Services Region specific auto scaling settings of the table are included.

Amazon Keyspaces auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic. For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.

GetTableAutoScalingSettings can't be used as an action in an IAM policy.

To define permissions for GetTableAutoScalingSettings, you must allow the following two actions in the IAM policy statement's Action element:

", "ListKeyspaces": "

Returns a list of keyspaces.

", "ListTables": "

Returns a list of tables for a specified keyspace.

", "ListTagsForResource": "

Returns a list of all tags associated with the specified Amazon Keyspaces resource.

", @@ -48,7 +48,7 @@ } }, "AutoScalingSettings": { - "base": "

The optional auto scaling settings for a table with provisioned throughput capacity.

To turn on auto scaling for a table in throughputMode:PROVISIONED, you must specify the following parameters.

Configure the minimum and maximum units for write and read capacity. The auto scaling policy ensures that capacity never goes below the minimum or above the maximum range.

For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.

", + "base": "

The optional auto scaling settings for a table with provisioned throughput capacity.

To turn on auto scaling for a table in throughputMode:PROVISIONED, you must specify the following parameters.

Configure the minimum and maximum capacity units. The auto scaling policy ensures that capacity never goes below the minimum or above the maximum range.

For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.

", "refs": { "AutoScalingSpecification$writeCapacityAutoScaling": "

The auto scaling settings for the table's write capacity.

", "AutoScalingSpecification$readCapacityAutoScaling": "

The auto scaling settings for the table's read capacity.

", @@ -56,7 +56,7 @@ } }, "AutoScalingSpecification": { - "base": "

The optional auto scaling settings for read and write capacity of a table in provisioned capacity mode.

", + "base": "

The optional auto scaling capacity settings for a table in provisioned capacity mode.

", "refs": { "CreateTableRequest$autoScalingSpecification": "

The optional auto scaling settings for a table in provisioned capacity mode. Specifies if the service can manage throughput capacity automatically on your behalf.

Auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic. For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.

By default, auto scaling is disabled for a table.

", "GetTableAutoScalingSettingsResponse$autoScalingSpecification": "

The auto scaling settings of the table.

", diff --git a/models/apis/mediatailor/2018-04-23/api-2.json b/models/apis/mediatailor/2018-04-23/api-2.json index 1d3334409fa..9375b4c7b09 100644 --- a/models/apis/mediatailor/2018-04-23/api-2.json +++ b/models/apis/mediatailor/2018-04-23/api-2.json @@ -504,6 +504,7 @@ }, "AdBreak":{ "type":"structure", + "required":["OffsetMillis"], "members":{ "AdBreakMetadata":{"shape":"AdBreakMetadataList"}, "MessageType":{"shape":"MessageType"}, diff --git a/service/amplify/api.go b/service/amplify/api.go index f2469ac00f4..d92ddded822 100644 --- a/service/amplify/api.go +++ b/service/amplify/api.go @@ -4556,6 +4556,143 @@ func (s *Branch) SetUpdateTime(v time.Time) *Branch { return s } +// Describes the current SSL/TLS certificate that is in use for the domain. +// If you are using CreateDomainAssociation to create a new domain association, +// Certificate describes the new certificate that you are creating. +type Certificate struct { + _ struct{} `type:"structure"` + + // The DNS record for certificate verification. + CertificateVerificationDNSRecord *string `locationName:"certificateVerificationDNSRecord" type:"string"` + + // The Amazon resource name (ARN) for a custom certificate that you have already + // added to Certificate Manager in your Amazon Web Services account. + // + // This field is required only when the certificate type is CUSTOM. + CustomCertificateArn *string `locationName:"customCertificateArn" type:"string"` + + // The type of SSL/TLS certificate that you want to use. + // + // Specify AMPLIFY_MANAGED to use the default certificate that Amplify provisions + // for you. + // + // Specify CUSTOM to use your own certificate that you have already added to + // Certificate Manager in your Amazon Web Services account. Make sure you request + // (or import) the certificate in the US East (N. Virginia) Region (us-east-1). + // For more information about using ACM, see Importing certificates into Certificate + // Manager (https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) + // in the ACM User guide . + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"CertificateType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Certificate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Certificate) GoString() string { + return s.String() +} + +// SetCertificateVerificationDNSRecord sets the CertificateVerificationDNSRecord field's value. +func (s *Certificate) SetCertificateVerificationDNSRecord(v string) *Certificate { + s.CertificateVerificationDNSRecord = &v + return s +} + +// SetCustomCertificateArn sets the CustomCertificateArn field's value. +func (s *Certificate) SetCustomCertificateArn(v string) *Certificate { + s.CustomCertificateArn = &v + return s +} + +// SetType sets the Type field's value. +func (s *Certificate) SetType(v string) *Certificate { + s.Type = &v + return s +} + +// The type of SSL/TLS certificate to use for your custom domain. If a certificate +// type isn't specified, Amplify uses the default AMPLIFY_MANAGED certificate. +type CertificateSettings struct { + _ struct{} `type:"structure"` + + // The Amazon resource name (ARN) for the custom certificate that you have already + // added to Certificate Manager in your Amazon Web Services account. + // + // This field is required only when the certificate type is CUSTOM. + CustomCertificateArn *string `locationName:"customCertificateArn" type:"string"` + + // The certificate type. + // + // Specify AMPLIFY_MANAGED to use the default certificate that Amplify provisions + // for you. + // + // Specify CUSTOM to use your own certificate that you have already added to + // Certificate Manager in your Amazon Web Services account. Make sure you request + // (or import) the certificate in the US East (N. Virginia) Region (us-east-1). + // For more information about using ACM, see Importing certificates into Certificate + // Manager (https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) + // in the ACM User guide. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"CertificateType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CertificateSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CertificateSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CertificateSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CertificateSettings"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomCertificateArn sets the CustomCertificateArn field's value. +func (s *CertificateSettings) SetCustomCertificateArn(v string) *CertificateSettings { + s.CustomCertificateArn = &v + return s +} + +// SetType sets the Type field's value. +func (s *CertificateSettings) SetType(v string) *CertificateSettings { + s.Type = &v + return s +} + // The request structure used to create apps in Amplify. type CreateAppInput struct { _ struct{} `type:"structure"` @@ -5431,6 +5568,11 @@ type CreateDomainAssociationInput struct { // Amazon Resource Name (ARN) for automatically creating subdomains. AutoSubDomainIAMRole *string `locationName:"autoSubDomainIAMRole" type:"string"` + // The type of SSL/TLS certificate to use for your custom domain. If you don't + // specify a certificate type, Amplify uses the default certificate that it + // provisions and manages for you. + CertificateSettings *CertificateSettings `locationName:"certificateSettings" type:"structure"` + // The domain name for the domain association. // // DomainName is a required field @@ -5478,6 +5620,11 @@ func (s *CreateDomainAssociationInput) Validate() error { if s.SubDomainSettings == nil { invalidParams.Add(request.NewErrParamRequired("SubDomainSettings")) } + if s.CertificateSettings != nil { + if err := s.CertificateSettings.Validate(); err != nil { + invalidParams.AddNested("CertificateSettings", err.(request.ErrInvalidParams)) + } + } if s.SubDomainSettings != nil { for i, v := range s.SubDomainSettings { if v == nil { @@ -5513,6 +5660,12 @@ func (s *CreateDomainAssociationInput) SetAutoSubDomainIAMRole(v string) *Create return s } +// SetCertificateSettings sets the CertificateSettings field's value. +func (s *CreateDomainAssociationInput) SetCertificateSettings(v *CertificateSettings) *CreateDomainAssociationInput { + s.CertificateSettings = v + return s +} + // SetDomainName sets the DomainName field's value. func (s *CreateDomainAssociationInput) SetDomainName(v string) *CreateDomainAssociationInput { s.DomainName = &v @@ -5696,7 +5849,7 @@ type CustomRule struct { // // 301 // - // Represents a 301 (moved pemanently) redirect rule. This and all future requests + // Represents a 301 (moved permanently) redirect rule. This and all future requests // should be directed to the target URL. // // 302 @@ -6142,8 +6295,7 @@ func (s *DeleteDomainAssociationInput) SetDomainName(v string) *DeleteDomainAsso type DeleteDomainAssociationOutput struct { _ struct{} `type:"structure"` - // Describes a domain association that associates a custom domain with an Amplify - // app. + // Describes the association between a custom domain and an Amplify app. // // DomainAssociation is a required field DomainAssociation *DomainAssociation `locationName:"domainAssociation" type:"structure" required:"true"` @@ -6439,8 +6591,7 @@ func (s *DependentServiceFailureException) RequestID() string { return s.RespMetadata.RequestID } -// Describes a domain association that associates a custom domain with an Amplify -// app. +// Describes the association between a custom domain and an Amplify app. type DomainAssociation struct { _ struct{} `type:"structure"` @@ -6451,6 +6602,15 @@ type DomainAssociation struct { // Amazon Resource Name (ARN) for automatically creating subdomains. AutoSubDomainIAMRole *string `locationName:"autoSubDomainIAMRole" type:"string"` + // Describes the SSL/TLS certificate for the domain association. This can be + // your own custom certificate or the default certificate that Amplify provisions + // for you. + // + // If you are updating your domain to use a different certificate, certificate + // points to the new certificate that is being created instead of the current + // active certificate. Otherwise, certificate points to the current active certificate. + Certificate *Certificate `locationName:"certificate" type:"structure"` + // The DNS record for certificate verification. CertificateVerificationDNSRecord *string `locationName:"certificateVerificationDNSRecord" type:"string"` @@ -6474,7 +6634,8 @@ type DomainAssociation struct { // EnableAutoSubDomain is a required field EnableAutoSubDomain *bool `locationName:"enableAutoSubDomain" type:"boolean" required:"true"` - // The reason for the current status of the domain association. + // Additional information that describes why the domain association is in the + // current state. // // StatusReason is a required field StatusReason *string `locationName:"statusReason" type:"string" required:"true"` @@ -6483,6 +6644,47 @@ type DomainAssociation struct { // // SubDomains is a required field SubDomains []*SubDomain `locationName:"subDomains" type:"list" required:"true"` + + // The status of the domain update operation that is currently in progress. + // The following list describes the valid update states. + // + // REQUESTING_CERTIFICATE + // + // The certificate is in the process of being updated. + // + // PENDING_VERIFICATION + // + // Indicates that an Amplify managed certificate is in the process of being + // verified. This occurs during the creation of a custom domain or when a custom + // domain is updated to use a managed certificate. + // + // IMPORTING_CUSTOM_CERTIFICATE + // + // Indicates that an Amplify custom certificate is in the process of being imported. + // This occurs during the creation of a custom domain or when a custom domain + // is updated to use a custom certificate. + // + // PENDING_DEPLOYMENT + // + // Indicates that the subdomain or certificate changes are being propagated. + // + // AWAITING_APP_CNAME + // + // Amplify is waiting for CNAME records corresponding to subdomains to be propagated. + // If your custom domain is on Route 53, Amplify handles this for you automatically. + // For more information about custom domains, see Setting up custom domains + // (https://docs.aws.amazon.com/amplify/latest/userguide/custom-domains.html) + // in the Amplify Hosting User Guide. + // + // UPDATE_COMPLETE + // + // The certificate has been associated with a domain. + // + // UPDATE_FAILED + // + // The certificate has failed to be provisioned or associated, and there is + // no existing active certificate to roll back to. + UpdateStatus *string `locationName:"updateStatus" type:"string" enum:"UpdateStatus"` } // String returns the string representation. @@ -6515,6 +6717,12 @@ func (s *DomainAssociation) SetAutoSubDomainIAMRole(v string) *DomainAssociation return s } +// SetCertificate sets the Certificate field's value. +func (s *DomainAssociation) SetCertificate(v *Certificate) *DomainAssociation { + s.Certificate = v + return s +} + // SetCertificateVerificationDNSRecord sets the CertificateVerificationDNSRecord field's value. func (s *DomainAssociation) SetCertificateVerificationDNSRecord(v string) *DomainAssociation { s.CertificateVerificationDNSRecord = &v @@ -6557,6 +6765,12 @@ func (s *DomainAssociation) SetSubDomains(v []*SubDomain) *DomainAssociation { return s } +// SetUpdateStatus sets the UpdateStatus field's value. +func (s *DomainAssociation) SetUpdateStatus(v string) *DomainAssociation { + s.UpdateStatus = &v + return s +} + // The request structure for the generate access logs request. type GenerateAccessLogsInput struct { _ struct{} `type:"structure"` @@ -10257,6 +10471,9 @@ type UpdateDomainAssociationInput struct { // Amazon Resource Name (ARN) for automatically creating subdomains. AutoSubDomainIAMRole *string `locationName:"autoSubDomainIAMRole" type:"string"` + // The type of SSL/TLS certificate to use for your custom domain. + CertificateSettings *CertificateSettings `locationName:"certificateSettings" type:"structure"` + // The name of the domain. // // DomainName is a required field @@ -10302,6 +10519,11 @@ func (s *UpdateDomainAssociationInput) Validate() error { if s.DomainName != nil && len(*s.DomainName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) } + if s.CertificateSettings != nil { + if err := s.CertificateSettings.Validate(); err != nil { + invalidParams.AddNested("CertificateSettings", err.(request.ErrInvalidParams)) + } + } if s.SubDomainSettings != nil { for i, v := range s.SubDomainSettings { if v == nil { @@ -10337,6 +10559,12 @@ func (s *UpdateDomainAssociationInput) SetAutoSubDomainIAMRole(v string) *Update return s } +// SetCertificateSettings sets the CertificateSettings field's value. +func (s *UpdateDomainAssociationInput) SetCertificateSettings(v *CertificateSettings) *UpdateDomainAssociationInput { + s.CertificateSettings = v + return s +} + // SetDomainName sets the DomainName field's value. func (s *UpdateDomainAssociationInput) SetDomainName(v string) *UpdateDomainAssociationInput { s.DomainName = &v @@ -10595,6 +10823,22 @@ func (s *Webhook) SetWebhookUrl(v string) *Webhook { return s } +const ( + // CertificateTypeAmplifyManaged is a CertificateType enum value + CertificateTypeAmplifyManaged = "AMPLIFY_MANAGED" + + // CertificateTypeCustom is a CertificateType enum value + CertificateTypeCustom = "CUSTOM" +) + +// CertificateType_Values returns all elements of the CertificateType enum +func CertificateType_Values() []string { + return []string{ + CertificateTypeAmplifyManaged, + CertificateTypeCustom, + } +} + const ( // DomainStatusPendingVerification is a DomainStatus enum value DomainStatusPendingVerification = "PENDING_VERIFICATION" @@ -10605,9 +10849,15 @@ const ( // DomainStatusAvailable is a DomainStatus enum value DomainStatusAvailable = "AVAILABLE" + // DomainStatusImportingCustomCertificate is a DomainStatus enum value + DomainStatusImportingCustomCertificate = "IMPORTING_CUSTOM_CERTIFICATE" + // DomainStatusPendingDeployment is a DomainStatus enum value DomainStatusPendingDeployment = "PENDING_DEPLOYMENT" + // DomainStatusAwaitingAppCname is a DomainStatus enum value + DomainStatusAwaitingAppCname = "AWAITING_APP_CNAME" + // DomainStatusFailed is a DomainStatus enum value DomainStatusFailed = "FAILED" @@ -10627,7 +10877,9 @@ func DomainStatus_Values() []string { DomainStatusPendingVerification, DomainStatusInProgress, DomainStatusAvailable, + DomainStatusImportingCustomCertificate, DomainStatusPendingDeployment, + DomainStatusAwaitingAppCname, DomainStatusFailed, DomainStatusCreating, DomainStatusRequestingCertificate, @@ -10762,3 +11014,39 @@ func Stage_Values() []string { StagePullRequest, } } + +const ( + // UpdateStatusRequestingCertificate is a UpdateStatus enum value + UpdateStatusRequestingCertificate = "REQUESTING_CERTIFICATE" + + // UpdateStatusPendingVerification is a UpdateStatus enum value + UpdateStatusPendingVerification = "PENDING_VERIFICATION" + + // UpdateStatusImportingCustomCertificate is a UpdateStatus enum value + UpdateStatusImportingCustomCertificate = "IMPORTING_CUSTOM_CERTIFICATE" + + // UpdateStatusPendingDeployment is a UpdateStatus enum value + UpdateStatusPendingDeployment = "PENDING_DEPLOYMENT" + + // UpdateStatusAwaitingAppCname is a UpdateStatus enum value + UpdateStatusAwaitingAppCname = "AWAITING_APP_CNAME" + + // UpdateStatusUpdateComplete is a UpdateStatus enum value + UpdateStatusUpdateComplete = "UPDATE_COMPLETE" + + // UpdateStatusUpdateFailed is a UpdateStatus enum value + UpdateStatusUpdateFailed = "UPDATE_FAILED" +) + +// UpdateStatus_Values returns all elements of the UpdateStatus enum +func UpdateStatus_Values() []string { + return []string{ + UpdateStatusRequestingCertificate, + UpdateStatusPendingVerification, + UpdateStatusImportingCustomCertificate, + UpdateStatusPendingDeployment, + UpdateStatusAwaitingAppCname, + UpdateStatusUpdateComplete, + UpdateStatusUpdateFailed, + } +} diff --git a/service/chatbot/api.go b/service/chatbot/api.go new file mode 100644 index 00000000000..b0d853c0470 --- /dev/null +++ b/service/chatbot/api.go @@ -0,0 +1,7535 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package chatbot + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCreateChimeWebhookConfiguration = "CreateChimeWebhookConfiguration" + +// CreateChimeWebhookConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateChimeWebhookConfiguration 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 CreateChimeWebhookConfiguration for more information on using the CreateChimeWebhookConfiguration +// 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 CreateChimeWebhookConfigurationRequest method. +// req, resp := client.CreateChimeWebhookConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/CreateChimeWebhookConfiguration +func (c *Chatbot) CreateChimeWebhookConfigurationRequest(input *CreateChimeWebhookConfigurationInput) (req *request.Request, output *CreateChimeWebhookConfigurationOutput) { + op := &request.Operation{ + Name: opCreateChimeWebhookConfiguration, + HTTPMethod: "POST", + HTTPPath: "/create-chime-webhook-configuration", + } + + if input == nil { + input = &CreateChimeWebhookConfigurationInput{} + } + + output = &CreateChimeWebhookConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateChimeWebhookConfiguration API operation for chatbot. +// +// # Creates Chime Webhook Configuration +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for chatbot's +// API operation CreateChimeWebhookConfiguration for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - LimitExceededException +// You have exceeded a service limit for AWS Chatbot. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - CreateChimeWebhookConfigurationException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// - ConflictException +// There was an issue processing your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/CreateChimeWebhookConfiguration +func (c *Chatbot) CreateChimeWebhookConfiguration(input *CreateChimeWebhookConfigurationInput) (*CreateChimeWebhookConfigurationOutput, error) { + req, out := c.CreateChimeWebhookConfigurationRequest(input) + return out, req.Send() +} + +// CreateChimeWebhookConfigurationWithContext is the same as CreateChimeWebhookConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateChimeWebhookConfiguration 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 *Chatbot) CreateChimeWebhookConfigurationWithContext(ctx aws.Context, input *CreateChimeWebhookConfigurationInput, opts ...request.Option) (*CreateChimeWebhookConfigurationOutput, error) { + req, out := c.CreateChimeWebhookConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateMicrosoftTeamsChannelConfiguration = "CreateMicrosoftTeamsChannelConfiguration" + +// CreateMicrosoftTeamsChannelConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateMicrosoftTeamsChannelConfiguration 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 CreateMicrosoftTeamsChannelConfiguration for more information on using the CreateMicrosoftTeamsChannelConfiguration +// 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 CreateMicrosoftTeamsChannelConfigurationRequest method. +// req, resp := client.CreateMicrosoftTeamsChannelConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/CreateMicrosoftTeamsChannelConfiguration +func (c *Chatbot) CreateMicrosoftTeamsChannelConfigurationRequest(input *CreateMicrosoftTeamsChannelConfigurationInput) (req *request.Request, output *CreateMicrosoftTeamsChannelConfigurationOutput) { + op := &request.Operation{ + Name: opCreateMicrosoftTeamsChannelConfiguration, + HTTPMethod: "POST", + HTTPPath: "/create-ms-teams-channel-configuration", + } + + if input == nil { + input = &CreateMicrosoftTeamsChannelConfigurationInput{} + } + + output = &CreateMicrosoftTeamsChannelConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateMicrosoftTeamsChannelConfiguration API operation for chatbot. +// +// # Creates MS Teams Channel Configuration +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for chatbot's +// API operation CreateMicrosoftTeamsChannelConfiguration for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - LimitExceededException +// You have exceeded a service limit for AWS Chatbot. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - CreateTeamsChannelConfigurationException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// - ConflictException +// There was an issue processing your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/CreateMicrosoftTeamsChannelConfiguration +func (c *Chatbot) CreateMicrosoftTeamsChannelConfiguration(input *CreateMicrosoftTeamsChannelConfigurationInput) (*CreateMicrosoftTeamsChannelConfigurationOutput, error) { + req, out := c.CreateMicrosoftTeamsChannelConfigurationRequest(input) + return out, req.Send() +} + +// CreateMicrosoftTeamsChannelConfigurationWithContext is the same as CreateMicrosoftTeamsChannelConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateMicrosoftTeamsChannelConfiguration 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 *Chatbot) CreateMicrosoftTeamsChannelConfigurationWithContext(ctx aws.Context, input *CreateMicrosoftTeamsChannelConfigurationInput, opts ...request.Option) (*CreateMicrosoftTeamsChannelConfigurationOutput, error) { + req, out := c.CreateMicrosoftTeamsChannelConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateSlackChannelConfiguration = "CreateSlackChannelConfiguration" + +// CreateSlackChannelConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateSlackChannelConfiguration 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 CreateSlackChannelConfiguration for more information on using the CreateSlackChannelConfiguration +// 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 CreateSlackChannelConfigurationRequest method. +// req, resp := client.CreateSlackChannelConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/CreateSlackChannelConfiguration +func (c *Chatbot) CreateSlackChannelConfigurationRequest(input *CreateSlackChannelConfigurationInput) (req *request.Request, output *CreateSlackChannelConfigurationOutput) { + op := &request.Operation{ + Name: opCreateSlackChannelConfiguration, + HTTPMethod: "POST", + HTTPPath: "/create-slack-channel-configuration", + } + + if input == nil { + input = &CreateSlackChannelConfigurationInput{} + } + + output = &CreateSlackChannelConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateSlackChannelConfiguration API operation for chatbot. +// +// # Creates Slack Channel Configuration +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for chatbot's +// API operation CreateSlackChannelConfiguration for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - LimitExceededException +// You have exceeded a service limit for AWS Chatbot. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - CreateSlackChannelConfigurationException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// - ConflictException +// There was an issue processing your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/CreateSlackChannelConfiguration +func (c *Chatbot) CreateSlackChannelConfiguration(input *CreateSlackChannelConfigurationInput) (*CreateSlackChannelConfigurationOutput, error) { + req, out := c.CreateSlackChannelConfigurationRequest(input) + return out, req.Send() +} + +// CreateSlackChannelConfigurationWithContext is the same as CreateSlackChannelConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSlackChannelConfiguration 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 *Chatbot) CreateSlackChannelConfigurationWithContext(ctx aws.Context, input *CreateSlackChannelConfigurationInput, opts ...request.Option) (*CreateSlackChannelConfigurationOutput, error) { + req, out := c.CreateSlackChannelConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteChimeWebhookConfiguration = "DeleteChimeWebhookConfiguration" + +// DeleteChimeWebhookConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteChimeWebhookConfiguration 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 DeleteChimeWebhookConfiguration for more information on using the DeleteChimeWebhookConfiguration +// 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 DeleteChimeWebhookConfigurationRequest method. +// req, resp := client.DeleteChimeWebhookConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteChimeWebhookConfiguration +func (c *Chatbot) DeleteChimeWebhookConfigurationRequest(input *DeleteChimeWebhookConfigurationInput) (req *request.Request, output *DeleteChimeWebhookConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteChimeWebhookConfiguration, + HTTPMethod: "POST", + HTTPPath: "/delete-chime-webhook-configuration", + } + + if input == nil { + input = &DeleteChimeWebhookConfigurationInput{} + } + + output = &DeleteChimeWebhookConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteChimeWebhookConfiguration API operation for chatbot. +// +// # Deletes a Chime Webhook Configuration +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for chatbot's +// API operation DeleteChimeWebhookConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// We were not able to find the resource for your request. +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - DeleteChimeWebhookConfigurationException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteChimeWebhookConfiguration +func (c *Chatbot) DeleteChimeWebhookConfiguration(input *DeleteChimeWebhookConfigurationInput) (*DeleteChimeWebhookConfigurationOutput, error) { + req, out := c.DeleteChimeWebhookConfigurationRequest(input) + return out, req.Send() +} + +// DeleteChimeWebhookConfigurationWithContext is the same as DeleteChimeWebhookConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteChimeWebhookConfiguration 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 *Chatbot) DeleteChimeWebhookConfigurationWithContext(ctx aws.Context, input *DeleteChimeWebhookConfigurationInput, opts ...request.Option) (*DeleteChimeWebhookConfigurationOutput, error) { + req, out := c.DeleteChimeWebhookConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteMicrosoftTeamsChannelConfiguration = "DeleteMicrosoftTeamsChannelConfiguration" + +// DeleteMicrosoftTeamsChannelConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMicrosoftTeamsChannelConfiguration 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 DeleteMicrosoftTeamsChannelConfiguration for more information on using the DeleteMicrosoftTeamsChannelConfiguration +// 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 DeleteMicrosoftTeamsChannelConfigurationRequest method. +// req, resp := client.DeleteMicrosoftTeamsChannelConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteMicrosoftTeamsChannelConfiguration +func (c *Chatbot) DeleteMicrosoftTeamsChannelConfigurationRequest(input *DeleteMicrosoftTeamsChannelConfigurationInput) (req *request.Request, output *DeleteMicrosoftTeamsChannelConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteMicrosoftTeamsChannelConfiguration, + HTTPMethod: "POST", + HTTPPath: "/delete-ms-teams-channel-configuration", + } + + if input == nil { + input = &DeleteMicrosoftTeamsChannelConfigurationInput{} + } + + output = &DeleteMicrosoftTeamsChannelConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteMicrosoftTeamsChannelConfiguration API operation for chatbot. +// +// # Deletes MS Teams Channel Configuration +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for chatbot's +// API operation DeleteMicrosoftTeamsChannelConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// We were not able to find the resource for your request. +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - DeleteTeamsChannelConfigurationException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteMicrosoftTeamsChannelConfiguration +func (c *Chatbot) DeleteMicrosoftTeamsChannelConfiguration(input *DeleteMicrosoftTeamsChannelConfigurationInput) (*DeleteMicrosoftTeamsChannelConfigurationOutput, error) { + req, out := c.DeleteMicrosoftTeamsChannelConfigurationRequest(input) + return out, req.Send() +} + +// DeleteMicrosoftTeamsChannelConfigurationWithContext is the same as DeleteMicrosoftTeamsChannelConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteMicrosoftTeamsChannelConfiguration 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 *Chatbot) DeleteMicrosoftTeamsChannelConfigurationWithContext(ctx aws.Context, input *DeleteMicrosoftTeamsChannelConfigurationInput, opts ...request.Option) (*DeleteMicrosoftTeamsChannelConfigurationOutput, error) { + req, out := c.DeleteMicrosoftTeamsChannelConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteMicrosoftTeamsConfiguredTeam = "DeleteMicrosoftTeamsConfiguredTeam" + +// DeleteMicrosoftTeamsConfiguredTeamRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMicrosoftTeamsConfiguredTeam 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 DeleteMicrosoftTeamsConfiguredTeam for more information on using the DeleteMicrosoftTeamsConfiguredTeam +// 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 DeleteMicrosoftTeamsConfiguredTeamRequest method. +// req, resp := client.DeleteMicrosoftTeamsConfiguredTeamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteMicrosoftTeamsConfiguredTeam +func (c *Chatbot) DeleteMicrosoftTeamsConfiguredTeamRequest(input *DeleteMicrosoftTeamsConfiguredTeamInput) (req *request.Request, output *DeleteMicrosoftTeamsConfiguredTeamOutput) { + op := &request.Operation{ + Name: opDeleteMicrosoftTeamsConfiguredTeam, + HTTPMethod: "POST", + HTTPPath: "/delete-ms-teams-configured-teams", + } + + if input == nil { + input = &DeleteMicrosoftTeamsConfiguredTeamInput{} + } + + output = &DeleteMicrosoftTeamsConfiguredTeamOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteMicrosoftTeamsConfiguredTeam API operation for chatbot. +// +// Deletes the Microsoft Teams team authorization allowing for channels to be +// configured in that Microsoft Teams team. Note that the Microsoft Teams team +// must have no channels configured to remove it. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for chatbot's +// API operation DeleteMicrosoftTeamsConfiguredTeam for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - DeleteTeamsConfiguredTeamException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteMicrosoftTeamsConfiguredTeam +func (c *Chatbot) DeleteMicrosoftTeamsConfiguredTeam(input *DeleteMicrosoftTeamsConfiguredTeamInput) (*DeleteMicrosoftTeamsConfiguredTeamOutput, error) { + req, out := c.DeleteMicrosoftTeamsConfiguredTeamRequest(input) + return out, req.Send() +} + +// DeleteMicrosoftTeamsConfiguredTeamWithContext is the same as DeleteMicrosoftTeamsConfiguredTeam with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteMicrosoftTeamsConfiguredTeam 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 *Chatbot) DeleteMicrosoftTeamsConfiguredTeamWithContext(ctx aws.Context, input *DeleteMicrosoftTeamsConfiguredTeamInput, opts ...request.Option) (*DeleteMicrosoftTeamsConfiguredTeamOutput, error) { + req, out := c.DeleteMicrosoftTeamsConfiguredTeamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteMicrosoftTeamsUserIdentity = "DeleteMicrosoftTeamsUserIdentity" + +// DeleteMicrosoftTeamsUserIdentityRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMicrosoftTeamsUserIdentity 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 DeleteMicrosoftTeamsUserIdentity for more information on using the DeleteMicrosoftTeamsUserIdentity +// 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 DeleteMicrosoftTeamsUserIdentityRequest method. +// req, resp := client.DeleteMicrosoftTeamsUserIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteMicrosoftTeamsUserIdentity +func (c *Chatbot) DeleteMicrosoftTeamsUserIdentityRequest(input *DeleteMicrosoftTeamsUserIdentityInput) (req *request.Request, output *DeleteMicrosoftTeamsUserIdentityOutput) { + op := &request.Operation{ + Name: opDeleteMicrosoftTeamsUserIdentity, + HTTPMethod: "POST", + HTTPPath: "/delete-ms-teams-user-identity", + } + + if input == nil { + input = &DeleteMicrosoftTeamsUserIdentityInput{} + } + + output = &DeleteMicrosoftTeamsUserIdentityOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteMicrosoftTeamsUserIdentity API operation for chatbot. +// +// # Deletes a Teams user identity +// +// Returns awserr.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 chatbot's +// API operation DeleteMicrosoftTeamsUserIdentity for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - ResourceNotFoundException +// We were not able to find the resource for your request. +// +// - DeleteMicrosoftTeamsUserIdentityException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteMicrosoftTeamsUserIdentity +func (c *Chatbot) DeleteMicrosoftTeamsUserIdentity(input *DeleteMicrosoftTeamsUserIdentityInput) (*DeleteMicrosoftTeamsUserIdentityOutput, error) { + req, out := c.DeleteMicrosoftTeamsUserIdentityRequest(input) + return out, req.Send() +} + +// DeleteMicrosoftTeamsUserIdentityWithContext is the same as DeleteMicrosoftTeamsUserIdentity with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteMicrosoftTeamsUserIdentity 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 *Chatbot) DeleteMicrosoftTeamsUserIdentityWithContext(ctx aws.Context, input *DeleteMicrosoftTeamsUserIdentityInput, opts ...request.Option) (*DeleteMicrosoftTeamsUserIdentityOutput, error) { + req, out := c.DeleteMicrosoftTeamsUserIdentityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteSlackChannelConfiguration = "DeleteSlackChannelConfiguration" + +// DeleteSlackChannelConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSlackChannelConfiguration 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 DeleteSlackChannelConfiguration for more information on using the DeleteSlackChannelConfiguration +// 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 DeleteSlackChannelConfigurationRequest method. +// req, resp := client.DeleteSlackChannelConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteSlackChannelConfiguration +func (c *Chatbot) DeleteSlackChannelConfigurationRequest(input *DeleteSlackChannelConfigurationInput) (req *request.Request, output *DeleteSlackChannelConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteSlackChannelConfiguration, + HTTPMethod: "POST", + HTTPPath: "/delete-slack-channel-configuration", + } + + if input == nil { + input = &DeleteSlackChannelConfigurationInput{} + } + + output = &DeleteSlackChannelConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteSlackChannelConfiguration API operation for chatbot. +// +// # Deletes Slack Channel Configuration +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for chatbot's +// API operation DeleteSlackChannelConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// We were not able to find the resource for your request. +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - DeleteSlackChannelConfigurationException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteSlackChannelConfiguration +func (c *Chatbot) DeleteSlackChannelConfiguration(input *DeleteSlackChannelConfigurationInput) (*DeleteSlackChannelConfigurationOutput, error) { + req, out := c.DeleteSlackChannelConfigurationRequest(input) + return out, req.Send() +} + +// DeleteSlackChannelConfigurationWithContext is the same as DeleteSlackChannelConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSlackChannelConfiguration 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 *Chatbot) DeleteSlackChannelConfigurationWithContext(ctx aws.Context, input *DeleteSlackChannelConfigurationInput, opts ...request.Option) (*DeleteSlackChannelConfigurationOutput, error) { + req, out := c.DeleteSlackChannelConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteSlackUserIdentity = "DeleteSlackUserIdentity" + +// DeleteSlackUserIdentityRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSlackUserIdentity 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 DeleteSlackUserIdentity for more information on using the DeleteSlackUserIdentity +// 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 DeleteSlackUserIdentityRequest method. +// req, resp := client.DeleteSlackUserIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteSlackUserIdentity +func (c *Chatbot) DeleteSlackUserIdentityRequest(input *DeleteSlackUserIdentityInput) (req *request.Request, output *DeleteSlackUserIdentityOutput) { + op := &request.Operation{ + Name: opDeleteSlackUserIdentity, + HTTPMethod: "POST", + HTTPPath: "/delete-slack-user-identity", + } + + if input == nil { + input = &DeleteSlackUserIdentityInput{} + } + + output = &DeleteSlackUserIdentityOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteSlackUserIdentity API operation for chatbot. +// +// # Deletes a Slack user identity +// +// Returns awserr.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 chatbot's +// API operation DeleteSlackUserIdentity for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - ResourceNotFoundException +// We were not able to find the resource for your request. +// +// - DeleteSlackUserIdentityException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteSlackUserIdentity +func (c *Chatbot) DeleteSlackUserIdentity(input *DeleteSlackUserIdentityInput) (*DeleteSlackUserIdentityOutput, error) { + req, out := c.DeleteSlackUserIdentityRequest(input) + return out, req.Send() +} + +// DeleteSlackUserIdentityWithContext is the same as DeleteSlackUserIdentity with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSlackUserIdentity 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 *Chatbot) DeleteSlackUserIdentityWithContext(ctx aws.Context, input *DeleteSlackUserIdentityInput, opts ...request.Option) (*DeleteSlackUserIdentityOutput, error) { + req, out := c.DeleteSlackUserIdentityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteSlackWorkspaceAuthorization = "DeleteSlackWorkspaceAuthorization" + +// DeleteSlackWorkspaceAuthorizationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSlackWorkspaceAuthorization 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 DeleteSlackWorkspaceAuthorization for more information on using the DeleteSlackWorkspaceAuthorization +// 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 DeleteSlackWorkspaceAuthorizationRequest method. +// req, resp := client.DeleteSlackWorkspaceAuthorizationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteSlackWorkspaceAuthorization +func (c *Chatbot) DeleteSlackWorkspaceAuthorizationRequest(input *DeleteSlackWorkspaceAuthorizationInput) (req *request.Request, output *DeleteSlackWorkspaceAuthorizationOutput) { + op := &request.Operation{ + Name: opDeleteSlackWorkspaceAuthorization, + HTTPMethod: "POST", + HTTPPath: "/delete-slack-workspace-authorization", + } + + if input == nil { + input = &DeleteSlackWorkspaceAuthorizationInput{} + } + + output = &DeleteSlackWorkspaceAuthorizationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteSlackWorkspaceAuthorization API operation for chatbot. +// +// Deletes the Slack workspace authorization that allows channels to be configured +// in that workspace. This requires all configured channels in the workspace +// to be deleted. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for chatbot's +// API operation DeleteSlackWorkspaceAuthorization for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - DeleteSlackWorkspaceAuthorizationFault +// There was an issue deleting your Slack workspace. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteSlackWorkspaceAuthorization +func (c *Chatbot) DeleteSlackWorkspaceAuthorization(input *DeleteSlackWorkspaceAuthorizationInput) (*DeleteSlackWorkspaceAuthorizationOutput, error) { + req, out := c.DeleteSlackWorkspaceAuthorizationRequest(input) + return out, req.Send() +} + +// DeleteSlackWorkspaceAuthorizationWithContext is the same as DeleteSlackWorkspaceAuthorization with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSlackWorkspaceAuthorization 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 *Chatbot) DeleteSlackWorkspaceAuthorizationWithContext(ctx aws.Context, input *DeleteSlackWorkspaceAuthorizationInput, opts ...request.Option) (*DeleteSlackWorkspaceAuthorizationOutput, error) { + req, out := c.DeleteSlackWorkspaceAuthorizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeChimeWebhookConfigurations = "DescribeChimeWebhookConfigurations" + +// DescribeChimeWebhookConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeChimeWebhookConfigurations 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 DescribeChimeWebhookConfigurations for more information on using the DescribeChimeWebhookConfigurations +// 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 DescribeChimeWebhookConfigurationsRequest method. +// req, resp := client.DescribeChimeWebhookConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DescribeChimeWebhookConfigurations +func (c *Chatbot) DescribeChimeWebhookConfigurationsRequest(input *DescribeChimeWebhookConfigurationsInput) (req *request.Request, output *DescribeChimeWebhookConfigurationsOutput) { + op := &request.Operation{ + Name: opDescribeChimeWebhookConfigurations, + HTTPMethod: "POST", + HTTPPath: "/describe-chime-webhook-configurations", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeChimeWebhookConfigurationsInput{} + } + + output = &DescribeChimeWebhookConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeChimeWebhookConfigurations API operation for chatbot. +// +// # Lists Chime Webhook Configurations optionally filtered by ChatConfigurationArn +// +// Returns awserr.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 chatbot's +// API operation DescribeChimeWebhookConfigurations for usage and error information. +// +// Returned Error Types: +// +// - DescribeChimeWebhookConfigurationsException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DescribeChimeWebhookConfigurations +func (c *Chatbot) DescribeChimeWebhookConfigurations(input *DescribeChimeWebhookConfigurationsInput) (*DescribeChimeWebhookConfigurationsOutput, error) { + req, out := c.DescribeChimeWebhookConfigurationsRequest(input) + return out, req.Send() +} + +// DescribeChimeWebhookConfigurationsWithContext is the same as DescribeChimeWebhookConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeChimeWebhookConfigurations 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 *Chatbot) DescribeChimeWebhookConfigurationsWithContext(ctx aws.Context, input *DescribeChimeWebhookConfigurationsInput, opts ...request.Option) (*DescribeChimeWebhookConfigurationsOutput, error) { + req, out := c.DescribeChimeWebhookConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeChimeWebhookConfigurationsPages iterates over the pages of a DescribeChimeWebhookConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeChimeWebhookConfigurations 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 DescribeChimeWebhookConfigurations operation. +// pageNum := 0 +// err := client.DescribeChimeWebhookConfigurationsPages(params, +// func(page *chatbot.DescribeChimeWebhookConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Chatbot) DescribeChimeWebhookConfigurationsPages(input *DescribeChimeWebhookConfigurationsInput, fn func(*DescribeChimeWebhookConfigurationsOutput, bool) bool) error { + return c.DescribeChimeWebhookConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeChimeWebhookConfigurationsPagesWithContext same as DescribeChimeWebhookConfigurationsPages 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 *Chatbot) DescribeChimeWebhookConfigurationsPagesWithContext(ctx aws.Context, input *DescribeChimeWebhookConfigurationsInput, fn func(*DescribeChimeWebhookConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeChimeWebhookConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeChimeWebhookConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeChimeWebhookConfigurationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeSlackChannelConfigurations = "DescribeSlackChannelConfigurations" + +// DescribeSlackChannelConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSlackChannelConfigurations 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 DescribeSlackChannelConfigurations for more information on using the DescribeSlackChannelConfigurations +// 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 DescribeSlackChannelConfigurationsRequest method. +// req, resp := client.DescribeSlackChannelConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DescribeSlackChannelConfigurations +func (c *Chatbot) DescribeSlackChannelConfigurationsRequest(input *DescribeSlackChannelConfigurationsInput) (req *request.Request, output *DescribeSlackChannelConfigurationsOutput) { + op := &request.Operation{ + Name: opDescribeSlackChannelConfigurations, + HTTPMethod: "POST", + HTTPPath: "/describe-slack-channel-configurations", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeSlackChannelConfigurationsInput{} + } + + output = &DescribeSlackChannelConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSlackChannelConfigurations API operation for chatbot. +// +// # Lists Slack Channel Configurations optionally filtered by ChatConfigurationArn +// +// Returns awserr.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 chatbot's +// API operation DescribeSlackChannelConfigurations for usage and error information. +// +// Returned Error Types: +// +// - DescribeSlackChannelConfigurationsException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DescribeSlackChannelConfigurations +func (c *Chatbot) DescribeSlackChannelConfigurations(input *DescribeSlackChannelConfigurationsInput) (*DescribeSlackChannelConfigurationsOutput, error) { + req, out := c.DescribeSlackChannelConfigurationsRequest(input) + return out, req.Send() +} + +// DescribeSlackChannelConfigurationsWithContext is the same as DescribeSlackChannelConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSlackChannelConfigurations 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 *Chatbot) DescribeSlackChannelConfigurationsWithContext(ctx aws.Context, input *DescribeSlackChannelConfigurationsInput, opts ...request.Option) (*DescribeSlackChannelConfigurationsOutput, error) { + req, out := c.DescribeSlackChannelConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeSlackChannelConfigurationsPages iterates over the pages of a DescribeSlackChannelConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSlackChannelConfigurations 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 DescribeSlackChannelConfigurations operation. +// pageNum := 0 +// err := client.DescribeSlackChannelConfigurationsPages(params, +// func(page *chatbot.DescribeSlackChannelConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Chatbot) DescribeSlackChannelConfigurationsPages(input *DescribeSlackChannelConfigurationsInput, fn func(*DescribeSlackChannelConfigurationsOutput, bool) bool) error { + return c.DescribeSlackChannelConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSlackChannelConfigurationsPagesWithContext same as DescribeSlackChannelConfigurationsPages 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 *Chatbot) DescribeSlackChannelConfigurationsPagesWithContext(ctx aws.Context, input *DescribeSlackChannelConfigurationsInput, fn func(*DescribeSlackChannelConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeSlackChannelConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSlackChannelConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeSlackChannelConfigurationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeSlackUserIdentities = "DescribeSlackUserIdentities" + +// DescribeSlackUserIdentitiesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSlackUserIdentities 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 DescribeSlackUserIdentities for more information on using the DescribeSlackUserIdentities +// 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 DescribeSlackUserIdentitiesRequest method. +// req, resp := client.DescribeSlackUserIdentitiesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DescribeSlackUserIdentities +func (c *Chatbot) DescribeSlackUserIdentitiesRequest(input *DescribeSlackUserIdentitiesInput) (req *request.Request, output *DescribeSlackUserIdentitiesOutput) { + op := &request.Operation{ + Name: opDescribeSlackUserIdentities, + HTTPMethod: "POST", + HTTPPath: "/describe-slack-user-identities", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeSlackUserIdentitiesInput{} + } + + output = &DescribeSlackUserIdentitiesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSlackUserIdentities API operation for chatbot. +// +// Lists all Slack user identities with a mapped role. +// +// Returns awserr.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 chatbot's +// API operation DescribeSlackUserIdentities for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - DescribeSlackUserIdentitiesException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DescribeSlackUserIdentities +func (c *Chatbot) DescribeSlackUserIdentities(input *DescribeSlackUserIdentitiesInput) (*DescribeSlackUserIdentitiesOutput, error) { + req, out := c.DescribeSlackUserIdentitiesRequest(input) + return out, req.Send() +} + +// DescribeSlackUserIdentitiesWithContext is the same as DescribeSlackUserIdentities with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSlackUserIdentities 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 *Chatbot) DescribeSlackUserIdentitiesWithContext(ctx aws.Context, input *DescribeSlackUserIdentitiesInput, opts ...request.Option) (*DescribeSlackUserIdentitiesOutput, error) { + req, out := c.DescribeSlackUserIdentitiesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeSlackUserIdentitiesPages iterates over the pages of a DescribeSlackUserIdentities operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSlackUserIdentities 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 DescribeSlackUserIdentities operation. +// pageNum := 0 +// err := client.DescribeSlackUserIdentitiesPages(params, +// func(page *chatbot.DescribeSlackUserIdentitiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Chatbot) DescribeSlackUserIdentitiesPages(input *DescribeSlackUserIdentitiesInput, fn func(*DescribeSlackUserIdentitiesOutput, bool) bool) error { + return c.DescribeSlackUserIdentitiesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSlackUserIdentitiesPagesWithContext same as DescribeSlackUserIdentitiesPages 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 *Chatbot) DescribeSlackUserIdentitiesPagesWithContext(ctx aws.Context, input *DescribeSlackUserIdentitiesInput, fn func(*DescribeSlackUserIdentitiesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeSlackUserIdentitiesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSlackUserIdentitiesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeSlackUserIdentitiesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeSlackWorkspaces = "DescribeSlackWorkspaces" + +// DescribeSlackWorkspacesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSlackWorkspaces 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 DescribeSlackWorkspaces for more information on using the DescribeSlackWorkspaces +// 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 DescribeSlackWorkspacesRequest method. +// req, resp := client.DescribeSlackWorkspacesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DescribeSlackWorkspaces +func (c *Chatbot) DescribeSlackWorkspacesRequest(input *DescribeSlackWorkspacesInput) (req *request.Request, output *DescribeSlackWorkspacesOutput) { + op := &request.Operation{ + Name: opDescribeSlackWorkspaces, + HTTPMethod: "POST", + HTTPPath: "/describe-slack-workspaces", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeSlackWorkspacesInput{} + } + + output = &DescribeSlackWorkspacesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSlackWorkspaces API operation for chatbot. +// +// # Lists all authorized Slack Workspaces for AWS Account +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for chatbot's +// API operation DescribeSlackWorkspaces for usage and error information. +// +// Returned Error Types: +// +// - DescribeSlackWorkspacesException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DescribeSlackWorkspaces +func (c *Chatbot) DescribeSlackWorkspaces(input *DescribeSlackWorkspacesInput) (*DescribeSlackWorkspacesOutput, error) { + req, out := c.DescribeSlackWorkspacesRequest(input) + return out, req.Send() +} + +// DescribeSlackWorkspacesWithContext is the same as DescribeSlackWorkspaces with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSlackWorkspaces 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 *Chatbot) DescribeSlackWorkspacesWithContext(ctx aws.Context, input *DescribeSlackWorkspacesInput, opts ...request.Option) (*DescribeSlackWorkspacesOutput, error) { + req, out := c.DescribeSlackWorkspacesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeSlackWorkspacesPages iterates over the pages of a DescribeSlackWorkspaces operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSlackWorkspaces 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 DescribeSlackWorkspaces operation. +// pageNum := 0 +// err := client.DescribeSlackWorkspacesPages(params, +// func(page *chatbot.DescribeSlackWorkspacesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Chatbot) DescribeSlackWorkspacesPages(input *DescribeSlackWorkspacesInput, fn func(*DescribeSlackWorkspacesOutput, bool) bool) error { + return c.DescribeSlackWorkspacesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSlackWorkspacesPagesWithContext same as DescribeSlackWorkspacesPages 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 *Chatbot) DescribeSlackWorkspacesPagesWithContext(ctx aws.Context, input *DescribeSlackWorkspacesInput, fn func(*DescribeSlackWorkspacesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeSlackWorkspacesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSlackWorkspacesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeSlackWorkspacesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetAccountPreferences = "GetAccountPreferences" + +// GetAccountPreferencesRequest generates a "aws/request.Request" representing the +// client's request for the GetAccountPreferences 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 GetAccountPreferences for more information on using the GetAccountPreferences +// 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 GetAccountPreferencesRequest method. +// req, resp := client.GetAccountPreferencesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/GetAccountPreferences +func (c *Chatbot) GetAccountPreferencesRequest(input *GetAccountPreferencesInput) (req *request.Request, output *GetAccountPreferencesOutput) { + op := &request.Operation{ + Name: opGetAccountPreferences, + HTTPMethod: "POST", + HTTPPath: "/get-account-preferences", + } + + if input == nil { + input = &GetAccountPreferencesInput{} + } + + output = &GetAccountPreferencesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetAccountPreferences API operation for chatbot. +// +// # Get Chatbot account level preferences +// +// Returns awserr.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 chatbot's +// API operation GetAccountPreferences for usage and error information. +// +// Returned Error Types: +// +// - GetAccountPreferencesException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/GetAccountPreferences +func (c *Chatbot) GetAccountPreferences(input *GetAccountPreferencesInput) (*GetAccountPreferencesOutput, error) { + req, out := c.GetAccountPreferencesRequest(input) + return out, req.Send() +} + +// GetAccountPreferencesWithContext is the same as GetAccountPreferences with the addition of +// the ability to pass a context and additional request options. +// +// See GetAccountPreferences 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 *Chatbot) GetAccountPreferencesWithContext(ctx aws.Context, input *GetAccountPreferencesInput, opts ...request.Option) (*GetAccountPreferencesOutput, error) { + req, out := c.GetAccountPreferencesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetMicrosoftTeamsChannelConfiguration = "GetMicrosoftTeamsChannelConfiguration" + +// GetMicrosoftTeamsChannelConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetMicrosoftTeamsChannelConfiguration 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 GetMicrosoftTeamsChannelConfiguration for more information on using the GetMicrosoftTeamsChannelConfiguration +// 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 GetMicrosoftTeamsChannelConfigurationRequest method. +// req, resp := client.GetMicrosoftTeamsChannelConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/GetMicrosoftTeamsChannelConfiguration +func (c *Chatbot) GetMicrosoftTeamsChannelConfigurationRequest(input *GetMicrosoftTeamsChannelConfigurationInput) (req *request.Request, output *GetMicrosoftTeamsChannelConfigurationOutput) { + op := &request.Operation{ + Name: opGetMicrosoftTeamsChannelConfiguration, + HTTPMethod: "POST", + HTTPPath: "/get-ms-teams-channel-configuration", + } + + if input == nil { + input = &GetMicrosoftTeamsChannelConfigurationInput{} + } + + output = &GetMicrosoftTeamsChannelConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMicrosoftTeamsChannelConfiguration API operation for chatbot. +// +// # Get a single MS Teams Channel Configurations +// +// Returns awserr.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 chatbot's +// API operation GetMicrosoftTeamsChannelConfiguration for usage and error information. +// +// Returned Error Types: +// +// - GetTeamsChannelConfigurationException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/GetMicrosoftTeamsChannelConfiguration +func (c *Chatbot) GetMicrosoftTeamsChannelConfiguration(input *GetMicrosoftTeamsChannelConfigurationInput) (*GetMicrosoftTeamsChannelConfigurationOutput, error) { + req, out := c.GetMicrosoftTeamsChannelConfigurationRequest(input) + return out, req.Send() +} + +// GetMicrosoftTeamsChannelConfigurationWithContext is the same as GetMicrosoftTeamsChannelConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetMicrosoftTeamsChannelConfiguration 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 *Chatbot) GetMicrosoftTeamsChannelConfigurationWithContext(ctx aws.Context, input *GetMicrosoftTeamsChannelConfigurationInput, opts ...request.Option) (*GetMicrosoftTeamsChannelConfigurationOutput, error) { + req, out := c.GetMicrosoftTeamsChannelConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListMicrosoftTeamsChannelConfigurations = "ListMicrosoftTeamsChannelConfigurations" + +// ListMicrosoftTeamsChannelConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListMicrosoftTeamsChannelConfigurations 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 ListMicrosoftTeamsChannelConfigurations for more information on using the ListMicrosoftTeamsChannelConfigurations +// 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 ListMicrosoftTeamsChannelConfigurationsRequest method. +// req, resp := client.ListMicrosoftTeamsChannelConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/ListMicrosoftTeamsChannelConfigurations +func (c *Chatbot) ListMicrosoftTeamsChannelConfigurationsRequest(input *ListMicrosoftTeamsChannelConfigurationsInput) (req *request.Request, output *ListMicrosoftTeamsChannelConfigurationsOutput) { + op := &request.Operation{ + Name: opListMicrosoftTeamsChannelConfigurations, + HTTPMethod: "POST", + HTTPPath: "/list-ms-teams-channel-configurations", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListMicrosoftTeamsChannelConfigurationsInput{} + } + + output = &ListMicrosoftTeamsChannelConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListMicrosoftTeamsChannelConfigurations API operation for chatbot. +// +// # Lists MS Teams Channel Configurations optionally filtered by TeamId +// +// Returns awserr.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 chatbot's +// API operation ListMicrosoftTeamsChannelConfigurations for usage and error information. +// +// Returned Error Types: +// +// - ListTeamsChannelConfigurationsException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/ListMicrosoftTeamsChannelConfigurations +func (c *Chatbot) ListMicrosoftTeamsChannelConfigurations(input *ListMicrosoftTeamsChannelConfigurationsInput) (*ListMicrosoftTeamsChannelConfigurationsOutput, error) { + req, out := c.ListMicrosoftTeamsChannelConfigurationsRequest(input) + return out, req.Send() +} + +// ListMicrosoftTeamsChannelConfigurationsWithContext is the same as ListMicrosoftTeamsChannelConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See ListMicrosoftTeamsChannelConfigurations 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 *Chatbot) ListMicrosoftTeamsChannelConfigurationsWithContext(ctx aws.Context, input *ListMicrosoftTeamsChannelConfigurationsInput, opts ...request.Option) (*ListMicrosoftTeamsChannelConfigurationsOutput, error) { + req, out := c.ListMicrosoftTeamsChannelConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListMicrosoftTeamsChannelConfigurationsPages iterates over the pages of a ListMicrosoftTeamsChannelConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListMicrosoftTeamsChannelConfigurations 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 ListMicrosoftTeamsChannelConfigurations operation. +// pageNum := 0 +// err := client.ListMicrosoftTeamsChannelConfigurationsPages(params, +// func(page *chatbot.ListMicrosoftTeamsChannelConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Chatbot) ListMicrosoftTeamsChannelConfigurationsPages(input *ListMicrosoftTeamsChannelConfigurationsInput, fn func(*ListMicrosoftTeamsChannelConfigurationsOutput, bool) bool) error { + return c.ListMicrosoftTeamsChannelConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListMicrosoftTeamsChannelConfigurationsPagesWithContext same as ListMicrosoftTeamsChannelConfigurationsPages 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 *Chatbot) ListMicrosoftTeamsChannelConfigurationsPagesWithContext(ctx aws.Context, input *ListMicrosoftTeamsChannelConfigurationsInput, fn func(*ListMicrosoftTeamsChannelConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListMicrosoftTeamsChannelConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListMicrosoftTeamsChannelConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListMicrosoftTeamsChannelConfigurationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListMicrosoftTeamsConfiguredTeams = "ListMicrosoftTeamsConfiguredTeams" + +// ListMicrosoftTeamsConfiguredTeamsRequest generates a "aws/request.Request" representing the +// client's request for the ListMicrosoftTeamsConfiguredTeams 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 ListMicrosoftTeamsConfiguredTeams for more information on using the ListMicrosoftTeamsConfiguredTeams +// 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 ListMicrosoftTeamsConfiguredTeamsRequest method. +// req, resp := client.ListMicrosoftTeamsConfiguredTeamsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/ListMicrosoftTeamsConfiguredTeams +func (c *Chatbot) ListMicrosoftTeamsConfiguredTeamsRequest(input *ListMicrosoftTeamsConfiguredTeamsInput) (req *request.Request, output *ListMicrosoftTeamsConfiguredTeamsOutput) { + op := &request.Operation{ + Name: opListMicrosoftTeamsConfiguredTeams, + HTTPMethod: "POST", + HTTPPath: "/list-ms-teams-configured-teams", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListMicrosoftTeamsConfiguredTeamsInput{} + } + + output = &ListMicrosoftTeamsConfiguredTeamsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListMicrosoftTeamsConfiguredTeams API operation for chatbot. +// +// # Lists all authorized MS teams for AWS Account +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for chatbot's +// API operation ListMicrosoftTeamsConfiguredTeams for usage and error information. +// +// Returned Error Types: +// +// - ListMicrosoftTeamsConfiguredTeamsException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/ListMicrosoftTeamsConfiguredTeams +func (c *Chatbot) ListMicrosoftTeamsConfiguredTeams(input *ListMicrosoftTeamsConfiguredTeamsInput) (*ListMicrosoftTeamsConfiguredTeamsOutput, error) { + req, out := c.ListMicrosoftTeamsConfiguredTeamsRequest(input) + return out, req.Send() +} + +// ListMicrosoftTeamsConfiguredTeamsWithContext is the same as ListMicrosoftTeamsConfiguredTeams with the addition of +// the ability to pass a context and additional request options. +// +// See ListMicrosoftTeamsConfiguredTeams 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 *Chatbot) ListMicrosoftTeamsConfiguredTeamsWithContext(ctx aws.Context, input *ListMicrosoftTeamsConfiguredTeamsInput, opts ...request.Option) (*ListMicrosoftTeamsConfiguredTeamsOutput, error) { + req, out := c.ListMicrosoftTeamsConfiguredTeamsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListMicrosoftTeamsConfiguredTeamsPages iterates over the pages of a ListMicrosoftTeamsConfiguredTeams operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListMicrosoftTeamsConfiguredTeams 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 ListMicrosoftTeamsConfiguredTeams operation. +// pageNum := 0 +// err := client.ListMicrosoftTeamsConfiguredTeamsPages(params, +// func(page *chatbot.ListMicrosoftTeamsConfiguredTeamsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Chatbot) ListMicrosoftTeamsConfiguredTeamsPages(input *ListMicrosoftTeamsConfiguredTeamsInput, fn func(*ListMicrosoftTeamsConfiguredTeamsOutput, bool) bool) error { + return c.ListMicrosoftTeamsConfiguredTeamsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListMicrosoftTeamsConfiguredTeamsPagesWithContext same as ListMicrosoftTeamsConfiguredTeamsPages 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 *Chatbot) ListMicrosoftTeamsConfiguredTeamsPagesWithContext(ctx aws.Context, input *ListMicrosoftTeamsConfiguredTeamsInput, fn func(*ListMicrosoftTeamsConfiguredTeamsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListMicrosoftTeamsConfiguredTeamsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListMicrosoftTeamsConfiguredTeamsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListMicrosoftTeamsConfiguredTeamsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListMicrosoftTeamsUserIdentities = "ListMicrosoftTeamsUserIdentities" + +// ListMicrosoftTeamsUserIdentitiesRequest generates a "aws/request.Request" representing the +// client's request for the ListMicrosoftTeamsUserIdentities 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 ListMicrosoftTeamsUserIdentities for more information on using the ListMicrosoftTeamsUserIdentities +// 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 ListMicrosoftTeamsUserIdentitiesRequest method. +// req, resp := client.ListMicrosoftTeamsUserIdentitiesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/ListMicrosoftTeamsUserIdentities +func (c *Chatbot) ListMicrosoftTeamsUserIdentitiesRequest(input *ListMicrosoftTeamsUserIdentitiesInput) (req *request.Request, output *ListMicrosoftTeamsUserIdentitiesOutput) { + op := &request.Operation{ + Name: opListMicrosoftTeamsUserIdentities, + HTTPMethod: "POST", + HTTPPath: "/list-ms-teams-user-identities", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListMicrosoftTeamsUserIdentitiesInput{} + } + + output = &ListMicrosoftTeamsUserIdentitiesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListMicrosoftTeamsUserIdentities API operation for chatbot. +// +// Lists all Microsoft Teams user identities with a mapped role. +// +// Returns awserr.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 chatbot's +// API operation ListMicrosoftTeamsUserIdentities for usage and error information. +// +// Returned Error Types: +// +// - ListMicrosoftTeamsUserIdentitiesException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/ListMicrosoftTeamsUserIdentities +func (c *Chatbot) ListMicrosoftTeamsUserIdentities(input *ListMicrosoftTeamsUserIdentitiesInput) (*ListMicrosoftTeamsUserIdentitiesOutput, error) { + req, out := c.ListMicrosoftTeamsUserIdentitiesRequest(input) + return out, req.Send() +} + +// ListMicrosoftTeamsUserIdentitiesWithContext is the same as ListMicrosoftTeamsUserIdentities with the addition of +// the ability to pass a context and additional request options. +// +// See ListMicrosoftTeamsUserIdentities 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 *Chatbot) ListMicrosoftTeamsUserIdentitiesWithContext(ctx aws.Context, input *ListMicrosoftTeamsUserIdentitiesInput, opts ...request.Option) (*ListMicrosoftTeamsUserIdentitiesOutput, error) { + req, out := c.ListMicrosoftTeamsUserIdentitiesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListMicrosoftTeamsUserIdentitiesPages iterates over the pages of a ListMicrosoftTeamsUserIdentities operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListMicrosoftTeamsUserIdentities 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 ListMicrosoftTeamsUserIdentities operation. +// pageNum := 0 +// err := client.ListMicrosoftTeamsUserIdentitiesPages(params, +// func(page *chatbot.ListMicrosoftTeamsUserIdentitiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Chatbot) ListMicrosoftTeamsUserIdentitiesPages(input *ListMicrosoftTeamsUserIdentitiesInput, fn func(*ListMicrosoftTeamsUserIdentitiesOutput, bool) bool) error { + return c.ListMicrosoftTeamsUserIdentitiesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListMicrosoftTeamsUserIdentitiesPagesWithContext same as ListMicrosoftTeamsUserIdentitiesPages 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 *Chatbot) ListMicrosoftTeamsUserIdentitiesPagesWithContext(ctx aws.Context, input *ListMicrosoftTeamsUserIdentitiesInput, fn func(*ListMicrosoftTeamsUserIdentitiesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListMicrosoftTeamsUserIdentitiesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListMicrosoftTeamsUserIdentitiesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListMicrosoftTeamsUserIdentitiesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opUpdateAccountPreferences = "UpdateAccountPreferences" + +// UpdateAccountPreferencesRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAccountPreferences 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 UpdateAccountPreferences for more information on using the UpdateAccountPreferences +// 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 UpdateAccountPreferencesRequest method. +// req, resp := client.UpdateAccountPreferencesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/UpdateAccountPreferences +func (c *Chatbot) UpdateAccountPreferencesRequest(input *UpdateAccountPreferencesInput) (req *request.Request, output *UpdateAccountPreferencesOutput) { + op := &request.Operation{ + Name: opUpdateAccountPreferences, + HTTPMethod: "POST", + HTTPPath: "/update-account-preferences", + } + + if input == nil { + input = &UpdateAccountPreferencesInput{} + } + + output = &UpdateAccountPreferencesOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAccountPreferences API operation for chatbot. +// +// # Update Chatbot account level preferences +// +// Returns awserr.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 chatbot's +// API operation UpdateAccountPreferences for usage and error information. +// +// Returned Error Types: +// +// - UpdateAccountPreferencesException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/UpdateAccountPreferences +func (c *Chatbot) UpdateAccountPreferences(input *UpdateAccountPreferencesInput) (*UpdateAccountPreferencesOutput, error) { + req, out := c.UpdateAccountPreferencesRequest(input) + return out, req.Send() +} + +// UpdateAccountPreferencesWithContext is the same as UpdateAccountPreferences with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAccountPreferences 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 *Chatbot) UpdateAccountPreferencesWithContext(ctx aws.Context, input *UpdateAccountPreferencesInput, opts ...request.Option) (*UpdateAccountPreferencesOutput, error) { + req, out := c.UpdateAccountPreferencesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateChimeWebhookConfiguration = "UpdateChimeWebhookConfiguration" + +// UpdateChimeWebhookConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateChimeWebhookConfiguration 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 UpdateChimeWebhookConfiguration for more information on using the UpdateChimeWebhookConfiguration +// 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 UpdateChimeWebhookConfigurationRequest method. +// req, resp := client.UpdateChimeWebhookConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/UpdateChimeWebhookConfiguration +func (c *Chatbot) UpdateChimeWebhookConfigurationRequest(input *UpdateChimeWebhookConfigurationInput) (req *request.Request, output *UpdateChimeWebhookConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateChimeWebhookConfiguration, + HTTPMethod: "POST", + HTTPPath: "/update-chime-webhook-configuration", + } + + if input == nil { + input = &UpdateChimeWebhookConfigurationInput{} + } + + output = &UpdateChimeWebhookConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateChimeWebhookConfiguration API operation for chatbot. +// +// # Updates a Chime Webhook Configuration +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for chatbot's +// API operation UpdateChimeWebhookConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// We were not able to find the resource for your request. +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - UpdateChimeWebhookConfigurationException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/UpdateChimeWebhookConfiguration +func (c *Chatbot) UpdateChimeWebhookConfiguration(input *UpdateChimeWebhookConfigurationInput) (*UpdateChimeWebhookConfigurationOutput, error) { + req, out := c.UpdateChimeWebhookConfigurationRequest(input) + return out, req.Send() +} + +// UpdateChimeWebhookConfigurationWithContext is the same as UpdateChimeWebhookConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateChimeWebhookConfiguration 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 *Chatbot) UpdateChimeWebhookConfigurationWithContext(ctx aws.Context, input *UpdateChimeWebhookConfigurationInput, opts ...request.Option) (*UpdateChimeWebhookConfigurationOutput, error) { + req, out := c.UpdateChimeWebhookConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateMicrosoftTeamsChannelConfiguration = "UpdateMicrosoftTeamsChannelConfiguration" + +// UpdateMicrosoftTeamsChannelConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMicrosoftTeamsChannelConfiguration 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 UpdateMicrosoftTeamsChannelConfiguration for more information on using the UpdateMicrosoftTeamsChannelConfiguration +// 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 UpdateMicrosoftTeamsChannelConfigurationRequest method. +// req, resp := client.UpdateMicrosoftTeamsChannelConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/UpdateMicrosoftTeamsChannelConfiguration +func (c *Chatbot) UpdateMicrosoftTeamsChannelConfigurationRequest(input *UpdateMicrosoftTeamsChannelConfigurationInput) (req *request.Request, output *UpdateMicrosoftTeamsChannelConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateMicrosoftTeamsChannelConfiguration, + HTTPMethod: "POST", + HTTPPath: "/update-ms-teams-channel-configuration", + } + + if input == nil { + input = &UpdateMicrosoftTeamsChannelConfigurationInput{} + } + + output = &UpdateMicrosoftTeamsChannelConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMicrosoftTeamsChannelConfiguration API operation for chatbot. +// +// # Updates MS Teams Channel Configuration +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for chatbot's +// API operation UpdateMicrosoftTeamsChannelConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// We were not able to find the resource for your request. +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - UpdateTeamsChannelConfigurationException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/UpdateMicrosoftTeamsChannelConfiguration +func (c *Chatbot) UpdateMicrosoftTeamsChannelConfiguration(input *UpdateMicrosoftTeamsChannelConfigurationInput) (*UpdateMicrosoftTeamsChannelConfigurationOutput, error) { + req, out := c.UpdateMicrosoftTeamsChannelConfigurationRequest(input) + return out, req.Send() +} + +// UpdateMicrosoftTeamsChannelConfigurationWithContext is the same as UpdateMicrosoftTeamsChannelConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMicrosoftTeamsChannelConfiguration 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 *Chatbot) UpdateMicrosoftTeamsChannelConfigurationWithContext(ctx aws.Context, input *UpdateMicrosoftTeamsChannelConfigurationInput, opts ...request.Option) (*UpdateMicrosoftTeamsChannelConfigurationOutput, error) { + req, out := c.UpdateMicrosoftTeamsChannelConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateSlackChannelConfiguration = "UpdateSlackChannelConfiguration" + +// UpdateSlackChannelConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSlackChannelConfiguration 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 UpdateSlackChannelConfiguration for more information on using the UpdateSlackChannelConfiguration +// 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 UpdateSlackChannelConfigurationRequest method. +// req, resp := client.UpdateSlackChannelConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/UpdateSlackChannelConfiguration +func (c *Chatbot) UpdateSlackChannelConfigurationRequest(input *UpdateSlackChannelConfigurationInput) (req *request.Request, output *UpdateSlackChannelConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateSlackChannelConfiguration, + HTTPMethod: "POST", + HTTPPath: "/update-slack-channel-configuration", + } + + if input == nil { + input = &UpdateSlackChannelConfigurationInput{} + } + + output = &UpdateSlackChannelConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSlackChannelConfiguration API operation for chatbot. +// +// # Updates Slack Channel Configuration +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for chatbot's +// API operation UpdateSlackChannelConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// We were not able to find the resource for your request. +// +// - InvalidParameterException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - InvalidRequestException +// Your request input doesn't meet the constraints that AWS Chatbot requires. +// +// - UpdateSlackChannelConfigurationException +// We can’t process your request right now because of a server issue. Try +// again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/UpdateSlackChannelConfiguration +func (c *Chatbot) UpdateSlackChannelConfiguration(input *UpdateSlackChannelConfigurationInput) (*UpdateSlackChannelConfigurationOutput, error) { + req, out := c.UpdateSlackChannelConfigurationRequest(input) + return out, req.Send() +} + +// UpdateSlackChannelConfigurationWithContext is the same as UpdateSlackChannelConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSlackChannelConfiguration 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 *Chatbot) UpdateSlackChannelConfigurationWithContext(ctx aws.Context, input *UpdateSlackChannelConfigurationInput, opts ...request.Option) (*UpdateSlackChannelConfigurationOutput, error) { + req, out := c.UpdateSlackChannelConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Preferences which apply for AWS Chatbot usage in the calling AWS account. +type AccountPreferences struct { + _ struct{} `type:"structure"` + + // Turns on training data collection. This helps improve the AWS Chatbot experience + // by allowing AWS Chatbot to store and use your customer information, such + // as AWS Chatbot configurations, notifications, user inputs, AWS Chatbot generated + // responses, and interaction data. This data helps us to continuously improve + // and develop Artificial Intelligence (AI) technologies. Your data is not shared + // with any third parties and is protected using sophisticated controls to prevent + // unauthorized access and misuse. AWS Chatbot does not store or use interactions + // in chat channels with Amazon Q for training AWS Chatbot’s AI technologies. + TrainingDataCollectionEnabled *bool `type:"boolean"` + + // Enables use of a user role requirement in your chat configuration. + UserAuthorizationRequired *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountPreferences) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountPreferences) GoString() string { + return s.String() +} + +// SetTrainingDataCollectionEnabled sets the TrainingDataCollectionEnabled field's value. +func (s *AccountPreferences) SetTrainingDataCollectionEnabled(v bool) *AccountPreferences { + s.TrainingDataCollectionEnabled = &v + return s +} + +// SetUserAuthorizationRequired sets the UserAuthorizationRequired field's value. +func (s *AccountPreferences) SetUserAuthorizationRequired(v bool) *AccountPreferences { + s.UserAuthorizationRequired = &v + return s +} + +// An AWS Chatbot configuration for Amazon Chime. +type ChimeWebhookConfiguration struct { + _ struct{} `type:"structure"` + + // The ARN of the ChimeWebhookConfiguration. + // + // ChatConfigurationArn is a required field + ChatConfigurationArn *string `min:"19" type:"string" required:"true"` + + // The name of the configuration. + ConfigurationName *string `min:"1" type:"string"` + + // The ARN of the IAM role that defines the permissions for AWS Chatbot. This + // is a user-defined role that AWS Chatbot will assume. This is not the service-linked + // role. For more information, see IAM Policies for AWS Chatbot. + // + // IamRoleArn is a required field + IamRoleArn *string `min:"12" type:"string" required:"true"` + + // Specifies the logging level for this configuration. This property affects + // the log entries pushed to Amazon CloudWatch Logs.Logging levels include ERROR, + // INFO, or NONE. + LoggingLevel *string `min:"4" type:"string"` + + // The ARNs of the SNS topics that deliver notifications to AWS Chatbot. + // + // SnsTopicArns is a required field + SnsTopicArns []*string `type:"list" required:"true"` + + // Description of the webhook. Recommend using the convention `RoomName/WebhookName`. + // See Chime setup tutorial for more details: https://docs.aws.amazon.com/chatbot/latest/adminguide/chime-setup.html. + // + // WebhookDescription is a required field + WebhookDescription *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChimeWebhookConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChimeWebhookConfiguration) GoString() string { + return s.String() +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *ChimeWebhookConfiguration) SetChatConfigurationArn(v string) *ChimeWebhookConfiguration { + s.ChatConfigurationArn = &v + return s +} + +// SetConfigurationName sets the ConfigurationName field's value. +func (s *ChimeWebhookConfiguration) SetConfigurationName(v string) *ChimeWebhookConfiguration { + s.ConfigurationName = &v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *ChimeWebhookConfiguration) SetIamRoleArn(v string) *ChimeWebhookConfiguration { + s.IamRoleArn = &v + return s +} + +// SetLoggingLevel sets the LoggingLevel field's value. +func (s *ChimeWebhookConfiguration) SetLoggingLevel(v string) *ChimeWebhookConfiguration { + s.LoggingLevel = &v + return s +} + +// SetSnsTopicArns sets the SnsTopicArns field's value. +func (s *ChimeWebhookConfiguration) SetSnsTopicArns(v []*string) *ChimeWebhookConfiguration { + s.SnsTopicArns = v + return s +} + +// SetWebhookDescription sets the WebhookDescription field's value. +func (s *ChimeWebhookConfiguration) SetWebhookDescription(v string) *ChimeWebhookConfiguration { + s.WebhookDescription = &v + return s +} + +// A Microsoft Teams team that has been authorized with AWS Chatbot. +type ConfiguredTeam struct { + _ struct{} `type:"structure"` + + // The ID of the Microsoft Team authorized with AWS Chatbot. To get the team + // ID, you must perform the initial authorization flow with Microsoft Teams + // in the AWS Chatbot console. Then you can copy and paste the team ID from + // the console. For more details, see steps 1-4 in Get started with Microsoft + // Teams in the AWS Chatbot Administrator Guide. + // + // TeamId is a required field + TeamId *string `min:"36" type:"string" required:"true"` + + // The name of the Microsoft Teams Team. + TeamName *string `min:"36" type:"string"` + + // The ID of the Microsoft Teams tenant. + // + // TenantId is a required field + TenantId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTeam) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTeam) GoString() string { + return s.String() +} + +// SetTeamId sets the TeamId field's value. +func (s *ConfiguredTeam) SetTeamId(v string) *ConfiguredTeam { + s.TeamId = &v + return s +} + +// SetTeamName sets the TeamName field's value. +func (s *ConfiguredTeam) SetTeamName(v string) *ConfiguredTeam { + s.TeamName = &v + return s +} + +// SetTenantId sets the TenantId field's value. +func (s *ConfiguredTeam) SetTenantId(v string) *ConfiguredTeam { + s.TenantId = &v + return s +} + +// There was an issue processing your request. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type CreateChimeWebhookConfigurationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateChimeWebhookConfigurationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateChimeWebhookConfigurationException) GoString() string { + return s.String() +} + +func newErrorCreateChimeWebhookConfigurationException(v protocol.ResponseMetadata) error { + return &CreateChimeWebhookConfigurationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *CreateChimeWebhookConfigurationException) Code() string { + return "CreateChimeWebhookConfigurationException" +} + +// Message returns the exception's message. +func (s *CreateChimeWebhookConfigurationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *CreateChimeWebhookConfigurationException) OrigErr() error { + return nil +} + +func (s *CreateChimeWebhookConfigurationException) 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 *CreateChimeWebhookConfigurationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *CreateChimeWebhookConfigurationException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateChimeWebhookConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of the configuration. + // + // ConfigurationName is a required field + ConfigurationName *string `min:"1" type:"string" required:"true"` + + // This is a user-defined role that AWS Chatbot will assume. This is not the + // service-linked role. For more information, see IAM Policies for AWS Chatbot. + // + // IamRoleArn is a required field + IamRoleArn *string `min:"12" type:"string" required:"true"` + + // Logging levels include ERROR, INFO, or NONE. + LoggingLevel *string `min:"4" type:"string"` + + // The ARNs of the SNS topics that deliver notifications to AWS Chatbot. + // + // SnsTopicArns is a required field + SnsTopicArns []*string `type:"list" required:"true"` + + // Description of the webhook. Recommend using the convention `RoomName/WebhookName`. + // See Chime setup tutorial for more details: https://docs.aws.amazon.com/chatbot/latest/adminguide/chime-setup.html. + // + // WebhookDescription is a required field + WebhookDescription *string `min:"1" type:"string" required:"true"` + + // URL for the Chime webhook. + // + // WebhookUrl is a required field + WebhookUrl *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateChimeWebhookConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateChimeWebhookConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateChimeWebhookConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateChimeWebhookConfigurationInput"} + if s.ConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationName")) + } + if s.ConfigurationName != nil && len(*s.ConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationName", 1)) + } + if s.IamRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("IamRoleArn")) + } + if s.IamRoleArn != nil && len(*s.IamRoleArn) < 12 { + invalidParams.Add(request.NewErrParamMinLen("IamRoleArn", 12)) + } + if s.LoggingLevel != nil && len(*s.LoggingLevel) < 4 { + invalidParams.Add(request.NewErrParamMinLen("LoggingLevel", 4)) + } + if s.SnsTopicArns == nil { + invalidParams.Add(request.NewErrParamRequired("SnsTopicArns")) + } + if s.WebhookDescription == nil { + invalidParams.Add(request.NewErrParamRequired("WebhookDescription")) + } + if s.WebhookDescription != nil && len(*s.WebhookDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WebhookDescription", 1)) + } + if s.WebhookUrl == nil { + invalidParams.Add(request.NewErrParamRequired("WebhookUrl")) + } + if s.WebhookUrl != nil && len(*s.WebhookUrl) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WebhookUrl", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigurationName sets the ConfigurationName field's value. +func (s *CreateChimeWebhookConfigurationInput) SetConfigurationName(v string) *CreateChimeWebhookConfigurationInput { + s.ConfigurationName = &v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *CreateChimeWebhookConfigurationInput) SetIamRoleArn(v string) *CreateChimeWebhookConfigurationInput { + s.IamRoleArn = &v + return s +} + +// SetLoggingLevel sets the LoggingLevel field's value. +func (s *CreateChimeWebhookConfigurationInput) SetLoggingLevel(v string) *CreateChimeWebhookConfigurationInput { + s.LoggingLevel = &v + return s +} + +// SetSnsTopicArns sets the SnsTopicArns field's value. +func (s *CreateChimeWebhookConfigurationInput) SetSnsTopicArns(v []*string) *CreateChimeWebhookConfigurationInput { + s.SnsTopicArns = v + return s +} + +// SetWebhookDescription sets the WebhookDescription field's value. +func (s *CreateChimeWebhookConfigurationInput) SetWebhookDescription(v string) *CreateChimeWebhookConfigurationInput { + s.WebhookDescription = &v + return s +} + +// SetWebhookUrl sets the WebhookUrl field's value. +func (s *CreateChimeWebhookConfigurationInput) SetWebhookUrl(v string) *CreateChimeWebhookConfigurationInput { + s.WebhookUrl = &v + return s +} + +type CreateChimeWebhookConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Chime webhook configuration. + WebhookConfiguration *ChimeWebhookConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateChimeWebhookConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateChimeWebhookConfigurationOutput) GoString() string { + return s.String() +} + +// SetWebhookConfiguration sets the WebhookConfiguration field's value. +func (s *CreateChimeWebhookConfigurationOutput) SetWebhookConfiguration(v *ChimeWebhookConfiguration) *CreateChimeWebhookConfigurationOutput { + s.WebhookConfiguration = v + return s +} + +type CreateMicrosoftTeamsChannelConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ID of the Microsoft Teams channel. + // + // ChannelId is a required field + ChannelId *string `min:"1" type:"string" required:"true"` + + // The name of the Microsoft Teams channel. + ChannelName *string `min:"1" type:"string"` + + // The name of the configuration. + // + // ConfigurationName is a required field + ConfigurationName *string `min:"1" type:"string" required:"true"` + + // The list of IAM policy ARNs that are applied as channel guardrails. The AWS + // managed 'AdministratorAccess' policy is applied by default if this is not + // set. + GuardrailPolicyArns []*string `type:"list"` + + // The ARN of the IAM role that defines the permissions for AWS Chatbot. This + // is a user-defined role that AWS Chatbot will assume. This is not the service-linked + // role. For more information, see IAM Policies for AWS Chatbot. + // + // IamRoleArn is a required field + IamRoleArn *string `min:"12" type:"string" required:"true"` + + // Logging levels include ERROR, INFO, or NONE. + LoggingLevel *string `min:"4" type:"string"` + + // The ARNs of the SNS topics that deliver notifications to AWS Chatbot. + SnsTopicArns []*string `type:"list"` + + // The ID of the Microsoft Team authorized with AWS Chatbot. To get the team + // ID, you must perform the initial authorization flow with Microsoft Teams + // in the AWS Chatbot console. Then you can copy and paste the team ID from + // the console. For more details, see steps 1-4 in Get started with Microsoft + // Teams in the AWS Chatbot Administrator Guide. + // + // TeamId is a required field + TeamId *string `min:"36" type:"string" required:"true"` + + // The name of the Microsoft Teams Team. + TeamName *string `min:"1" type:"string"` + + // The ID of the Microsoft Teams tenant. + // + // TenantId is a required field + TenantId *string `min:"36" type:"string" required:"true"` + + // Enables use of a user role requirement in your chat configuration. + UserAuthorizationRequired *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateMicrosoftTeamsChannelConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateMicrosoftTeamsChannelConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateMicrosoftTeamsChannelConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMicrosoftTeamsChannelConfigurationInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) + } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + if s.ChannelName != nil && len(*s.ChannelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelName", 1)) + } + if s.ConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationName")) + } + if s.ConfigurationName != nil && len(*s.ConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationName", 1)) + } + if s.IamRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("IamRoleArn")) + } + if s.IamRoleArn != nil && len(*s.IamRoleArn) < 12 { + invalidParams.Add(request.NewErrParamMinLen("IamRoleArn", 12)) + } + if s.LoggingLevel != nil && len(*s.LoggingLevel) < 4 { + invalidParams.Add(request.NewErrParamMinLen("LoggingLevel", 4)) + } + if s.TeamId == nil { + invalidParams.Add(request.NewErrParamRequired("TeamId")) + } + if s.TeamId != nil && len(*s.TeamId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("TeamId", 36)) + } + if s.TeamName != nil && len(*s.TeamName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TeamName", 1)) + } + if s.TenantId == nil { + invalidParams.Add(request.NewErrParamRequired("TenantId")) + } + if s.TenantId != nil && len(*s.TenantId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("TenantId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelId sets the ChannelId field's value. +func (s *CreateMicrosoftTeamsChannelConfigurationInput) SetChannelId(v string) *CreateMicrosoftTeamsChannelConfigurationInput { + s.ChannelId = &v + return s +} + +// SetChannelName sets the ChannelName field's value. +func (s *CreateMicrosoftTeamsChannelConfigurationInput) SetChannelName(v string) *CreateMicrosoftTeamsChannelConfigurationInput { + s.ChannelName = &v + return s +} + +// SetConfigurationName sets the ConfigurationName field's value. +func (s *CreateMicrosoftTeamsChannelConfigurationInput) SetConfigurationName(v string) *CreateMicrosoftTeamsChannelConfigurationInput { + s.ConfigurationName = &v + return s +} + +// SetGuardrailPolicyArns sets the GuardrailPolicyArns field's value. +func (s *CreateMicrosoftTeamsChannelConfigurationInput) SetGuardrailPolicyArns(v []*string) *CreateMicrosoftTeamsChannelConfigurationInput { + s.GuardrailPolicyArns = v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *CreateMicrosoftTeamsChannelConfigurationInput) SetIamRoleArn(v string) *CreateMicrosoftTeamsChannelConfigurationInput { + s.IamRoleArn = &v + return s +} + +// SetLoggingLevel sets the LoggingLevel field's value. +func (s *CreateMicrosoftTeamsChannelConfigurationInput) SetLoggingLevel(v string) *CreateMicrosoftTeamsChannelConfigurationInput { + s.LoggingLevel = &v + return s +} + +// SetSnsTopicArns sets the SnsTopicArns field's value. +func (s *CreateMicrosoftTeamsChannelConfigurationInput) SetSnsTopicArns(v []*string) *CreateMicrosoftTeamsChannelConfigurationInput { + s.SnsTopicArns = v + return s +} + +// SetTeamId sets the TeamId field's value. +func (s *CreateMicrosoftTeamsChannelConfigurationInput) SetTeamId(v string) *CreateMicrosoftTeamsChannelConfigurationInput { + s.TeamId = &v + return s +} + +// SetTeamName sets the TeamName field's value. +func (s *CreateMicrosoftTeamsChannelConfigurationInput) SetTeamName(v string) *CreateMicrosoftTeamsChannelConfigurationInput { + s.TeamName = &v + return s +} + +// SetTenantId sets the TenantId field's value. +func (s *CreateMicrosoftTeamsChannelConfigurationInput) SetTenantId(v string) *CreateMicrosoftTeamsChannelConfigurationInput { + s.TenantId = &v + return s +} + +// SetUserAuthorizationRequired sets the UserAuthorizationRequired field's value. +func (s *CreateMicrosoftTeamsChannelConfigurationInput) SetUserAuthorizationRequired(v bool) *CreateMicrosoftTeamsChannelConfigurationInput { + s.UserAuthorizationRequired = &v + return s +} + +type CreateMicrosoftTeamsChannelConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The configuration for a Microsoft Teams channel configured with AWS Chatbot. + ChannelConfiguration *TeamsChannelConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateMicrosoftTeamsChannelConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateMicrosoftTeamsChannelConfigurationOutput) GoString() string { + return s.String() +} + +// SetChannelConfiguration sets the ChannelConfiguration field's value. +func (s *CreateMicrosoftTeamsChannelConfigurationOutput) SetChannelConfiguration(v *TeamsChannelConfiguration) *CreateMicrosoftTeamsChannelConfigurationOutput { + s.ChannelConfiguration = v + return s +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type CreateSlackChannelConfigurationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSlackChannelConfigurationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSlackChannelConfigurationException) GoString() string { + return s.String() +} + +func newErrorCreateSlackChannelConfigurationException(v protocol.ResponseMetadata) error { + return &CreateSlackChannelConfigurationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *CreateSlackChannelConfigurationException) Code() string { + return "CreateSlackChannelConfigurationException" +} + +// Message returns the exception's message. +func (s *CreateSlackChannelConfigurationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *CreateSlackChannelConfigurationException) OrigErr() error { + return nil +} + +func (s *CreateSlackChannelConfigurationException) 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 *CreateSlackChannelConfigurationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *CreateSlackChannelConfigurationException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateSlackChannelConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of the configuration. + // + // ConfigurationName is a required field + ConfigurationName *string `min:"1" type:"string" required:"true"` + + // The list of IAM policy ARNs that are applied as channel guardrails. The AWS + // managed 'AdministratorAccess' policy is applied by default if this is not + // set. + GuardrailPolicyArns []*string `type:"list"` + + // The ARN of the IAM role that defines the permissions for AWS Chatbot. This + // is a user-defined role that AWS Chatbot will assume. This is not the service-linked + // role. For more information, see IAM Policies for AWS Chatbot. + // + // IamRoleArn is a required field + IamRoleArn *string `min:"12" type:"string" required:"true"` + + // Logging levels include ERROR, INFO, or NONE. + LoggingLevel *string `min:"4" type:"string"` + + // The ID of the Slack channel. To get the ID, open Slack, right click on the + // channel name in the left pane, then choose Copy Link. The channel ID is the + // 9-character string at the end of the URL. For example, ABCBBLZZZ. + // + // SlackChannelId is a required field + SlackChannelId *string `min:"1" type:"string" required:"true"` + + // The name of the Slack Channel. + SlackChannelName *string `min:"1" type:"string"` + + // The ID of the Slack workspace authorized with AWS Chatbot. + // + // SlackTeamId is a required field + SlackTeamId *string `min:"1" type:"string" required:"true"` + + // The ARNs of the SNS topics that deliver notifications to AWS Chatbot. + SnsTopicArns []*string `type:"list"` + + // Enables use of a user role requirement in your chat configuration. + UserAuthorizationRequired *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSlackChannelConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSlackChannelConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSlackChannelConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSlackChannelConfigurationInput"} + if s.ConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationName")) + } + if s.ConfigurationName != nil && len(*s.ConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationName", 1)) + } + if s.IamRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("IamRoleArn")) + } + if s.IamRoleArn != nil && len(*s.IamRoleArn) < 12 { + invalidParams.Add(request.NewErrParamMinLen("IamRoleArn", 12)) + } + if s.LoggingLevel != nil && len(*s.LoggingLevel) < 4 { + invalidParams.Add(request.NewErrParamMinLen("LoggingLevel", 4)) + } + if s.SlackChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("SlackChannelId")) + } + if s.SlackChannelId != nil && len(*s.SlackChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SlackChannelId", 1)) + } + if s.SlackChannelName != nil && len(*s.SlackChannelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SlackChannelName", 1)) + } + if s.SlackTeamId == nil { + invalidParams.Add(request.NewErrParamRequired("SlackTeamId")) + } + if s.SlackTeamId != nil && len(*s.SlackTeamId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SlackTeamId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigurationName sets the ConfigurationName field's value. +func (s *CreateSlackChannelConfigurationInput) SetConfigurationName(v string) *CreateSlackChannelConfigurationInput { + s.ConfigurationName = &v + return s +} + +// SetGuardrailPolicyArns sets the GuardrailPolicyArns field's value. +func (s *CreateSlackChannelConfigurationInput) SetGuardrailPolicyArns(v []*string) *CreateSlackChannelConfigurationInput { + s.GuardrailPolicyArns = v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *CreateSlackChannelConfigurationInput) SetIamRoleArn(v string) *CreateSlackChannelConfigurationInput { + s.IamRoleArn = &v + return s +} + +// SetLoggingLevel sets the LoggingLevel field's value. +func (s *CreateSlackChannelConfigurationInput) SetLoggingLevel(v string) *CreateSlackChannelConfigurationInput { + s.LoggingLevel = &v + return s +} + +// SetSlackChannelId sets the SlackChannelId field's value. +func (s *CreateSlackChannelConfigurationInput) SetSlackChannelId(v string) *CreateSlackChannelConfigurationInput { + s.SlackChannelId = &v + return s +} + +// SetSlackChannelName sets the SlackChannelName field's value. +func (s *CreateSlackChannelConfigurationInput) SetSlackChannelName(v string) *CreateSlackChannelConfigurationInput { + s.SlackChannelName = &v + return s +} + +// SetSlackTeamId sets the SlackTeamId field's value. +func (s *CreateSlackChannelConfigurationInput) SetSlackTeamId(v string) *CreateSlackChannelConfigurationInput { + s.SlackTeamId = &v + return s +} + +// SetSnsTopicArns sets the SnsTopicArns field's value. +func (s *CreateSlackChannelConfigurationInput) SetSnsTopicArns(v []*string) *CreateSlackChannelConfigurationInput { + s.SnsTopicArns = v + return s +} + +// SetUserAuthorizationRequired sets the UserAuthorizationRequired field's value. +func (s *CreateSlackChannelConfigurationInput) SetUserAuthorizationRequired(v bool) *CreateSlackChannelConfigurationInput { + s.UserAuthorizationRequired = &v + return s +} + +type CreateSlackChannelConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The configuration for a Slack channel configured with AWS Chatbot. + ChannelConfiguration *SlackChannelConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSlackChannelConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSlackChannelConfigurationOutput) GoString() string { + return s.String() +} + +// SetChannelConfiguration sets the ChannelConfiguration field's value. +func (s *CreateSlackChannelConfigurationOutput) SetChannelConfiguration(v *SlackChannelConfiguration) *CreateSlackChannelConfigurationOutput { + s.ChannelConfiguration = v + return s +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type CreateTeamsChannelConfigurationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTeamsChannelConfigurationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTeamsChannelConfigurationException) GoString() string { + return s.String() +} + +func newErrorCreateTeamsChannelConfigurationException(v protocol.ResponseMetadata) error { + return &CreateTeamsChannelConfigurationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *CreateTeamsChannelConfigurationException) Code() string { + return "CreateTeamsChannelConfigurationException" +} + +// Message returns the exception's message. +func (s *CreateTeamsChannelConfigurationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *CreateTeamsChannelConfigurationException) OrigErr() error { + return nil +} + +func (s *CreateTeamsChannelConfigurationException) 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 *CreateTeamsChannelConfigurationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *CreateTeamsChannelConfigurationException) RequestID() string { + return s.RespMetadata.RequestID +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type DeleteChimeWebhookConfigurationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteChimeWebhookConfigurationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteChimeWebhookConfigurationException) GoString() string { + return s.String() +} + +func newErrorDeleteChimeWebhookConfigurationException(v protocol.ResponseMetadata) error { + return &DeleteChimeWebhookConfigurationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DeleteChimeWebhookConfigurationException) Code() string { + return "DeleteChimeWebhookConfigurationException" +} + +// Message returns the exception's message. +func (s *DeleteChimeWebhookConfigurationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DeleteChimeWebhookConfigurationException) OrigErr() error { + return nil +} + +func (s *DeleteChimeWebhookConfigurationException) 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 *DeleteChimeWebhookConfigurationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DeleteChimeWebhookConfigurationException) RequestID() string { + return s.RespMetadata.RequestID +} + +type DeleteChimeWebhookConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the ChimeWebhookConfiguration to delete. + // + // ChatConfigurationArn is a required field + ChatConfigurationArn *string `min:"19" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteChimeWebhookConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteChimeWebhookConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteChimeWebhookConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteChimeWebhookConfigurationInput"} + if s.ChatConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("ChatConfigurationArn")) + } + if s.ChatConfigurationArn != nil && len(*s.ChatConfigurationArn) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ChatConfigurationArn", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *DeleteChimeWebhookConfigurationInput) SetChatConfigurationArn(v string) *DeleteChimeWebhookConfigurationInput { + s.ChatConfigurationArn = &v + return s +} + +type DeleteChimeWebhookConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteChimeWebhookConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteChimeWebhookConfigurationOutput) GoString() string { + return s.String() +} + +type DeleteMicrosoftTeamsChannelConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the MicrosoftTeamsChannelConfiguration to delete. + // + // ChatConfigurationArn is a required field + ChatConfigurationArn *string `min:"19" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMicrosoftTeamsChannelConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMicrosoftTeamsChannelConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMicrosoftTeamsChannelConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMicrosoftTeamsChannelConfigurationInput"} + if s.ChatConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("ChatConfigurationArn")) + } + if s.ChatConfigurationArn != nil && len(*s.ChatConfigurationArn) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ChatConfigurationArn", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *DeleteMicrosoftTeamsChannelConfigurationInput) SetChatConfigurationArn(v string) *DeleteMicrosoftTeamsChannelConfigurationInput { + s.ChatConfigurationArn = &v + return s +} + +type DeleteMicrosoftTeamsChannelConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMicrosoftTeamsChannelConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMicrosoftTeamsChannelConfigurationOutput) GoString() string { + return s.String() +} + +type DeleteMicrosoftTeamsConfiguredTeamInput struct { + _ struct{} `type:"structure"` + + // The ID of the Microsoft Team authorized with AWS Chatbot. To get the team + // ID, you must perform the initial authorization flow with Microsoft Teams + // in the AWS Chatbot console. Then you can copy and paste the team ID from + // the console. For more details, see steps 1-4 in Get started with Microsoft + // Teams in the AWS Chatbot Administrator Guide. + // + // TeamId is a required field + TeamId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMicrosoftTeamsConfiguredTeamInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMicrosoftTeamsConfiguredTeamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMicrosoftTeamsConfiguredTeamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMicrosoftTeamsConfiguredTeamInput"} + if s.TeamId == nil { + invalidParams.Add(request.NewErrParamRequired("TeamId")) + } + if s.TeamId != nil && len(*s.TeamId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("TeamId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTeamId sets the TeamId field's value. +func (s *DeleteMicrosoftTeamsConfiguredTeamInput) SetTeamId(v string) *DeleteMicrosoftTeamsConfiguredTeamInput { + s.TeamId = &v + return s +} + +type DeleteMicrosoftTeamsConfiguredTeamOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMicrosoftTeamsConfiguredTeamOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMicrosoftTeamsConfiguredTeamOutput) GoString() string { + return s.String() +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type DeleteMicrosoftTeamsUserIdentityException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMicrosoftTeamsUserIdentityException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMicrosoftTeamsUserIdentityException) GoString() string { + return s.String() +} + +func newErrorDeleteMicrosoftTeamsUserIdentityException(v protocol.ResponseMetadata) error { + return &DeleteMicrosoftTeamsUserIdentityException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DeleteMicrosoftTeamsUserIdentityException) Code() string { + return "DeleteMicrosoftTeamsUserIdentityException" +} + +// Message returns the exception's message. +func (s *DeleteMicrosoftTeamsUserIdentityException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DeleteMicrosoftTeamsUserIdentityException) OrigErr() error { + return nil +} + +func (s *DeleteMicrosoftTeamsUserIdentityException) 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 *DeleteMicrosoftTeamsUserIdentityException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DeleteMicrosoftTeamsUserIdentityException) RequestID() string { + return s.RespMetadata.RequestID +} + +type DeleteMicrosoftTeamsUserIdentityInput struct { + _ struct{} `type:"structure"` + + // The ARN of the MicrosoftTeamsChannelConfiguration associated with the user + // identity to delete. + // + // ChatConfigurationArn is a required field + ChatConfigurationArn *string `min:"19" type:"string" required:"true"` + + // Id from Microsoft Teams for user. + // + // UserId is a required field + UserId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMicrosoftTeamsUserIdentityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMicrosoftTeamsUserIdentityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMicrosoftTeamsUserIdentityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMicrosoftTeamsUserIdentityInput"} + if s.ChatConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("ChatConfigurationArn")) + } + if s.ChatConfigurationArn != nil && len(*s.ChatConfigurationArn) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ChatConfigurationArn", 19)) + } + if s.UserId == nil { + invalidParams.Add(request.NewErrParamRequired("UserId")) + } + if s.UserId != nil && len(*s.UserId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("UserId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *DeleteMicrosoftTeamsUserIdentityInput) SetChatConfigurationArn(v string) *DeleteMicrosoftTeamsUserIdentityInput { + s.ChatConfigurationArn = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *DeleteMicrosoftTeamsUserIdentityInput) SetUserId(v string) *DeleteMicrosoftTeamsUserIdentityInput { + s.UserId = &v + return s +} + +type DeleteMicrosoftTeamsUserIdentityOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMicrosoftTeamsUserIdentityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMicrosoftTeamsUserIdentityOutput) GoString() string { + return s.String() +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type DeleteSlackChannelConfigurationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackChannelConfigurationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackChannelConfigurationException) GoString() string { + return s.String() +} + +func newErrorDeleteSlackChannelConfigurationException(v protocol.ResponseMetadata) error { + return &DeleteSlackChannelConfigurationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DeleteSlackChannelConfigurationException) Code() string { + return "DeleteSlackChannelConfigurationException" +} + +// Message returns the exception's message. +func (s *DeleteSlackChannelConfigurationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DeleteSlackChannelConfigurationException) OrigErr() error { + return nil +} + +func (s *DeleteSlackChannelConfigurationException) 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 *DeleteSlackChannelConfigurationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DeleteSlackChannelConfigurationException) RequestID() string { + return s.RespMetadata.RequestID +} + +type DeleteSlackChannelConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the SlackChannelConfiguration to delete. + // + // ChatConfigurationArn is a required field + ChatConfigurationArn *string `min:"19" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackChannelConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackChannelConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSlackChannelConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSlackChannelConfigurationInput"} + if s.ChatConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("ChatConfigurationArn")) + } + if s.ChatConfigurationArn != nil && len(*s.ChatConfigurationArn) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ChatConfigurationArn", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *DeleteSlackChannelConfigurationInput) SetChatConfigurationArn(v string) *DeleteSlackChannelConfigurationInput { + s.ChatConfigurationArn = &v + return s +} + +type DeleteSlackChannelConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackChannelConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackChannelConfigurationOutput) GoString() string { + return s.String() +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type DeleteSlackUserIdentityException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackUserIdentityException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackUserIdentityException) GoString() string { + return s.String() +} + +func newErrorDeleteSlackUserIdentityException(v protocol.ResponseMetadata) error { + return &DeleteSlackUserIdentityException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DeleteSlackUserIdentityException) Code() string { + return "DeleteSlackUserIdentityException" +} + +// Message returns the exception's message. +func (s *DeleteSlackUserIdentityException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DeleteSlackUserIdentityException) OrigErr() error { + return nil +} + +func (s *DeleteSlackUserIdentityException) 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 *DeleteSlackUserIdentityException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DeleteSlackUserIdentityException) RequestID() string { + return s.RespMetadata.RequestID +} + +type DeleteSlackUserIdentityInput struct { + _ struct{} `type:"structure"` + + // The ARN of the SlackChannelConfiguration associated with the user identity + // to delete. + // + // ChatConfigurationArn is a required field + ChatConfigurationArn *string `min:"19" type:"string" required:"true"` + + // The ID of the Slack workspace authorized with AWS Chatbot. + // + // SlackTeamId is a required field + SlackTeamId *string `min:"1" type:"string" required:"true"` + + // The ID of the user in Slack. + // + // SlackUserId is a required field + SlackUserId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackUserIdentityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackUserIdentityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSlackUserIdentityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSlackUserIdentityInput"} + if s.ChatConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("ChatConfigurationArn")) + } + if s.ChatConfigurationArn != nil && len(*s.ChatConfigurationArn) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ChatConfigurationArn", 19)) + } + if s.SlackTeamId == nil { + invalidParams.Add(request.NewErrParamRequired("SlackTeamId")) + } + if s.SlackTeamId != nil && len(*s.SlackTeamId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SlackTeamId", 1)) + } + if s.SlackUserId == nil { + invalidParams.Add(request.NewErrParamRequired("SlackUserId")) + } + if s.SlackUserId != nil && len(*s.SlackUserId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SlackUserId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *DeleteSlackUserIdentityInput) SetChatConfigurationArn(v string) *DeleteSlackUserIdentityInput { + s.ChatConfigurationArn = &v + return s +} + +// SetSlackTeamId sets the SlackTeamId field's value. +func (s *DeleteSlackUserIdentityInput) SetSlackTeamId(v string) *DeleteSlackUserIdentityInput { + s.SlackTeamId = &v + return s +} + +// SetSlackUserId sets the SlackUserId field's value. +func (s *DeleteSlackUserIdentityInput) SetSlackUserId(v string) *DeleteSlackUserIdentityInput { + s.SlackUserId = &v + return s +} + +type DeleteSlackUserIdentityOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackUserIdentityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackUserIdentityOutput) GoString() string { + return s.String() +} + +// There was an issue deleting your Slack workspace. +type DeleteSlackWorkspaceAuthorizationFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackWorkspaceAuthorizationFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackWorkspaceAuthorizationFault) GoString() string { + return s.String() +} + +func newErrorDeleteSlackWorkspaceAuthorizationFault(v protocol.ResponseMetadata) error { + return &DeleteSlackWorkspaceAuthorizationFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DeleteSlackWorkspaceAuthorizationFault) Code() string { + return "DeleteSlackWorkspaceAuthorizationFault" +} + +// Message returns the exception's message. +func (s *DeleteSlackWorkspaceAuthorizationFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DeleteSlackWorkspaceAuthorizationFault) OrigErr() error { + return nil +} + +func (s *DeleteSlackWorkspaceAuthorizationFault) 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 *DeleteSlackWorkspaceAuthorizationFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DeleteSlackWorkspaceAuthorizationFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type DeleteSlackWorkspaceAuthorizationInput struct { + _ struct{} `type:"structure"` + + // The ID of the Slack workspace authorized with AWS Chatbot. + // + // SlackTeamId is a required field + SlackTeamId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackWorkspaceAuthorizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackWorkspaceAuthorizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSlackWorkspaceAuthorizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSlackWorkspaceAuthorizationInput"} + if s.SlackTeamId == nil { + invalidParams.Add(request.NewErrParamRequired("SlackTeamId")) + } + if s.SlackTeamId != nil && len(*s.SlackTeamId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SlackTeamId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSlackTeamId sets the SlackTeamId field's value. +func (s *DeleteSlackWorkspaceAuthorizationInput) SetSlackTeamId(v string) *DeleteSlackWorkspaceAuthorizationInput { + s.SlackTeamId = &v + return s +} + +type DeleteSlackWorkspaceAuthorizationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackWorkspaceAuthorizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSlackWorkspaceAuthorizationOutput) GoString() string { + return s.String() +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type DeleteTeamsChannelConfigurationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTeamsChannelConfigurationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTeamsChannelConfigurationException) GoString() string { + return s.String() +} + +func newErrorDeleteTeamsChannelConfigurationException(v protocol.ResponseMetadata) error { + return &DeleteTeamsChannelConfigurationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DeleteTeamsChannelConfigurationException) Code() string { + return "DeleteTeamsChannelConfigurationException" +} + +// Message returns the exception's message. +func (s *DeleteTeamsChannelConfigurationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DeleteTeamsChannelConfigurationException) OrigErr() error { + return nil +} + +func (s *DeleteTeamsChannelConfigurationException) 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 *DeleteTeamsChannelConfigurationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DeleteTeamsChannelConfigurationException) RequestID() string { + return s.RespMetadata.RequestID +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type DeleteTeamsConfiguredTeamException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTeamsConfiguredTeamException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTeamsConfiguredTeamException) GoString() string { + return s.String() +} + +func newErrorDeleteTeamsConfiguredTeamException(v protocol.ResponseMetadata) error { + return &DeleteTeamsConfiguredTeamException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DeleteTeamsConfiguredTeamException) Code() string { + return "DeleteTeamsConfiguredTeamException" +} + +// Message returns the exception's message. +func (s *DeleteTeamsConfiguredTeamException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DeleteTeamsConfiguredTeamException) OrigErr() error { + return nil +} + +func (s *DeleteTeamsConfiguredTeamException) 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 *DeleteTeamsConfiguredTeamException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DeleteTeamsConfiguredTeamException) RequestID() string { + return s.RespMetadata.RequestID +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type DescribeChimeWebhookConfigurationsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeChimeWebhookConfigurationsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeChimeWebhookConfigurationsException) GoString() string { + return s.String() +} + +func newErrorDescribeChimeWebhookConfigurationsException(v protocol.ResponseMetadata) error { + return &DescribeChimeWebhookConfigurationsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DescribeChimeWebhookConfigurationsException) Code() string { + return "DescribeChimeWebhookConfigurationsException" +} + +// Message returns the exception's message. +func (s *DescribeChimeWebhookConfigurationsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DescribeChimeWebhookConfigurationsException) OrigErr() error { + return nil +} + +func (s *DescribeChimeWebhookConfigurationsException) 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 *DescribeChimeWebhookConfigurationsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DescribeChimeWebhookConfigurationsException) RequestID() string { + return s.RespMetadata.RequestID +} + +type DescribeChimeWebhookConfigurationsInput struct { + _ struct{} `type:"structure"` + + // An optional ARN of a ChimeWebhookConfiguration to describe. + ChatConfigurationArn *string `min:"19" type:"string"` + + // The maximum number of results to include in the response. If more results + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `min:"1" type:"integer"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeChimeWebhookConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeChimeWebhookConfigurationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeChimeWebhookConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeChimeWebhookConfigurationsInput"} + if s.ChatConfigurationArn != nil && len(*s.ChatConfigurationArn) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ChatConfigurationArn", 19)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *DescribeChimeWebhookConfigurationsInput) SetChatConfigurationArn(v string) *DescribeChimeWebhookConfigurationsInput { + s.ChatConfigurationArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeChimeWebhookConfigurationsInput) SetMaxResults(v int64) *DescribeChimeWebhookConfigurationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeChimeWebhookConfigurationsInput) SetNextToken(v string) *DescribeChimeWebhookConfigurationsInput { + s.NextToken = &v + return s +} + +type DescribeChimeWebhookConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `min:"1" type:"string"` + + // A list of Chime webhooks associated with the account. + WebhookConfigurations []*ChimeWebhookConfiguration `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeChimeWebhookConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeChimeWebhookConfigurationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeChimeWebhookConfigurationsOutput) SetNextToken(v string) *DescribeChimeWebhookConfigurationsOutput { + s.NextToken = &v + return s +} + +// SetWebhookConfigurations sets the WebhookConfigurations field's value. +func (s *DescribeChimeWebhookConfigurationsOutput) SetWebhookConfigurations(v []*ChimeWebhookConfiguration) *DescribeChimeWebhookConfigurationsOutput { + s.WebhookConfigurations = v + return s +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type DescribeSlackChannelConfigurationsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackChannelConfigurationsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackChannelConfigurationsException) GoString() string { + return s.String() +} + +func newErrorDescribeSlackChannelConfigurationsException(v protocol.ResponseMetadata) error { + return &DescribeSlackChannelConfigurationsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DescribeSlackChannelConfigurationsException) Code() string { + return "DescribeSlackChannelConfigurationsException" +} + +// Message returns the exception's message. +func (s *DescribeSlackChannelConfigurationsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DescribeSlackChannelConfigurationsException) OrigErr() error { + return nil +} + +func (s *DescribeSlackChannelConfigurationsException) 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 *DescribeSlackChannelConfigurationsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DescribeSlackChannelConfigurationsException) RequestID() string { + return s.RespMetadata.RequestID +} + +type DescribeSlackChannelConfigurationsInput struct { + _ struct{} `type:"structure"` + + // An optional ARN of a SlackChannelConfiguration to describe. + ChatConfigurationArn *string `min:"19" type:"string"` + + // The maximum number of results to include in the response. If more results + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `min:"1" type:"integer"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackChannelConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackChannelConfigurationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSlackChannelConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSlackChannelConfigurationsInput"} + if s.ChatConfigurationArn != nil && len(*s.ChatConfigurationArn) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ChatConfigurationArn", 19)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *DescribeSlackChannelConfigurationsInput) SetChatConfigurationArn(v string) *DescribeSlackChannelConfigurationsInput { + s.ChatConfigurationArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeSlackChannelConfigurationsInput) SetMaxResults(v int64) *DescribeSlackChannelConfigurationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSlackChannelConfigurationsInput) SetNextToken(v string) *DescribeSlackChannelConfigurationsInput { + s.NextToken = &v + return s +} + +type DescribeSlackChannelConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `min:"1" type:"string"` + + // A list of Slack channel configurations. + SlackChannelConfigurations []*SlackChannelConfiguration `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackChannelConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackChannelConfigurationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSlackChannelConfigurationsOutput) SetNextToken(v string) *DescribeSlackChannelConfigurationsOutput { + s.NextToken = &v + return s +} + +// SetSlackChannelConfigurations sets the SlackChannelConfigurations field's value. +func (s *DescribeSlackChannelConfigurationsOutput) SetSlackChannelConfigurations(v []*SlackChannelConfiguration) *DescribeSlackChannelConfigurationsOutput { + s.SlackChannelConfigurations = v + return s +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type DescribeSlackUserIdentitiesException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackUserIdentitiesException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackUserIdentitiesException) GoString() string { + return s.String() +} + +func newErrorDescribeSlackUserIdentitiesException(v protocol.ResponseMetadata) error { + return &DescribeSlackUserIdentitiesException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DescribeSlackUserIdentitiesException) Code() string { + return "DescribeSlackUserIdentitiesException" +} + +// Message returns the exception's message. +func (s *DescribeSlackUserIdentitiesException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DescribeSlackUserIdentitiesException) OrigErr() error { + return nil +} + +func (s *DescribeSlackUserIdentitiesException) 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 *DescribeSlackUserIdentitiesException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DescribeSlackUserIdentitiesException) RequestID() string { + return s.RespMetadata.RequestID +} + +type DescribeSlackUserIdentitiesInput struct { + _ struct{} `type:"structure"` + + // The ARN of the SlackChannelConfiguration associated with the user identities + // to describe. + ChatConfigurationArn *string `min:"19" type:"string"` + + // The maximum number of results to include in the response. If more results + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `min:"1" type:"integer"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackUserIdentitiesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackUserIdentitiesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSlackUserIdentitiesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSlackUserIdentitiesInput"} + if s.ChatConfigurationArn != nil && len(*s.ChatConfigurationArn) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ChatConfigurationArn", 19)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *DescribeSlackUserIdentitiesInput) SetChatConfigurationArn(v string) *DescribeSlackUserIdentitiesInput { + s.ChatConfigurationArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeSlackUserIdentitiesInput) SetMaxResults(v int64) *DescribeSlackUserIdentitiesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSlackUserIdentitiesInput) SetNextToken(v string) *DescribeSlackUserIdentitiesInput { + s.NextToken = &v + return s +} + +type DescribeSlackUserIdentitiesOutput struct { + _ struct{} `type:"structure"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `min:"1" type:"string"` + + // A list of Slack User Identities. + SlackUserIdentities []*SlackUserIdentity `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackUserIdentitiesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackUserIdentitiesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSlackUserIdentitiesOutput) SetNextToken(v string) *DescribeSlackUserIdentitiesOutput { + s.NextToken = &v + return s +} + +// SetSlackUserIdentities sets the SlackUserIdentities field's value. +func (s *DescribeSlackUserIdentitiesOutput) SetSlackUserIdentities(v []*SlackUserIdentity) *DescribeSlackUserIdentitiesOutput { + s.SlackUserIdentities = v + return s +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type DescribeSlackWorkspacesException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackWorkspacesException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackWorkspacesException) GoString() string { + return s.String() +} + +func newErrorDescribeSlackWorkspacesException(v protocol.ResponseMetadata) error { + return &DescribeSlackWorkspacesException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DescribeSlackWorkspacesException) Code() string { + return "DescribeSlackWorkspacesException" +} + +// Message returns the exception's message. +func (s *DescribeSlackWorkspacesException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DescribeSlackWorkspacesException) OrigErr() error { + return nil +} + +func (s *DescribeSlackWorkspacesException) 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 *DescribeSlackWorkspacesException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DescribeSlackWorkspacesException) RequestID() string { + return s.RespMetadata.RequestID +} + +type DescribeSlackWorkspacesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to include in the response. If more results + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `min:"1" type:"integer"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackWorkspacesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackWorkspacesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSlackWorkspacesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSlackWorkspacesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeSlackWorkspacesInput) SetMaxResults(v int64) *DescribeSlackWorkspacesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSlackWorkspacesInput) SetNextToken(v string) *DescribeSlackWorkspacesInput { + s.NextToken = &v + return s +} + +type DescribeSlackWorkspacesOutput struct { + _ struct{} `type:"structure"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `min:"1" type:"string"` + + // A list of Slack Workspaces registered with AWS Chatbot. + SlackWorkspaces []*SlackWorkspace `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackWorkspacesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSlackWorkspacesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSlackWorkspacesOutput) SetNextToken(v string) *DescribeSlackWorkspacesOutput { + s.NextToken = &v + return s +} + +// SetSlackWorkspaces sets the SlackWorkspaces field's value. +func (s *DescribeSlackWorkspacesOutput) SetSlackWorkspaces(v []*SlackWorkspace) *DescribeSlackWorkspacesOutput { + s.SlackWorkspaces = v + return s +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type GetAccountPreferencesException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAccountPreferencesException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAccountPreferencesException) GoString() string { + return s.String() +} + +func newErrorGetAccountPreferencesException(v protocol.ResponseMetadata) error { + return &GetAccountPreferencesException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *GetAccountPreferencesException) Code() string { + return "GetAccountPreferencesException" +} + +// Message returns the exception's message. +func (s *GetAccountPreferencesException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *GetAccountPreferencesException) OrigErr() error { + return nil +} + +func (s *GetAccountPreferencesException) 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 *GetAccountPreferencesException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *GetAccountPreferencesException) RequestID() string { + return s.RespMetadata.RequestID +} + +type GetAccountPreferencesInput struct { + _ struct{} `type:"structure" nopayload:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAccountPreferencesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAccountPreferencesInput) GoString() string { + return s.String() +} + +type GetAccountPreferencesOutput struct { + _ struct{} `type:"structure"` + + // Preferences which apply for AWS Chatbot usage in the calling AWS account. + AccountPreferences *AccountPreferences `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAccountPreferencesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAccountPreferencesOutput) GoString() string { + return s.String() +} + +// SetAccountPreferences sets the AccountPreferences field's value. +func (s *GetAccountPreferencesOutput) SetAccountPreferences(v *AccountPreferences) *GetAccountPreferencesOutput { + s.AccountPreferences = v + return s +} + +type GetMicrosoftTeamsChannelConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the MicrosoftTeamsChannelConfiguration to retrieve. + // + // ChatConfigurationArn is a required field + ChatConfigurationArn *string `min:"19" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetMicrosoftTeamsChannelConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetMicrosoftTeamsChannelConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMicrosoftTeamsChannelConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMicrosoftTeamsChannelConfigurationInput"} + if s.ChatConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("ChatConfigurationArn")) + } + if s.ChatConfigurationArn != nil && len(*s.ChatConfigurationArn) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ChatConfigurationArn", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *GetMicrosoftTeamsChannelConfigurationInput) SetChatConfigurationArn(v string) *GetMicrosoftTeamsChannelConfigurationInput { + s.ChatConfigurationArn = &v + return s +} + +type GetMicrosoftTeamsChannelConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The configuration for a Microsoft Teams channel configured with AWS Chatbot. + ChannelConfiguration *TeamsChannelConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetMicrosoftTeamsChannelConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetMicrosoftTeamsChannelConfigurationOutput) GoString() string { + return s.String() +} + +// SetChannelConfiguration sets the ChannelConfiguration field's value. +func (s *GetMicrosoftTeamsChannelConfigurationOutput) SetChannelConfiguration(v *TeamsChannelConfiguration) *GetMicrosoftTeamsChannelConfigurationOutput { + s.ChannelConfiguration = v + return s +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type GetTeamsChannelConfigurationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTeamsChannelConfigurationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTeamsChannelConfigurationException) GoString() string { + return s.String() +} + +func newErrorGetTeamsChannelConfigurationException(v protocol.ResponseMetadata) error { + return &GetTeamsChannelConfigurationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *GetTeamsChannelConfigurationException) Code() string { + return "GetTeamsChannelConfigurationException" +} + +// Message returns the exception's message. +func (s *GetTeamsChannelConfigurationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *GetTeamsChannelConfigurationException) OrigErr() error { + return nil +} + +func (s *GetTeamsChannelConfigurationException) 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 *GetTeamsChannelConfigurationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *GetTeamsChannelConfigurationException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Your request input doesn't meet the constraints that AWS Chatbot requires. +type InvalidParameterException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidParameterException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidParameterException) GoString() string { + return s.String() +} + +func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { + return &InvalidParameterException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidParameterException) Code() string { + return "InvalidParameterException" +} + +// Message returns the exception's message. +func (s *InvalidParameterException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidParameterException) OrigErr() error { + return nil +} + +func (s *InvalidParameterException) 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 *InvalidParameterException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidParameterException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Your request input doesn't meet the constraints that AWS Chatbot requires. +type InvalidRequestException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidRequestException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidRequestException) GoString() string { + return s.String() +} + +func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { + return &InvalidRequestException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidRequestException) Code() string { + return "InvalidRequestException" +} + +// Message returns the exception's message. +func (s *InvalidRequestException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidRequestException) OrigErr() error { + return nil +} + +func (s *InvalidRequestException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidRequestException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidRequestException) RequestID() string { + return s.RespMetadata.RequestID +} + +// You have exceeded a service limit for AWS Chatbot. +type LimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LimitExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LimitExceededException) GoString() string { + return s.String() +} + +func newErrorLimitExceededException(v protocol.ResponseMetadata) error { + return &LimitExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *LimitExceededException) Code() string { + return "LimitExceededException" +} + +// Message returns the exception's message. +func (s *LimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *LimitExceededException) OrigErr() error { + return nil +} + +func (s *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListMicrosoftTeamsChannelConfigurationsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to include in the response. If more results + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `min:"1" type:"integer"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `min:"1" type:"string"` + + // The ID of the Microsoft Team authorized with AWS Chatbot. To get the team + // ID, you must perform the initial authorization flow with Microsoft Teams + // in the AWS Chatbot console. Then you can copy and paste the team ID from + // the console. For more details, see steps 1-4 in Get started with Microsoft + // Teams in the AWS Chatbot Administrator Guide. + TeamId *string `min:"36" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsChannelConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsChannelConfigurationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListMicrosoftTeamsChannelConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMicrosoftTeamsChannelConfigurationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.TeamId != nil && len(*s.TeamId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("TeamId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListMicrosoftTeamsChannelConfigurationsInput) SetMaxResults(v int64) *ListMicrosoftTeamsChannelConfigurationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListMicrosoftTeamsChannelConfigurationsInput) SetNextToken(v string) *ListMicrosoftTeamsChannelConfigurationsInput { + s.NextToken = &v + return s +} + +// SetTeamId sets the TeamId field's value. +func (s *ListMicrosoftTeamsChannelConfigurationsInput) SetTeamId(v string) *ListMicrosoftTeamsChannelConfigurationsInput { + s.TeamId = &v + return s +} + +type ListMicrosoftTeamsChannelConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `min:"1" type:"string"` + + // A list of AWS Chatbot channel configurations for Microsoft Teams. + TeamChannelConfigurations []*TeamsChannelConfiguration `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsChannelConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsChannelConfigurationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListMicrosoftTeamsChannelConfigurationsOutput) SetNextToken(v string) *ListMicrosoftTeamsChannelConfigurationsOutput { + s.NextToken = &v + return s +} + +// SetTeamChannelConfigurations sets the TeamChannelConfigurations field's value. +func (s *ListMicrosoftTeamsChannelConfigurationsOutput) SetTeamChannelConfigurations(v []*TeamsChannelConfiguration) *ListMicrosoftTeamsChannelConfigurationsOutput { + s.TeamChannelConfigurations = v + return s +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type ListMicrosoftTeamsConfiguredTeamsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsConfiguredTeamsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsConfiguredTeamsException) GoString() string { + return s.String() +} + +func newErrorListMicrosoftTeamsConfiguredTeamsException(v protocol.ResponseMetadata) error { + return &ListMicrosoftTeamsConfiguredTeamsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ListMicrosoftTeamsConfiguredTeamsException) Code() string { + return "ListMicrosoftTeamsConfiguredTeamsException" +} + +// Message returns the exception's message. +func (s *ListMicrosoftTeamsConfiguredTeamsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ListMicrosoftTeamsConfiguredTeamsException) OrigErr() error { + return nil +} + +func (s *ListMicrosoftTeamsConfiguredTeamsException) 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 *ListMicrosoftTeamsConfiguredTeamsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ListMicrosoftTeamsConfiguredTeamsException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListMicrosoftTeamsConfiguredTeamsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to include in the response. If more results + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `min:"1" type:"integer"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsConfiguredTeamsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsConfiguredTeamsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListMicrosoftTeamsConfiguredTeamsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMicrosoftTeamsConfiguredTeamsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListMicrosoftTeamsConfiguredTeamsInput) SetMaxResults(v int64) *ListMicrosoftTeamsConfiguredTeamsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListMicrosoftTeamsConfiguredTeamsInput) SetNextToken(v string) *ListMicrosoftTeamsConfiguredTeamsInput { + s.NextToken = &v + return s +} + +type ListMicrosoftTeamsConfiguredTeamsOutput struct { + _ struct{} `type:"structure"` + + // A list of teams in Microsoft Teams that have been configured with AWS Chatbot. + ConfiguredTeams []*ConfiguredTeam `type:"list"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsConfiguredTeamsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsConfiguredTeamsOutput) GoString() string { + return s.String() +} + +// SetConfiguredTeams sets the ConfiguredTeams field's value. +func (s *ListMicrosoftTeamsConfiguredTeamsOutput) SetConfiguredTeams(v []*ConfiguredTeam) *ListMicrosoftTeamsConfiguredTeamsOutput { + s.ConfiguredTeams = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListMicrosoftTeamsConfiguredTeamsOutput) SetNextToken(v string) *ListMicrosoftTeamsConfiguredTeamsOutput { + s.NextToken = &v + return s +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type ListMicrosoftTeamsUserIdentitiesException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsUserIdentitiesException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsUserIdentitiesException) GoString() string { + return s.String() +} + +func newErrorListMicrosoftTeamsUserIdentitiesException(v protocol.ResponseMetadata) error { + return &ListMicrosoftTeamsUserIdentitiesException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ListMicrosoftTeamsUserIdentitiesException) Code() string { + return "ListMicrosoftTeamsUserIdentitiesException" +} + +// Message returns the exception's message. +func (s *ListMicrosoftTeamsUserIdentitiesException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ListMicrosoftTeamsUserIdentitiesException) OrigErr() error { + return nil +} + +func (s *ListMicrosoftTeamsUserIdentitiesException) 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 *ListMicrosoftTeamsUserIdentitiesException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ListMicrosoftTeamsUserIdentitiesException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListMicrosoftTeamsUserIdentitiesInput struct { + _ struct{} `type:"structure"` + + // The ARN of the MicrosoftTeamsChannelConfiguration associated with the user + // identities to list. + ChatConfigurationArn *string `min:"19" type:"string"` + + // The maximum number of results to include in the response. If more results + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `min:"1" type:"integer"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsUserIdentitiesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsUserIdentitiesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListMicrosoftTeamsUserIdentitiesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMicrosoftTeamsUserIdentitiesInput"} + if s.ChatConfigurationArn != nil && len(*s.ChatConfigurationArn) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ChatConfigurationArn", 19)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *ListMicrosoftTeamsUserIdentitiesInput) SetChatConfigurationArn(v string) *ListMicrosoftTeamsUserIdentitiesInput { + s.ChatConfigurationArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListMicrosoftTeamsUserIdentitiesInput) SetMaxResults(v int64) *ListMicrosoftTeamsUserIdentitiesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListMicrosoftTeamsUserIdentitiesInput) SetNextToken(v string) *ListMicrosoftTeamsUserIdentitiesInput { + s.NextToken = &v + return s +} + +type ListMicrosoftTeamsUserIdentitiesOutput struct { + _ struct{} `type:"structure"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `min:"1" type:"string"` + + // User level permissions associated to a channel configuration. + TeamsUserIdentities []*TeamsUserIdentity `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsUserIdentitiesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMicrosoftTeamsUserIdentitiesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListMicrosoftTeamsUserIdentitiesOutput) SetNextToken(v string) *ListMicrosoftTeamsUserIdentitiesOutput { + s.NextToken = &v + return s +} + +// SetTeamsUserIdentities sets the TeamsUserIdentities field's value. +func (s *ListMicrosoftTeamsUserIdentitiesOutput) SetTeamsUserIdentities(v []*TeamsUserIdentity) *ListMicrosoftTeamsUserIdentitiesOutput { + s.TeamsUserIdentities = v + return s +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type ListTeamsChannelConfigurationsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTeamsChannelConfigurationsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTeamsChannelConfigurationsException) GoString() string { + return s.String() +} + +func newErrorListTeamsChannelConfigurationsException(v protocol.ResponseMetadata) error { + return &ListTeamsChannelConfigurationsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ListTeamsChannelConfigurationsException) Code() string { + return "ListTeamsChannelConfigurationsException" +} + +// Message returns the exception's message. +func (s *ListTeamsChannelConfigurationsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ListTeamsChannelConfigurationsException) OrigErr() error { + return nil +} + +func (s *ListTeamsChannelConfigurationsException) 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 *ListTeamsChannelConfigurationsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ListTeamsChannelConfigurationsException) RequestID() string { + return s.RespMetadata.RequestID +} + +// We were not able to find the resource for your request. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An AWS Chatbot configuration for Slack. +type SlackChannelConfiguration struct { + _ struct{} `type:"structure"` + + // The ARN of the SlackChannelConfiguration. + // + // ChatConfigurationArn is a required field + ChatConfigurationArn *string `min:"19" type:"string" required:"true"` + + // The name of the configuration. + ConfigurationName *string `min:"1" type:"string"` + + // The list of IAM policy ARNs that are applied as channel guardrails. The AWS + // managed 'AdministratorAccess' policy is applied by default if this is not + // set. + GuardrailPolicyArns []*string `type:"list"` + + // The ARN of the IAM role that defines the permissions for AWS Chatbot. This + // is a user-defined role that AWS Chatbot will assume. This is not the service-linked + // role. For more information, see IAM Policies for AWS Chatbot. + // + // IamRoleArn is a required field + IamRoleArn *string `min:"12" type:"string" required:"true"` + + // Logging levels include ERROR, INFO, or NONE. + LoggingLevel *string `min:"4" type:"string"` + + // The ID of the Slack channel. To get the ID, open Slack, right click on the + // channel name in the left pane, then choose Copy Link. The channel ID is the + // 9-character string at the end of the URL. For example, ABCBBLZZZ. + // + // SlackChannelId is a required field + SlackChannelId *string `min:"1" type:"string" required:"true"` + + // The name of the Slack Channel. + // + // SlackChannelName is a required field + SlackChannelName *string `min:"1" type:"string" required:"true"` + + // The ID of the Slack workspace authorized with AWS Chatbot. + // + // SlackTeamId is a required field + SlackTeamId *string `min:"1" type:"string" required:"true"` + + // Name of the Slack Workspace. + // + // SlackTeamName is a required field + SlackTeamName *string `min:"1" type:"string" required:"true"` + + // The ARNs of the SNS topics that deliver notifications to AWS Chatbot. + // + // SnsTopicArns is a required field + SnsTopicArns []*string `type:"list" required:"true"` + + // Enables use of a user role requirement in your chat configuration. + UserAuthorizationRequired *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SlackChannelConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SlackChannelConfiguration) GoString() string { + return s.String() +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *SlackChannelConfiguration) SetChatConfigurationArn(v string) *SlackChannelConfiguration { + s.ChatConfigurationArn = &v + return s +} + +// SetConfigurationName sets the ConfigurationName field's value. +func (s *SlackChannelConfiguration) SetConfigurationName(v string) *SlackChannelConfiguration { + s.ConfigurationName = &v + return s +} + +// SetGuardrailPolicyArns sets the GuardrailPolicyArns field's value. +func (s *SlackChannelConfiguration) SetGuardrailPolicyArns(v []*string) *SlackChannelConfiguration { + s.GuardrailPolicyArns = v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *SlackChannelConfiguration) SetIamRoleArn(v string) *SlackChannelConfiguration { + s.IamRoleArn = &v + return s +} + +// SetLoggingLevel sets the LoggingLevel field's value. +func (s *SlackChannelConfiguration) SetLoggingLevel(v string) *SlackChannelConfiguration { + s.LoggingLevel = &v + return s +} + +// SetSlackChannelId sets the SlackChannelId field's value. +func (s *SlackChannelConfiguration) SetSlackChannelId(v string) *SlackChannelConfiguration { + s.SlackChannelId = &v + return s +} + +// SetSlackChannelName sets the SlackChannelName field's value. +func (s *SlackChannelConfiguration) SetSlackChannelName(v string) *SlackChannelConfiguration { + s.SlackChannelName = &v + return s +} + +// SetSlackTeamId sets the SlackTeamId field's value. +func (s *SlackChannelConfiguration) SetSlackTeamId(v string) *SlackChannelConfiguration { + s.SlackTeamId = &v + return s +} + +// SetSlackTeamName sets the SlackTeamName field's value. +func (s *SlackChannelConfiguration) SetSlackTeamName(v string) *SlackChannelConfiguration { + s.SlackTeamName = &v + return s +} + +// SetSnsTopicArns sets the SnsTopicArns field's value. +func (s *SlackChannelConfiguration) SetSnsTopicArns(v []*string) *SlackChannelConfiguration { + s.SnsTopicArns = v + return s +} + +// SetUserAuthorizationRequired sets the UserAuthorizationRequired field's value. +func (s *SlackChannelConfiguration) SetUserAuthorizationRequired(v bool) *SlackChannelConfiguration { + s.UserAuthorizationRequired = &v + return s +} + +// Identifes a User level permission for a channel configuration. +type SlackUserIdentity struct { + _ struct{} `type:"structure"` + + // The AWS user identity ARN used to associate a Slack User Identity with an + // IAM Role. + AwsUserIdentity *string `min:"15" type:"string"` + + // The ARN of the SlackChannelConfiguration associated with the user identity. + // + // ChatConfigurationArn is a required field + ChatConfigurationArn *string `min:"19" type:"string" required:"true"` + + // The ARN of the IAM role that defines the permissions for AWS Chatbot. This + // is a user-defined role that AWS Chatbot will assume. This is not the service-linked + // role. For more information, see IAM Policies for AWS Chatbot. + // + // IamRoleArn is a required field + IamRoleArn *string `min:"12" type:"string" required:"true"` + + // The ID of the Slack workspace authorized with AWS Chatbot. + // + // SlackTeamId is a required field + SlackTeamId *string `min:"1" type:"string" required:"true"` + + // The ID of the user in Slack. + // + // SlackUserId is a required field + SlackUserId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SlackUserIdentity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SlackUserIdentity) GoString() string { + return s.String() +} + +// SetAwsUserIdentity sets the AwsUserIdentity field's value. +func (s *SlackUserIdentity) SetAwsUserIdentity(v string) *SlackUserIdentity { + s.AwsUserIdentity = &v + return s +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *SlackUserIdentity) SetChatConfigurationArn(v string) *SlackUserIdentity { + s.ChatConfigurationArn = &v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *SlackUserIdentity) SetIamRoleArn(v string) *SlackUserIdentity { + s.IamRoleArn = &v + return s +} + +// SetSlackTeamId sets the SlackTeamId field's value. +func (s *SlackUserIdentity) SetSlackTeamId(v string) *SlackUserIdentity { + s.SlackTeamId = &v + return s +} + +// SetSlackUserId sets the SlackUserId field's value. +func (s *SlackUserIdentity) SetSlackUserId(v string) *SlackUserIdentity { + s.SlackUserId = &v + return s +} + +// A Slack Workspace. +type SlackWorkspace struct { + _ struct{} `type:"structure"` + + // The ID of the Slack workspace authorized with AWS Chatbot. + // + // SlackTeamId is a required field + SlackTeamId *string `min:"1" type:"string" required:"true"` + + // Name of the Slack Workspace. + // + // SlackTeamName is a required field + SlackTeamName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SlackWorkspace) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SlackWorkspace) GoString() string { + return s.String() +} + +// SetSlackTeamId sets the SlackTeamId field's value. +func (s *SlackWorkspace) SetSlackTeamId(v string) *SlackWorkspace { + s.SlackTeamId = &v + return s +} + +// SetSlackTeamName sets the SlackTeamName field's value. +func (s *SlackWorkspace) SetSlackTeamName(v string) *SlackWorkspace { + s.SlackTeamName = &v + return s +} + +// An AWS Chatbot configuration for Microsoft Teams. +type TeamsChannelConfiguration struct { + _ struct{} `type:"structure"` + + // The ID of the Microsoft Teams channel. + // + // ChannelId is a required field + ChannelId *string `min:"1" type:"string" required:"true"` + + // The name of the Microsoft Teams channel. + ChannelName *string `min:"1" type:"string"` + + // The ARN of the MicrosoftTeamsChannelConfiguration. + // + // ChatConfigurationArn is a required field + ChatConfigurationArn *string `min:"19" type:"string" required:"true"` + + // The name of the configuration. + ConfigurationName *string `min:"1" type:"string"` + + // The list of IAM policy ARNs that are applied as channel guardrails. The AWS + // managed 'AdministratorAccess' policy is applied by default if this is not + // set. + GuardrailPolicyArns []*string `type:"list"` + + // The ARN of the IAM role that defines the permissions for AWS Chatbot. This + // is a user-defined role that AWS Chatbot will assume. This is not the service-linked + // role. For more information, see IAM Policies for AWS Chatbot. + // + // IamRoleArn is a required field + IamRoleArn *string `min:"12" type:"string" required:"true"` + + // Logging levels include ERROR, INFO, or NONE. + LoggingLevel *string `min:"4" type:"string"` + + // The ARNs of the SNS topics that deliver notifications to AWS Chatbot. + // + // SnsTopicArns is a required field + SnsTopicArns []*string `type:"list" required:"true"` + + // The ID of the Microsoft Team authorized with AWS Chatbot. To get the team + // ID, you must perform the initial authorization flow with Microsoft Teams + // in the AWS Chatbot console. Then you can copy and paste the team ID from + // the console. For more details, see steps 1-4 in Get started with Microsoft + // Teams in the AWS Chatbot Administrator Guide. + // + // TeamId is a required field + TeamId *string `min:"36" type:"string" required:"true"` + + // The name of the Microsoft Teams Team. + TeamName *string `type:"string"` + + // The ID of the Microsoft Teams tenant. + // + // TenantId is a required field + TenantId *string `min:"36" type:"string" required:"true"` + + // Enables use of a user role requirement in your chat configuration. + UserAuthorizationRequired *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TeamsChannelConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TeamsChannelConfiguration) GoString() string { + return s.String() +} + +// SetChannelId sets the ChannelId field's value. +func (s *TeamsChannelConfiguration) SetChannelId(v string) *TeamsChannelConfiguration { + s.ChannelId = &v + return s +} + +// SetChannelName sets the ChannelName field's value. +func (s *TeamsChannelConfiguration) SetChannelName(v string) *TeamsChannelConfiguration { + s.ChannelName = &v + return s +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *TeamsChannelConfiguration) SetChatConfigurationArn(v string) *TeamsChannelConfiguration { + s.ChatConfigurationArn = &v + return s +} + +// SetConfigurationName sets the ConfigurationName field's value. +func (s *TeamsChannelConfiguration) SetConfigurationName(v string) *TeamsChannelConfiguration { + s.ConfigurationName = &v + return s +} + +// SetGuardrailPolicyArns sets the GuardrailPolicyArns field's value. +func (s *TeamsChannelConfiguration) SetGuardrailPolicyArns(v []*string) *TeamsChannelConfiguration { + s.GuardrailPolicyArns = v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *TeamsChannelConfiguration) SetIamRoleArn(v string) *TeamsChannelConfiguration { + s.IamRoleArn = &v + return s +} + +// SetLoggingLevel sets the LoggingLevel field's value. +func (s *TeamsChannelConfiguration) SetLoggingLevel(v string) *TeamsChannelConfiguration { + s.LoggingLevel = &v + return s +} + +// SetSnsTopicArns sets the SnsTopicArns field's value. +func (s *TeamsChannelConfiguration) SetSnsTopicArns(v []*string) *TeamsChannelConfiguration { + s.SnsTopicArns = v + return s +} + +// SetTeamId sets the TeamId field's value. +func (s *TeamsChannelConfiguration) SetTeamId(v string) *TeamsChannelConfiguration { + s.TeamId = &v + return s +} + +// SetTeamName sets the TeamName field's value. +func (s *TeamsChannelConfiguration) SetTeamName(v string) *TeamsChannelConfiguration { + s.TeamName = &v + return s +} + +// SetTenantId sets the TenantId field's value. +func (s *TeamsChannelConfiguration) SetTenantId(v string) *TeamsChannelConfiguration { + s.TenantId = &v + return s +} + +// SetUserAuthorizationRequired sets the UserAuthorizationRequired field's value. +func (s *TeamsChannelConfiguration) SetUserAuthorizationRequired(v bool) *TeamsChannelConfiguration { + s.UserAuthorizationRequired = &v + return s +} + +// Identifes a user level permission for a channel configuration. +type TeamsUserIdentity struct { + _ struct{} `type:"structure"` + + // The AWS user identity ARN used to associate a Microsoft Teams User Identity + // with an IAM Role. + AwsUserIdentity *string `min:"15" type:"string"` + + // The ARN of the MicrosoftTeamsChannelConfiguration associated with the user + // identity. + // + // ChatConfigurationArn is a required field + ChatConfigurationArn *string `min:"19" type:"string" required:"true"` + + // The ARN of the IAM role that defines the permissions for AWS Chatbot. This + // is a user-defined role that AWS Chatbot will assume. This is not the service-linked + // role. For more information, see IAM Policies for AWS Chatbot. + // + // IamRoleArn is a required field + IamRoleArn *string `min:"12" type:"string" required:"true"` + + // The ID of the Microsoft Team authorized with AWS Chatbot. To get the team + // ID, you must perform the initial authorization flow with Microsoft Teams + // in the AWS Chatbot console. Then you can copy and paste the team ID from + // the console. For more details, see steps 1-4 in Get started with Microsoft + // Teams in the AWS Chatbot Administrator Guide. + // + // TeamId is a required field + TeamId *string `min:"36" type:"string" required:"true"` + + // The ID of the Microsoft Teams channel. + TeamsChannelId *string `min:"1" type:"string"` + + // The ID of the Microsoft Teams tenant. + TeamsTenantId *string `min:"36" type:"string"` + + // Id from Microsoft Teams for user. + UserId *string `min:"36" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TeamsUserIdentity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TeamsUserIdentity) GoString() string { + return s.String() +} + +// SetAwsUserIdentity sets the AwsUserIdentity field's value. +func (s *TeamsUserIdentity) SetAwsUserIdentity(v string) *TeamsUserIdentity { + s.AwsUserIdentity = &v + return s +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *TeamsUserIdentity) SetChatConfigurationArn(v string) *TeamsUserIdentity { + s.ChatConfigurationArn = &v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *TeamsUserIdentity) SetIamRoleArn(v string) *TeamsUserIdentity { + s.IamRoleArn = &v + return s +} + +// SetTeamId sets the TeamId field's value. +func (s *TeamsUserIdentity) SetTeamId(v string) *TeamsUserIdentity { + s.TeamId = &v + return s +} + +// SetTeamsChannelId sets the TeamsChannelId field's value. +func (s *TeamsUserIdentity) SetTeamsChannelId(v string) *TeamsUserIdentity { + s.TeamsChannelId = &v + return s +} + +// SetTeamsTenantId sets the TeamsTenantId field's value. +func (s *TeamsUserIdentity) SetTeamsTenantId(v string) *TeamsUserIdentity { + s.TeamsTenantId = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *TeamsUserIdentity) SetUserId(v string) *TeamsUserIdentity { + s.UserId = &v + return s +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type UpdateAccountPreferencesException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateAccountPreferencesException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateAccountPreferencesException) GoString() string { + return s.String() +} + +func newErrorUpdateAccountPreferencesException(v protocol.ResponseMetadata) error { + return &UpdateAccountPreferencesException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UpdateAccountPreferencesException) Code() string { + return "UpdateAccountPreferencesException" +} + +// Message returns the exception's message. +func (s *UpdateAccountPreferencesException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UpdateAccountPreferencesException) OrigErr() error { + return nil +} + +func (s *UpdateAccountPreferencesException) 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 *UpdateAccountPreferencesException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UpdateAccountPreferencesException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UpdateAccountPreferencesInput struct { + _ struct{} `type:"structure"` + + // Turns on training data collection. This helps improve the AWS Chatbot experience + // by allowing AWS Chatbot to store and use your customer information, such + // as AWS Chatbot configurations, notifications, user inputs, AWS Chatbot generated + // responses, and interaction data. This data helps us to continuously improve + // and develop Artificial Intelligence (AI) technologies. Your data is not shared + // with any third parties and is protected using sophisticated controls to prevent + // unauthorized access and misuse. AWS Chatbot does not store or use interactions + // in chat channels with Amazon Q for training AWS Chatbot’s AI technologies. + TrainingDataCollectionEnabled *bool `type:"boolean"` + + // Enables use of a user role requirement in your chat configuration. + UserAuthorizationRequired *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateAccountPreferencesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateAccountPreferencesInput) GoString() string { + return s.String() +} + +// SetTrainingDataCollectionEnabled sets the TrainingDataCollectionEnabled field's value. +func (s *UpdateAccountPreferencesInput) SetTrainingDataCollectionEnabled(v bool) *UpdateAccountPreferencesInput { + s.TrainingDataCollectionEnabled = &v + return s +} + +// SetUserAuthorizationRequired sets the UserAuthorizationRequired field's value. +func (s *UpdateAccountPreferencesInput) SetUserAuthorizationRequired(v bool) *UpdateAccountPreferencesInput { + s.UserAuthorizationRequired = &v + return s +} + +type UpdateAccountPreferencesOutput struct { + _ struct{} `type:"structure"` + + // Preferences which apply for AWS Chatbot usage in the calling AWS account. + AccountPreferences *AccountPreferences `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateAccountPreferencesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateAccountPreferencesOutput) GoString() string { + return s.String() +} + +// SetAccountPreferences sets the AccountPreferences field's value. +func (s *UpdateAccountPreferencesOutput) SetAccountPreferences(v *AccountPreferences) *UpdateAccountPreferencesOutput { + s.AccountPreferences = v + return s +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type UpdateChimeWebhookConfigurationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateChimeWebhookConfigurationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateChimeWebhookConfigurationException) GoString() string { + return s.String() +} + +func newErrorUpdateChimeWebhookConfigurationException(v protocol.ResponseMetadata) error { + return &UpdateChimeWebhookConfigurationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UpdateChimeWebhookConfigurationException) Code() string { + return "UpdateChimeWebhookConfigurationException" +} + +// Message returns the exception's message. +func (s *UpdateChimeWebhookConfigurationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UpdateChimeWebhookConfigurationException) OrigErr() error { + return nil +} + +func (s *UpdateChimeWebhookConfigurationException) 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 *UpdateChimeWebhookConfigurationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UpdateChimeWebhookConfigurationException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UpdateChimeWebhookConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the ChimeWebhookConfiguration to update. + // + // ChatConfigurationArn is a required field + ChatConfigurationArn *string `min:"19" type:"string" required:"true"` + + // The ARN of the IAM role that defines the permissions for AWS Chatbot. This + // is a user-defined role that AWS Chatbot will assume. This is not the service-linked + // role. For more information, see IAM Policies for AWS Chatbot. + IamRoleArn *string `min:"12" type:"string"` + + // Logging levels include ERROR, INFO, or NONE. + LoggingLevel *string `min:"4" type:"string"` + + // The ARNs of the SNS topics that deliver notifications to AWS Chatbot. + SnsTopicArns []*string `type:"list"` + + // Description of the webhook. Recommend using the convention `RoomName/WebhookName`. + // See Chime setup tutorial for more details: https://docs.aws.amazon.com/chatbot/latest/adminguide/chime-setup.html. + WebhookDescription *string `min:"1" type:"string"` + + // URL for the Chime webhook. + WebhookUrl *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateChimeWebhookConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateChimeWebhookConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateChimeWebhookConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateChimeWebhookConfigurationInput"} + if s.ChatConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("ChatConfigurationArn")) + } + if s.ChatConfigurationArn != nil && len(*s.ChatConfigurationArn) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ChatConfigurationArn", 19)) + } + if s.IamRoleArn != nil && len(*s.IamRoleArn) < 12 { + invalidParams.Add(request.NewErrParamMinLen("IamRoleArn", 12)) + } + if s.LoggingLevel != nil && len(*s.LoggingLevel) < 4 { + invalidParams.Add(request.NewErrParamMinLen("LoggingLevel", 4)) + } + if s.WebhookDescription != nil && len(*s.WebhookDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WebhookDescription", 1)) + } + if s.WebhookUrl != nil && len(*s.WebhookUrl) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WebhookUrl", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *UpdateChimeWebhookConfigurationInput) SetChatConfigurationArn(v string) *UpdateChimeWebhookConfigurationInput { + s.ChatConfigurationArn = &v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *UpdateChimeWebhookConfigurationInput) SetIamRoleArn(v string) *UpdateChimeWebhookConfigurationInput { + s.IamRoleArn = &v + return s +} + +// SetLoggingLevel sets the LoggingLevel field's value. +func (s *UpdateChimeWebhookConfigurationInput) SetLoggingLevel(v string) *UpdateChimeWebhookConfigurationInput { + s.LoggingLevel = &v + return s +} + +// SetSnsTopicArns sets the SnsTopicArns field's value. +func (s *UpdateChimeWebhookConfigurationInput) SetSnsTopicArns(v []*string) *UpdateChimeWebhookConfigurationInput { + s.SnsTopicArns = v + return s +} + +// SetWebhookDescription sets the WebhookDescription field's value. +func (s *UpdateChimeWebhookConfigurationInput) SetWebhookDescription(v string) *UpdateChimeWebhookConfigurationInput { + s.WebhookDescription = &v + return s +} + +// SetWebhookUrl sets the WebhookUrl field's value. +func (s *UpdateChimeWebhookConfigurationInput) SetWebhookUrl(v string) *UpdateChimeWebhookConfigurationInput { + s.WebhookUrl = &v + return s +} + +type UpdateChimeWebhookConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Chime webhook configuration. + WebhookConfiguration *ChimeWebhookConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateChimeWebhookConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateChimeWebhookConfigurationOutput) GoString() string { + return s.String() +} + +// SetWebhookConfiguration sets the WebhookConfiguration field's value. +func (s *UpdateChimeWebhookConfigurationOutput) SetWebhookConfiguration(v *ChimeWebhookConfiguration) *UpdateChimeWebhookConfigurationOutput { + s.WebhookConfiguration = v + return s +} + +type UpdateMicrosoftTeamsChannelConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ID of the Microsoft Teams channel. + // + // ChannelId is a required field + ChannelId *string `min:"1" type:"string" required:"true"` + + // The name of the Microsoft Teams channel. + ChannelName *string `min:"1" type:"string"` + + // The ARN of the MicrosoftTeamsChannelConfiguration to update. + // + // ChatConfigurationArn is a required field + ChatConfigurationArn *string `min:"19" type:"string" required:"true"` + + // The list of IAM policy ARNs that are applied as channel guardrails. The AWS + // managed 'AdministratorAccess' policy is applied by default if this is not + // set. + GuardrailPolicyArns []*string `type:"list"` + + // The ARN of the IAM role that defines the permissions for AWS Chatbot. This + // is a user-defined role that AWS Chatbot will assume. This is not the service-linked + // role. For more information, see IAM Policies for AWS Chatbot. + IamRoleArn *string `min:"12" type:"string"` + + // Logging levels include ERROR, INFO, or NONE. + LoggingLevel *string `min:"4" type:"string"` + + // The ARNs of the SNS topics that deliver notifications to AWS Chatbot. + SnsTopicArns []*string `type:"list"` + + // Enables use of a user role requirement in your chat configuration. + UserAuthorizationRequired *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateMicrosoftTeamsChannelConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateMicrosoftTeamsChannelConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMicrosoftTeamsChannelConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMicrosoftTeamsChannelConfigurationInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) + } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + if s.ChannelName != nil && len(*s.ChannelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelName", 1)) + } + if s.ChatConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("ChatConfigurationArn")) + } + if s.ChatConfigurationArn != nil && len(*s.ChatConfigurationArn) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ChatConfigurationArn", 19)) + } + if s.IamRoleArn != nil && len(*s.IamRoleArn) < 12 { + invalidParams.Add(request.NewErrParamMinLen("IamRoleArn", 12)) + } + if s.LoggingLevel != nil && len(*s.LoggingLevel) < 4 { + invalidParams.Add(request.NewErrParamMinLen("LoggingLevel", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelId sets the ChannelId field's value. +func (s *UpdateMicrosoftTeamsChannelConfigurationInput) SetChannelId(v string) *UpdateMicrosoftTeamsChannelConfigurationInput { + s.ChannelId = &v + return s +} + +// SetChannelName sets the ChannelName field's value. +func (s *UpdateMicrosoftTeamsChannelConfigurationInput) SetChannelName(v string) *UpdateMicrosoftTeamsChannelConfigurationInput { + s.ChannelName = &v + return s +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *UpdateMicrosoftTeamsChannelConfigurationInput) SetChatConfigurationArn(v string) *UpdateMicrosoftTeamsChannelConfigurationInput { + s.ChatConfigurationArn = &v + return s +} + +// SetGuardrailPolicyArns sets the GuardrailPolicyArns field's value. +func (s *UpdateMicrosoftTeamsChannelConfigurationInput) SetGuardrailPolicyArns(v []*string) *UpdateMicrosoftTeamsChannelConfigurationInput { + s.GuardrailPolicyArns = v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *UpdateMicrosoftTeamsChannelConfigurationInput) SetIamRoleArn(v string) *UpdateMicrosoftTeamsChannelConfigurationInput { + s.IamRoleArn = &v + return s +} + +// SetLoggingLevel sets the LoggingLevel field's value. +func (s *UpdateMicrosoftTeamsChannelConfigurationInput) SetLoggingLevel(v string) *UpdateMicrosoftTeamsChannelConfigurationInput { + s.LoggingLevel = &v + return s +} + +// SetSnsTopicArns sets the SnsTopicArns field's value. +func (s *UpdateMicrosoftTeamsChannelConfigurationInput) SetSnsTopicArns(v []*string) *UpdateMicrosoftTeamsChannelConfigurationInput { + s.SnsTopicArns = v + return s +} + +// SetUserAuthorizationRequired sets the UserAuthorizationRequired field's value. +func (s *UpdateMicrosoftTeamsChannelConfigurationInput) SetUserAuthorizationRequired(v bool) *UpdateMicrosoftTeamsChannelConfigurationInput { + s.UserAuthorizationRequired = &v + return s +} + +type UpdateMicrosoftTeamsChannelConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The configuration for a Microsoft Teams channel configured with AWS Chatbot. + ChannelConfiguration *TeamsChannelConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateMicrosoftTeamsChannelConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateMicrosoftTeamsChannelConfigurationOutput) GoString() string { + return s.String() +} + +// SetChannelConfiguration sets the ChannelConfiguration field's value. +func (s *UpdateMicrosoftTeamsChannelConfigurationOutput) SetChannelConfiguration(v *TeamsChannelConfiguration) *UpdateMicrosoftTeamsChannelConfigurationOutput { + s.ChannelConfiguration = v + return s +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type UpdateSlackChannelConfigurationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateSlackChannelConfigurationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateSlackChannelConfigurationException) GoString() string { + return s.String() +} + +func newErrorUpdateSlackChannelConfigurationException(v protocol.ResponseMetadata) error { + return &UpdateSlackChannelConfigurationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UpdateSlackChannelConfigurationException) Code() string { + return "UpdateSlackChannelConfigurationException" +} + +// Message returns the exception's message. +func (s *UpdateSlackChannelConfigurationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UpdateSlackChannelConfigurationException) OrigErr() error { + return nil +} + +func (s *UpdateSlackChannelConfigurationException) 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 *UpdateSlackChannelConfigurationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UpdateSlackChannelConfigurationException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UpdateSlackChannelConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the SlackChannelConfiguration to update. + // + // ChatConfigurationArn is a required field + ChatConfigurationArn *string `min:"19" type:"string" required:"true"` + + // The list of IAM policy ARNs that are applied as channel guardrails. The AWS + // managed 'AdministratorAccess' policy is applied by default if this is not + // set. + GuardrailPolicyArns []*string `type:"list"` + + // The ARN of the IAM role that defines the permissions for AWS Chatbot. This + // is a user-defined role that AWS Chatbot will assume. This is not the service-linked + // role. For more information, see IAM Policies for AWS Chatbot. + IamRoleArn *string `min:"12" type:"string"` + + // Logging levels include ERROR, INFO, or NONE. + LoggingLevel *string `min:"4" type:"string"` + + // The ID of the Slack channel. To get the ID, open Slack, right click on the + // channel name in the left pane, then choose Copy Link. The channel ID is the + // 9-character string at the end of the URL. For example, ABCBBLZZZ. + // + // SlackChannelId is a required field + SlackChannelId *string `min:"1" type:"string" required:"true"` + + // The name of the Slack Channel. + SlackChannelName *string `min:"1" type:"string"` + + // The ARNs of the SNS topics that deliver notifications to AWS Chatbot. + SnsTopicArns []*string `type:"list"` + + // Enables use of a user role requirement in your chat configuration. + UserAuthorizationRequired *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateSlackChannelConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateSlackChannelConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateSlackChannelConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSlackChannelConfigurationInput"} + if s.ChatConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("ChatConfigurationArn")) + } + if s.ChatConfigurationArn != nil && len(*s.ChatConfigurationArn) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ChatConfigurationArn", 19)) + } + if s.IamRoleArn != nil && len(*s.IamRoleArn) < 12 { + invalidParams.Add(request.NewErrParamMinLen("IamRoleArn", 12)) + } + if s.LoggingLevel != nil && len(*s.LoggingLevel) < 4 { + invalidParams.Add(request.NewErrParamMinLen("LoggingLevel", 4)) + } + if s.SlackChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("SlackChannelId")) + } + if s.SlackChannelId != nil && len(*s.SlackChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SlackChannelId", 1)) + } + if s.SlackChannelName != nil && len(*s.SlackChannelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SlackChannelName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChatConfigurationArn sets the ChatConfigurationArn field's value. +func (s *UpdateSlackChannelConfigurationInput) SetChatConfigurationArn(v string) *UpdateSlackChannelConfigurationInput { + s.ChatConfigurationArn = &v + return s +} + +// SetGuardrailPolicyArns sets the GuardrailPolicyArns field's value. +func (s *UpdateSlackChannelConfigurationInput) SetGuardrailPolicyArns(v []*string) *UpdateSlackChannelConfigurationInput { + s.GuardrailPolicyArns = v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *UpdateSlackChannelConfigurationInput) SetIamRoleArn(v string) *UpdateSlackChannelConfigurationInput { + s.IamRoleArn = &v + return s +} + +// SetLoggingLevel sets the LoggingLevel field's value. +func (s *UpdateSlackChannelConfigurationInput) SetLoggingLevel(v string) *UpdateSlackChannelConfigurationInput { + s.LoggingLevel = &v + return s +} + +// SetSlackChannelId sets the SlackChannelId field's value. +func (s *UpdateSlackChannelConfigurationInput) SetSlackChannelId(v string) *UpdateSlackChannelConfigurationInput { + s.SlackChannelId = &v + return s +} + +// SetSlackChannelName sets the SlackChannelName field's value. +func (s *UpdateSlackChannelConfigurationInput) SetSlackChannelName(v string) *UpdateSlackChannelConfigurationInput { + s.SlackChannelName = &v + return s +} + +// SetSnsTopicArns sets the SnsTopicArns field's value. +func (s *UpdateSlackChannelConfigurationInput) SetSnsTopicArns(v []*string) *UpdateSlackChannelConfigurationInput { + s.SnsTopicArns = v + return s +} + +// SetUserAuthorizationRequired sets the UserAuthorizationRequired field's value. +func (s *UpdateSlackChannelConfigurationInput) SetUserAuthorizationRequired(v bool) *UpdateSlackChannelConfigurationInput { + s.UserAuthorizationRequired = &v + return s +} + +type UpdateSlackChannelConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The configuration for a Slack channel configured with AWS Chatbot. + ChannelConfiguration *SlackChannelConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateSlackChannelConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateSlackChannelConfigurationOutput) GoString() string { + return s.String() +} + +// SetChannelConfiguration sets the ChannelConfiguration field's value. +func (s *UpdateSlackChannelConfigurationOutput) SetChannelConfiguration(v *SlackChannelConfiguration) *UpdateSlackChannelConfigurationOutput { + s.ChannelConfiguration = v + return s +} + +// We can’t process your request right now because of a server issue. Try +// again later. +type UpdateTeamsChannelConfigurationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateTeamsChannelConfigurationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateTeamsChannelConfigurationException) GoString() string { + return s.String() +} + +func newErrorUpdateTeamsChannelConfigurationException(v protocol.ResponseMetadata) error { + return &UpdateTeamsChannelConfigurationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UpdateTeamsChannelConfigurationException) Code() string { + return "UpdateTeamsChannelConfigurationException" +} + +// Message returns the exception's message. +func (s *UpdateTeamsChannelConfigurationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UpdateTeamsChannelConfigurationException) OrigErr() error { + return nil +} + +func (s *UpdateTeamsChannelConfigurationException) 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 *UpdateTeamsChannelConfigurationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UpdateTeamsChannelConfigurationException) RequestID() string { + return s.RespMetadata.RequestID +} diff --git a/service/chatbot/chatbotiface/interface.go b/service/chatbot/chatbotiface/interface.go new file mode 100644 index 00000000000..4b5a145e112 --- /dev/null +++ b/service/chatbot/chatbotiface/interface.go @@ -0,0 +1,177 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package chatbotiface provides an interface to enable mocking the chatbot 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 chatbotiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/chatbot" +) + +// ChatbotAPI provides an interface to enable mocking the +// chatbot.Chatbot 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 +// // chatbot. +// func myFunc(svc chatbotiface.ChatbotAPI) bool { +// // Make svc.CreateChimeWebhookConfiguration request +// } +// +// func main() { +// sess := session.New() +// svc := chatbot.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockChatbotClient struct { +// chatbotiface.ChatbotAPI +// } +// func (m *mockChatbotClient) CreateChimeWebhookConfiguration(input *chatbot.CreateChimeWebhookConfigurationInput) (*chatbot.CreateChimeWebhookConfigurationOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockChatbotClient{} +// +// 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 ChatbotAPI interface { + CreateChimeWebhookConfiguration(*chatbot.CreateChimeWebhookConfigurationInput) (*chatbot.CreateChimeWebhookConfigurationOutput, error) + CreateChimeWebhookConfigurationWithContext(aws.Context, *chatbot.CreateChimeWebhookConfigurationInput, ...request.Option) (*chatbot.CreateChimeWebhookConfigurationOutput, error) + CreateChimeWebhookConfigurationRequest(*chatbot.CreateChimeWebhookConfigurationInput) (*request.Request, *chatbot.CreateChimeWebhookConfigurationOutput) + + CreateMicrosoftTeamsChannelConfiguration(*chatbot.CreateMicrosoftTeamsChannelConfigurationInput) (*chatbot.CreateMicrosoftTeamsChannelConfigurationOutput, error) + CreateMicrosoftTeamsChannelConfigurationWithContext(aws.Context, *chatbot.CreateMicrosoftTeamsChannelConfigurationInput, ...request.Option) (*chatbot.CreateMicrosoftTeamsChannelConfigurationOutput, error) + CreateMicrosoftTeamsChannelConfigurationRequest(*chatbot.CreateMicrosoftTeamsChannelConfigurationInput) (*request.Request, *chatbot.CreateMicrosoftTeamsChannelConfigurationOutput) + + CreateSlackChannelConfiguration(*chatbot.CreateSlackChannelConfigurationInput) (*chatbot.CreateSlackChannelConfigurationOutput, error) + CreateSlackChannelConfigurationWithContext(aws.Context, *chatbot.CreateSlackChannelConfigurationInput, ...request.Option) (*chatbot.CreateSlackChannelConfigurationOutput, error) + CreateSlackChannelConfigurationRequest(*chatbot.CreateSlackChannelConfigurationInput) (*request.Request, *chatbot.CreateSlackChannelConfigurationOutput) + + DeleteChimeWebhookConfiguration(*chatbot.DeleteChimeWebhookConfigurationInput) (*chatbot.DeleteChimeWebhookConfigurationOutput, error) + DeleteChimeWebhookConfigurationWithContext(aws.Context, *chatbot.DeleteChimeWebhookConfigurationInput, ...request.Option) (*chatbot.DeleteChimeWebhookConfigurationOutput, error) + DeleteChimeWebhookConfigurationRequest(*chatbot.DeleteChimeWebhookConfigurationInput) (*request.Request, *chatbot.DeleteChimeWebhookConfigurationOutput) + + DeleteMicrosoftTeamsChannelConfiguration(*chatbot.DeleteMicrosoftTeamsChannelConfigurationInput) (*chatbot.DeleteMicrosoftTeamsChannelConfigurationOutput, error) + DeleteMicrosoftTeamsChannelConfigurationWithContext(aws.Context, *chatbot.DeleteMicrosoftTeamsChannelConfigurationInput, ...request.Option) (*chatbot.DeleteMicrosoftTeamsChannelConfigurationOutput, error) + DeleteMicrosoftTeamsChannelConfigurationRequest(*chatbot.DeleteMicrosoftTeamsChannelConfigurationInput) (*request.Request, *chatbot.DeleteMicrosoftTeamsChannelConfigurationOutput) + + DeleteMicrosoftTeamsConfiguredTeam(*chatbot.DeleteMicrosoftTeamsConfiguredTeamInput) (*chatbot.DeleteMicrosoftTeamsConfiguredTeamOutput, error) + DeleteMicrosoftTeamsConfiguredTeamWithContext(aws.Context, *chatbot.DeleteMicrosoftTeamsConfiguredTeamInput, ...request.Option) (*chatbot.DeleteMicrosoftTeamsConfiguredTeamOutput, error) + DeleteMicrosoftTeamsConfiguredTeamRequest(*chatbot.DeleteMicrosoftTeamsConfiguredTeamInput) (*request.Request, *chatbot.DeleteMicrosoftTeamsConfiguredTeamOutput) + + DeleteMicrosoftTeamsUserIdentity(*chatbot.DeleteMicrosoftTeamsUserIdentityInput) (*chatbot.DeleteMicrosoftTeamsUserIdentityOutput, error) + DeleteMicrosoftTeamsUserIdentityWithContext(aws.Context, *chatbot.DeleteMicrosoftTeamsUserIdentityInput, ...request.Option) (*chatbot.DeleteMicrosoftTeamsUserIdentityOutput, error) + DeleteMicrosoftTeamsUserIdentityRequest(*chatbot.DeleteMicrosoftTeamsUserIdentityInput) (*request.Request, *chatbot.DeleteMicrosoftTeamsUserIdentityOutput) + + DeleteSlackChannelConfiguration(*chatbot.DeleteSlackChannelConfigurationInput) (*chatbot.DeleteSlackChannelConfigurationOutput, error) + DeleteSlackChannelConfigurationWithContext(aws.Context, *chatbot.DeleteSlackChannelConfigurationInput, ...request.Option) (*chatbot.DeleteSlackChannelConfigurationOutput, error) + DeleteSlackChannelConfigurationRequest(*chatbot.DeleteSlackChannelConfigurationInput) (*request.Request, *chatbot.DeleteSlackChannelConfigurationOutput) + + DeleteSlackUserIdentity(*chatbot.DeleteSlackUserIdentityInput) (*chatbot.DeleteSlackUserIdentityOutput, error) + DeleteSlackUserIdentityWithContext(aws.Context, *chatbot.DeleteSlackUserIdentityInput, ...request.Option) (*chatbot.DeleteSlackUserIdentityOutput, error) + DeleteSlackUserIdentityRequest(*chatbot.DeleteSlackUserIdentityInput) (*request.Request, *chatbot.DeleteSlackUserIdentityOutput) + + DeleteSlackWorkspaceAuthorization(*chatbot.DeleteSlackWorkspaceAuthorizationInput) (*chatbot.DeleteSlackWorkspaceAuthorizationOutput, error) + DeleteSlackWorkspaceAuthorizationWithContext(aws.Context, *chatbot.DeleteSlackWorkspaceAuthorizationInput, ...request.Option) (*chatbot.DeleteSlackWorkspaceAuthorizationOutput, error) + DeleteSlackWorkspaceAuthorizationRequest(*chatbot.DeleteSlackWorkspaceAuthorizationInput) (*request.Request, *chatbot.DeleteSlackWorkspaceAuthorizationOutput) + + DescribeChimeWebhookConfigurations(*chatbot.DescribeChimeWebhookConfigurationsInput) (*chatbot.DescribeChimeWebhookConfigurationsOutput, error) + DescribeChimeWebhookConfigurationsWithContext(aws.Context, *chatbot.DescribeChimeWebhookConfigurationsInput, ...request.Option) (*chatbot.DescribeChimeWebhookConfigurationsOutput, error) + DescribeChimeWebhookConfigurationsRequest(*chatbot.DescribeChimeWebhookConfigurationsInput) (*request.Request, *chatbot.DescribeChimeWebhookConfigurationsOutput) + + DescribeChimeWebhookConfigurationsPages(*chatbot.DescribeChimeWebhookConfigurationsInput, func(*chatbot.DescribeChimeWebhookConfigurationsOutput, bool) bool) error + DescribeChimeWebhookConfigurationsPagesWithContext(aws.Context, *chatbot.DescribeChimeWebhookConfigurationsInput, func(*chatbot.DescribeChimeWebhookConfigurationsOutput, bool) bool, ...request.Option) error + + DescribeSlackChannelConfigurations(*chatbot.DescribeSlackChannelConfigurationsInput) (*chatbot.DescribeSlackChannelConfigurationsOutput, error) + DescribeSlackChannelConfigurationsWithContext(aws.Context, *chatbot.DescribeSlackChannelConfigurationsInput, ...request.Option) (*chatbot.DescribeSlackChannelConfigurationsOutput, error) + DescribeSlackChannelConfigurationsRequest(*chatbot.DescribeSlackChannelConfigurationsInput) (*request.Request, *chatbot.DescribeSlackChannelConfigurationsOutput) + + DescribeSlackChannelConfigurationsPages(*chatbot.DescribeSlackChannelConfigurationsInput, func(*chatbot.DescribeSlackChannelConfigurationsOutput, bool) bool) error + DescribeSlackChannelConfigurationsPagesWithContext(aws.Context, *chatbot.DescribeSlackChannelConfigurationsInput, func(*chatbot.DescribeSlackChannelConfigurationsOutput, bool) bool, ...request.Option) error + + DescribeSlackUserIdentities(*chatbot.DescribeSlackUserIdentitiesInput) (*chatbot.DescribeSlackUserIdentitiesOutput, error) + DescribeSlackUserIdentitiesWithContext(aws.Context, *chatbot.DescribeSlackUserIdentitiesInput, ...request.Option) (*chatbot.DescribeSlackUserIdentitiesOutput, error) + DescribeSlackUserIdentitiesRequest(*chatbot.DescribeSlackUserIdentitiesInput) (*request.Request, *chatbot.DescribeSlackUserIdentitiesOutput) + + DescribeSlackUserIdentitiesPages(*chatbot.DescribeSlackUserIdentitiesInput, func(*chatbot.DescribeSlackUserIdentitiesOutput, bool) bool) error + DescribeSlackUserIdentitiesPagesWithContext(aws.Context, *chatbot.DescribeSlackUserIdentitiesInput, func(*chatbot.DescribeSlackUserIdentitiesOutput, bool) bool, ...request.Option) error + + DescribeSlackWorkspaces(*chatbot.DescribeSlackWorkspacesInput) (*chatbot.DescribeSlackWorkspacesOutput, error) + DescribeSlackWorkspacesWithContext(aws.Context, *chatbot.DescribeSlackWorkspacesInput, ...request.Option) (*chatbot.DescribeSlackWorkspacesOutput, error) + DescribeSlackWorkspacesRequest(*chatbot.DescribeSlackWorkspacesInput) (*request.Request, *chatbot.DescribeSlackWorkspacesOutput) + + DescribeSlackWorkspacesPages(*chatbot.DescribeSlackWorkspacesInput, func(*chatbot.DescribeSlackWorkspacesOutput, bool) bool) error + DescribeSlackWorkspacesPagesWithContext(aws.Context, *chatbot.DescribeSlackWorkspacesInput, func(*chatbot.DescribeSlackWorkspacesOutput, bool) bool, ...request.Option) error + + GetAccountPreferences(*chatbot.GetAccountPreferencesInput) (*chatbot.GetAccountPreferencesOutput, error) + GetAccountPreferencesWithContext(aws.Context, *chatbot.GetAccountPreferencesInput, ...request.Option) (*chatbot.GetAccountPreferencesOutput, error) + GetAccountPreferencesRequest(*chatbot.GetAccountPreferencesInput) (*request.Request, *chatbot.GetAccountPreferencesOutput) + + GetMicrosoftTeamsChannelConfiguration(*chatbot.GetMicrosoftTeamsChannelConfigurationInput) (*chatbot.GetMicrosoftTeamsChannelConfigurationOutput, error) + GetMicrosoftTeamsChannelConfigurationWithContext(aws.Context, *chatbot.GetMicrosoftTeamsChannelConfigurationInput, ...request.Option) (*chatbot.GetMicrosoftTeamsChannelConfigurationOutput, error) + GetMicrosoftTeamsChannelConfigurationRequest(*chatbot.GetMicrosoftTeamsChannelConfigurationInput) (*request.Request, *chatbot.GetMicrosoftTeamsChannelConfigurationOutput) + + ListMicrosoftTeamsChannelConfigurations(*chatbot.ListMicrosoftTeamsChannelConfigurationsInput) (*chatbot.ListMicrosoftTeamsChannelConfigurationsOutput, error) + ListMicrosoftTeamsChannelConfigurationsWithContext(aws.Context, *chatbot.ListMicrosoftTeamsChannelConfigurationsInput, ...request.Option) (*chatbot.ListMicrosoftTeamsChannelConfigurationsOutput, error) + ListMicrosoftTeamsChannelConfigurationsRequest(*chatbot.ListMicrosoftTeamsChannelConfigurationsInput) (*request.Request, *chatbot.ListMicrosoftTeamsChannelConfigurationsOutput) + + ListMicrosoftTeamsChannelConfigurationsPages(*chatbot.ListMicrosoftTeamsChannelConfigurationsInput, func(*chatbot.ListMicrosoftTeamsChannelConfigurationsOutput, bool) bool) error + ListMicrosoftTeamsChannelConfigurationsPagesWithContext(aws.Context, *chatbot.ListMicrosoftTeamsChannelConfigurationsInput, func(*chatbot.ListMicrosoftTeamsChannelConfigurationsOutput, bool) bool, ...request.Option) error + + ListMicrosoftTeamsConfiguredTeams(*chatbot.ListMicrosoftTeamsConfiguredTeamsInput) (*chatbot.ListMicrosoftTeamsConfiguredTeamsOutput, error) + ListMicrosoftTeamsConfiguredTeamsWithContext(aws.Context, *chatbot.ListMicrosoftTeamsConfiguredTeamsInput, ...request.Option) (*chatbot.ListMicrosoftTeamsConfiguredTeamsOutput, error) + ListMicrosoftTeamsConfiguredTeamsRequest(*chatbot.ListMicrosoftTeamsConfiguredTeamsInput) (*request.Request, *chatbot.ListMicrosoftTeamsConfiguredTeamsOutput) + + ListMicrosoftTeamsConfiguredTeamsPages(*chatbot.ListMicrosoftTeamsConfiguredTeamsInput, func(*chatbot.ListMicrosoftTeamsConfiguredTeamsOutput, bool) bool) error + ListMicrosoftTeamsConfiguredTeamsPagesWithContext(aws.Context, *chatbot.ListMicrosoftTeamsConfiguredTeamsInput, func(*chatbot.ListMicrosoftTeamsConfiguredTeamsOutput, bool) bool, ...request.Option) error + + ListMicrosoftTeamsUserIdentities(*chatbot.ListMicrosoftTeamsUserIdentitiesInput) (*chatbot.ListMicrosoftTeamsUserIdentitiesOutput, error) + ListMicrosoftTeamsUserIdentitiesWithContext(aws.Context, *chatbot.ListMicrosoftTeamsUserIdentitiesInput, ...request.Option) (*chatbot.ListMicrosoftTeamsUserIdentitiesOutput, error) + ListMicrosoftTeamsUserIdentitiesRequest(*chatbot.ListMicrosoftTeamsUserIdentitiesInput) (*request.Request, *chatbot.ListMicrosoftTeamsUserIdentitiesOutput) + + ListMicrosoftTeamsUserIdentitiesPages(*chatbot.ListMicrosoftTeamsUserIdentitiesInput, func(*chatbot.ListMicrosoftTeamsUserIdentitiesOutput, bool) bool) error + ListMicrosoftTeamsUserIdentitiesPagesWithContext(aws.Context, *chatbot.ListMicrosoftTeamsUserIdentitiesInput, func(*chatbot.ListMicrosoftTeamsUserIdentitiesOutput, bool) bool, ...request.Option) error + + UpdateAccountPreferences(*chatbot.UpdateAccountPreferencesInput) (*chatbot.UpdateAccountPreferencesOutput, error) + UpdateAccountPreferencesWithContext(aws.Context, *chatbot.UpdateAccountPreferencesInput, ...request.Option) (*chatbot.UpdateAccountPreferencesOutput, error) + UpdateAccountPreferencesRequest(*chatbot.UpdateAccountPreferencesInput) (*request.Request, *chatbot.UpdateAccountPreferencesOutput) + + UpdateChimeWebhookConfiguration(*chatbot.UpdateChimeWebhookConfigurationInput) (*chatbot.UpdateChimeWebhookConfigurationOutput, error) + UpdateChimeWebhookConfigurationWithContext(aws.Context, *chatbot.UpdateChimeWebhookConfigurationInput, ...request.Option) (*chatbot.UpdateChimeWebhookConfigurationOutput, error) + UpdateChimeWebhookConfigurationRequest(*chatbot.UpdateChimeWebhookConfigurationInput) (*request.Request, *chatbot.UpdateChimeWebhookConfigurationOutput) + + UpdateMicrosoftTeamsChannelConfiguration(*chatbot.UpdateMicrosoftTeamsChannelConfigurationInput) (*chatbot.UpdateMicrosoftTeamsChannelConfigurationOutput, error) + UpdateMicrosoftTeamsChannelConfigurationWithContext(aws.Context, *chatbot.UpdateMicrosoftTeamsChannelConfigurationInput, ...request.Option) (*chatbot.UpdateMicrosoftTeamsChannelConfigurationOutput, error) + UpdateMicrosoftTeamsChannelConfigurationRequest(*chatbot.UpdateMicrosoftTeamsChannelConfigurationInput) (*request.Request, *chatbot.UpdateMicrosoftTeamsChannelConfigurationOutput) + + UpdateSlackChannelConfiguration(*chatbot.UpdateSlackChannelConfigurationInput) (*chatbot.UpdateSlackChannelConfigurationOutput, error) + UpdateSlackChannelConfigurationWithContext(aws.Context, *chatbot.UpdateSlackChannelConfigurationInput, ...request.Option) (*chatbot.UpdateSlackChannelConfigurationOutput, error) + UpdateSlackChannelConfigurationRequest(*chatbot.UpdateSlackChannelConfigurationInput) (*request.Request, *chatbot.UpdateSlackChannelConfigurationOutput) +} + +var _ ChatbotAPI = (*chatbot.Chatbot)(nil) diff --git a/service/chatbot/doc.go b/service/chatbot/doc.go new file mode 100644 index 00000000000..62a56597e6b --- /dev/null +++ b/service/chatbot/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package chatbot provides the client and types for making API +// requests to chatbot. +// +// # AWS Chatbot API +// +// See https://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11 for more information on this service. +// +// See chatbot package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/chatbot/ +// +// # Using the Client +// +// To contact chatbot 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 chatbot client Chatbot for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/chatbot/#New +package chatbot diff --git a/service/chatbot/errors.go b/service/chatbot/errors.go new file mode 100644 index 00000000000..3d133df9c4b --- /dev/null +++ b/service/chatbot/errors.go @@ -0,0 +1,231 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package chatbot + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // There was an issue processing your request. + ErrCodeConflictException = "ConflictException" + + // ErrCodeCreateChimeWebhookConfigurationException for service response error code + // "CreateChimeWebhookConfigurationException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeCreateChimeWebhookConfigurationException = "CreateChimeWebhookConfigurationException" + + // ErrCodeCreateSlackChannelConfigurationException for service response error code + // "CreateSlackChannelConfigurationException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeCreateSlackChannelConfigurationException = "CreateSlackChannelConfigurationException" + + // ErrCodeCreateTeamsChannelConfigurationException for service response error code + // "CreateTeamsChannelConfigurationException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeCreateTeamsChannelConfigurationException = "CreateTeamsChannelConfigurationException" + + // ErrCodeDeleteChimeWebhookConfigurationException for service response error code + // "DeleteChimeWebhookConfigurationException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeDeleteChimeWebhookConfigurationException = "DeleteChimeWebhookConfigurationException" + + // ErrCodeDeleteMicrosoftTeamsUserIdentityException for service response error code + // "DeleteMicrosoftTeamsUserIdentityException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeDeleteMicrosoftTeamsUserIdentityException = "DeleteMicrosoftTeamsUserIdentityException" + + // ErrCodeDeleteSlackChannelConfigurationException for service response error code + // "DeleteSlackChannelConfigurationException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeDeleteSlackChannelConfigurationException = "DeleteSlackChannelConfigurationException" + + // ErrCodeDeleteSlackUserIdentityException for service response error code + // "DeleteSlackUserIdentityException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeDeleteSlackUserIdentityException = "DeleteSlackUserIdentityException" + + // ErrCodeDeleteSlackWorkspaceAuthorizationFault for service response error code + // "DeleteSlackWorkspaceAuthorizationFault". + // + // There was an issue deleting your Slack workspace. + ErrCodeDeleteSlackWorkspaceAuthorizationFault = "DeleteSlackWorkspaceAuthorizationFault" + + // ErrCodeDeleteTeamsChannelConfigurationException for service response error code + // "DeleteTeamsChannelConfigurationException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeDeleteTeamsChannelConfigurationException = "DeleteTeamsChannelConfigurationException" + + // ErrCodeDeleteTeamsConfiguredTeamException for service response error code + // "DeleteTeamsConfiguredTeamException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeDeleteTeamsConfiguredTeamException = "DeleteTeamsConfiguredTeamException" + + // ErrCodeDescribeChimeWebhookConfigurationsException for service response error code + // "DescribeChimeWebhookConfigurationsException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeDescribeChimeWebhookConfigurationsException = "DescribeChimeWebhookConfigurationsException" + + // ErrCodeDescribeSlackChannelConfigurationsException for service response error code + // "DescribeSlackChannelConfigurationsException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeDescribeSlackChannelConfigurationsException = "DescribeSlackChannelConfigurationsException" + + // ErrCodeDescribeSlackUserIdentitiesException for service response error code + // "DescribeSlackUserIdentitiesException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeDescribeSlackUserIdentitiesException = "DescribeSlackUserIdentitiesException" + + // ErrCodeDescribeSlackWorkspacesException for service response error code + // "DescribeSlackWorkspacesException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeDescribeSlackWorkspacesException = "DescribeSlackWorkspacesException" + + // ErrCodeGetAccountPreferencesException for service response error code + // "GetAccountPreferencesException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeGetAccountPreferencesException = "GetAccountPreferencesException" + + // ErrCodeGetTeamsChannelConfigurationException for service response error code + // "GetTeamsChannelConfigurationException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeGetTeamsChannelConfigurationException = "GetTeamsChannelConfigurationException" + + // ErrCodeInvalidParameterException for service response error code + // "InvalidParameterException". + // + // Your request input doesn't meet the constraints that AWS Chatbot requires. + ErrCodeInvalidParameterException = "InvalidParameterException" + + // ErrCodeInvalidRequestException for service response error code + // "InvalidRequestException". + // + // Your request input doesn't meet the constraints that AWS Chatbot requires. + ErrCodeInvalidRequestException = "InvalidRequestException" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceededException". + // + // You have exceeded a service limit for AWS Chatbot. + ErrCodeLimitExceededException = "LimitExceededException" + + // ErrCodeListMicrosoftTeamsConfiguredTeamsException for service response error code + // "ListMicrosoftTeamsConfiguredTeamsException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeListMicrosoftTeamsConfiguredTeamsException = "ListMicrosoftTeamsConfiguredTeamsException" + + // ErrCodeListMicrosoftTeamsUserIdentitiesException for service response error code + // "ListMicrosoftTeamsUserIdentitiesException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeListMicrosoftTeamsUserIdentitiesException = "ListMicrosoftTeamsUserIdentitiesException" + + // ErrCodeListTeamsChannelConfigurationsException for service response error code + // "ListTeamsChannelConfigurationsException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeListTeamsChannelConfigurationsException = "ListTeamsChannelConfigurationsException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // We were not able to find the resource for your request. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeUpdateAccountPreferencesException for service response error code + // "UpdateAccountPreferencesException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeUpdateAccountPreferencesException = "UpdateAccountPreferencesException" + + // ErrCodeUpdateChimeWebhookConfigurationException for service response error code + // "UpdateChimeWebhookConfigurationException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeUpdateChimeWebhookConfigurationException = "UpdateChimeWebhookConfigurationException" + + // ErrCodeUpdateSlackChannelConfigurationException for service response error code + // "UpdateSlackChannelConfigurationException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeUpdateSlackChannelConfigurationException = "UpdateSlackChannelConfigurationException" + + // ErrCodeUpdateTeamsChannelConfigurationException for service response error code + // "UpdateTeamsChannelConfigurationException". + // + // We can’t process your request right now because of a server issue. Try + // again later. + ErrCodeUpdateTeamsChannelConfigurationException = "UpdateTeamsChannelConfigurationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "ConflictException": newErrorConflictException, + "CreateChimeWebhookConfigurationException": newErrorCreateChimeWebhookConfigurationException, + "CreateSlackChannelConfigurationException": newErrorCreateSlackChannelConfigurationException, + "CreateTeamsChannelConfigurationException": newErrorCreateTeamsChannelConfigurationException, + "DeleteChimeWebhookConfigurationException": newErrorDeleteChimeWebhookConfigurationException, + "DeleteMicrosoftTeamsUserIdentityException": newErrorDeleteMicrosoftTeamsUserIdentityException, + "DeleteSlackChannelConfigurationException": newErrorDeleteSlackChannelConfigurationException, + "DeleteSlackUserIdentityException": newErrorDeleteSlackUserIdentityException, + "DeleteSlackWorkspaceAuthorizationFault": newErrorDeleteSlackWorkspaceAuthorizationFault, + "DeleteTeamsChannelConfigurationException": newErrorDeleteTeamsChannelConfigurationException, + "DeleteTeamsConfiguredTeamException": newErrorDeleteTeamsConfiguredTeamException, + "DescribeChimeWebhookConfigurationsException": newErrorDescribeChimeWebhookConfigurationsException, + "DescribeSlackChannelConfigurationsException": newErrorDescribeSlackChannelConfigurationsException, + "DescribeSlackUserIdentitiesException": newErrorDescribeSlackUserIdentitiesException, + "DescribeSlackWorkspacesException": newErrorDescribeSlackWorkspacesException, + "GetAccountPreferencesException": newErrorGetAccountPreferencesException, + "GetTeamsChannelConfigurationException": newErrorGetTeamsChannelConfigurationException, + "InvalidParameterException": newErrorInvalidParameterException, + "InvalidRequestException": newErrorInvalidRequestException, + "LimitExceededException": newErrorLimitExceededException, + "ListMicrosoftTeamsConfiguredTeamsException": newErrorListMicrosoftTeamsConfiguredTeamsException, + "ListMicrosoftTeamsUserIdentitiesException": newErrorListMicrosoftTeamsUserIdentitiesException, + "ListTeamsChannelConfigurationsException": newErrorListTeamsChannelConfigurationsException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "UpdateAccountPreferencesException": newErrorUpdateAccountPreferencesException, + "UpdateChimeWebhookConfigurationException": newErrorUpdateChimeWebhookConfigurationException, + "UpdateSlackChannelConfigurationException": newErrorUpdateSlackChannelConfigurationException, + "UpdateTeamsChannelConfigurationException": newErrorUpdateTeamsChannelConfigurationException, +} diff --git a/service/chatbot/service.go b/service/chatbot/service.go new file mode 100644 index 00000000000..d7597fc3421 --- /dev/null +++ b/service/chatbot/service.go @@ -0,0 +1,107 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package chatbot + +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" +) + +// Chatbot provides the API operation methods for making requests to +// chatbot. See this package's package overview docs +// for details on the service. +// +// Chatbot methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type Chatbot 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 = "chatbot" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "chatbot" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the Chatbot 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 Chatbot client from just a session. +// svc := chatbot.New(mySession) +// +// // Create a Chatbot client with additional configuration +// svc := chatbot.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *Chatbot { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = EndpointsID + // No Fallback + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *Chatbot { + svc := &Chatbot{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2017-10-11", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a Chatbot operation and runs any +// custom request initialization. +func (c *Chatbot) 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/configservice/api.go b/service/configservice/api.go index e8d870b1842..d9a8a18fa2c 100644 --- a/service/configservice/api.go +++ b/service/configservice/api.go @@ -4204,7 +4204,7 @@ func (c *ConfigService) DescribeOrganizationConfigRulesRequest(input *DescribeOr // rule names. It is only applicable, when you request all the organization // Config rules. // -// # For accounts within an organzation +// # For accounts within an organization // // If you deploy an organizational rule or conformance pack in an organization // administrator account, and then establish a delegated administrator and deploy @@ -4574,7 +4574,7 @@ func (c *ConfigService) DescribeOrganizationConformancePacksRequest(input *Descr // packs names. They are only applicable, when you request all the organization // conformance packs. // -// # For accounts within an organzation +// # For accounts within an organization // // If you deploy an organizational rule or conformance pack in an organization // administrator account, and then establish a delegated administrator and deploy @@ -10306,6 +10306,8 @@ func (c *ConfigService) PutRemediationConfigurationsRequest(input *PutRemediatio // add a remediation configuration. The target (SSM document) must exist and // have permissions to use the target. // +// # Be aware of backward incompatible changes +// // If you make backward incompatible changes to the SSM document, you must call // this again to ensure the remediations can run. // @@ -10313,6 +10315,8 @@ func (c *ConfigService) PutRemediationConfigurationsRequest(input *PutRemediatio // Config Rules such as Organization Config rules, the rules deployed by conformance // packs, and rules deployed by Amazon Web Services Security Hub. // +// # Required fields +// // For manual remediation configuration, you need to provide a value for automationAssumeRole // or use a value in the assumeRolefield to remediate your resources. The SSM // automation document can use either as long as it maps to a valid parameter. @@ -10321,6 +10325,20 @@ func (c *ConfigService) PutRemediationConfigurationsRequest(input *PutRemediatio // field value is AutomationAssumeRole and you need to provide a value for AutomationAssumeRole // to remediate your resources. // +// # Auto remediation can be initiated even for compliant resources +// +// If you enable auto remediation for a specific Config rule using the PutRemediationConfigurations +// (https://docs.aws.amazon.com/config/latest/APIReference/emAPI_PutRemediationConfigurations.html) +// API or the Config console, it initiates the remediation process for all non-compliant +// resources for that specific rule. The auto remediation process relies on +// the compliance data snapshot which is captured on a periodic basis. Any non-compliant +// resource that is updated between the snapshot schedule will continue to be +// remediated based on the last known compliance data snapshot. +// +// This means that in some cases auto remediation can be initiated even for +// compliant resources, since the bootstrap processor uses a database that can +// have stale evaluation results based on the last known compliance data snapshot. +// // Returns awserr.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. @@ -10421,10 +10439,14 @@ func (c *ConfigService) PutRemediationExceptionsRequest(input *PutRemediationExc // for auto-remediation. This API adds a new exception or updates an existing // exception for a specified resource with a specified Config rule. // +// # Exceptions block auto remediation +// // Config generates a remediation exception when a problem occurs running a // remediation action for a specified resource. Remediation exceptions blocks // auto-remediation until the exception is cleared. // +// # Manual remediation is recommended when placing an exception +// // When placing an exception on an Amazon Web Services resource, it is recommended // that remediation is set as manual remediation until the given Config rule // for the specified resource evaluates the resource as NON_COMPLIANT. Once @@ -10434,6 +10456,8 @@ func (c *ConfigService) PutRemediationExceptionsRequest(input *PutRemediationExc // NON_COMPLIANT evaluation result can delete resources before the exception // is applied. // +// # Exceptions can only be performed on non-compliant resources +// // Placing an exception can only be performed on resources that are NON_COMPLIANT. // If you use this API for COMPLIANT resources or resources that are NOT_APPLICABLE, // a remediation exception will not be generated. For more information on the @@ -10441,6 +10465,20 @@ func (c *ConfigService) PutRemediationExceptionsRequest(input *PutRemediationExc // | Config Rules (https://docs.aws.amazon.com/config/latest/developerguide/config-concepts.html#aws-config-rules) // in the Config Developer Guide. // +// # Auto remediation can be initiated even for compliant resources +// +// If you enable auto remediation for a specific Config rule using the PutRemediationConfigurations +// (https://docs.aws.amazon.com/config/latest/APIReference/emAPI_PutRemediationConfigurations.html) +// API or the Config console, it initiates the remediation process for all non-compliant +// resources for that specific rule. The auto remediation process relies on +// the compliance data snapshot which is captured on a periodic basis. Any non-compliant +// resource that is updated between the snapshot schedule will continue to be +// remediated based on the last known compliance data snapshot. +// +// This means that in some cases auto remediation can be initiated even for +// compliant resources, since the bootstrap processor uses a database that can +// have stale evaluation results based on the last known compliance data snapshot. +// // Returns awserr.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. @@ -19944,6 +19982,8 @@ func (s *EvaluationStatus) SetStatus(v string) *EvaluationStatus { // // - Asia Pacific (Melbourne) // +// - Canada West (Calgary) +// // - Europe (Spain) // // - Europe (Zurich) @@ -29641,6 +29681,8 @@ type RecordingGroup struct { // // * Asia Pacific (Melbourne) // + // * Canada West (Calgary) + // // * Europe (Spain) // // * Europe (Zurich) @@ -29653,8 +29695,8 @@ type RecordingGroup struct { // // The AWS::RDS::GlobalCluster resource type will be recorded in all supported // Config Regions where the configuration recorder is enabled, even if includeGlobalResourceTypes - // is not set to true. The includeGlobalResourceTypes option is a bundle which - // only applies to IAM users, groups, roles, and customer managed policies. + // is setfalse. The includeGlobalResourceTypes option is a bundle which only + // applies to IAM users, groups, roles, and customer managed policies. // // If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, // use one of the following recording strategies: @@ -29667,6 +29709,26 @@ type RecordingGroup struct { // For more information, see Selecting Which Resources are Recorded (https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html#select-resources-all) // in the Config developer guide. // + // includeGlobalResourceTypes and the exclusion recording strategy + // + // The includeGlobalResourceTypes field has no impact on the EXCLUSION_BY_RESOURCE_TYPES + // recording strategy. This means that the global IAM resource types (IAM users, + // groups, roles, and customer managed policies) will not be automatically added + // as exclusions for exclusionByResourceTypes when includeGlobalResourceTypes + // is set to false. + // + // The includeGlobalResourceTypes field should only be used to modify the AllSupported + // field, as the default for the AllSupported field is to record configuration + // changes for all supported resource types excluding the global IAM resource + // types. To include the global IAM resource types when AllSupported is set + // to true, make sure to set includeGlobalResourceTypes to true. + // + // To exclude the global IAM resource types for the EXCLUSION_BY_RESOURCE_TYPES + // recording strategy, you need to manually add them to the resourceTypes field + // of exclusionByResourceTypes. + // + // Required and optional fields + // // Before you set this field to true, set the allSupported field of RecordingGroup // (https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) // to true. Optionally, you can set the useOnly field of RecordingStrategy (https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) @@ -29749,6 +29811,8 @@ type RecordingGroup struct { // // * Asia Pacific (Melbourne) // + // * Canada West (Calgary) + // // * Europe (Spain) // // * Europe (Zurich) @@ -30094,6 +30158,8 @@ type RecordingStrategy struct { // // * Asia Pacific (Melbourne) // + // * Canada West (Calgary) + // // * Europe (Spain) // // * Europe (Zurich) @@ -33230,9 +33296,7 @@ type TemplateSSMDocumentDetails struct { // The name or Amazon Resource Name (ARN) of the SSM document to use to create // a conformance pack. If you use the document name, Config checks only your - // account and Amazon Web Services Region for the SSM document. If you want - // to use an SSM document from another Region or account, you must provide the - // ARN. + // account and Amazon Web Services Region for the SSM document. // // DocumentName is a required field DocumentName *string `type:"string" required:"true"` diff --git a/service/ivs/api.go b/service/ivs/api.go index 1c8e5ce29e2..9964ff68645 100644 --- a/service/ivs/api.go +++ b/service/ivs/api.go @@ -4015,8 +4015,6 @@ type Channel struct { // Channel latency mode. Use NORMAL to broadcast and deliver live video up to // Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW. - // (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low - // and Standard, respectively.) LatencyMode *string `locationName:"latencyMode" type:"string" enum:"ChannelLatencyMode"` // Channel name. @@ -4226,8 +4224,6 @@ type ChannelSummary struct { // Channel latency mode. Use NORMAL to broadcast and deliver live video up to // Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW. - // (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low - // and Standard, respectively.) LatencyMode *string `locationName:"latencyMode" type:"string" enum:"ChannelLatencyMode"` // Channel name. @@ -4417,9 +4413,7 @@ type CreateChannelInput struct { InsecureIngest *bool `locationName:"insecureIngest" type:"boolean"` // Channel latency mode. Use NORMAL to broadcast and deliver live video up to - // Full HD. Use LOW for near-real-time interaction with viewers. (Note: In the - // Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, - // respectively.) Default: LOW. + // Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW. LatencyMode *string `locationName:"latencyMode" type:"string" enum:"ChannelLatencyMode"` // Channel name. @@ -8926,9 +8920,7 @@ type UpdateChannelInput struct { InsecureIngest *bool `locationName:"insecureIngest" type:"boolean"` // Channel latency mode. Use NORMAL to broadcast and deliver live video up to - // Full HD. Use LOW for near-real-time interaction with viewers. (Note: In the - // Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, - // respectively.) + // Full HD. Use LOW for near-real-time interaction with viewers. LatencyMode *string `locationName:"latencyMode" type:"string" enum:"ChannelLatencyMode"` // Channel name. diff --git a/service/keyspaces/api.go b/service/keyspaces/api.go index 57f7ec9cf55..a7180b0291d 100644 --- a/service/keyspaces/api.go +++ b/service/keyspaces/api.go @@ -681,6 +681,15 @@ func (c *Keyspaces) GetTableAutoScalingSettingsRequest(input *GetTableAutoScalin // Amazon Keyspaces auto scaling (https://docs.aws.amazon.com/keyspaces/latest/devguide/autoscaling.html) // in the Amazon Keyspaces Developer Guide. // +// GetTableAutoScalingSettings can't be used as an action in an IAM policy. +// +// To define permissions for GetTableAutoScalingSettings, you must allow the +// following two actions in the IAM policy statement's Action element: +// +// - application-autoscaling:DescribeScalableTargets +// +// - application-autoscaling:DescribeScalingPolicies +// // Returns awserr.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. @@ -1760,9 +1769,8 @@ func (s *AutoScalingPolicy) SetTargetTrackingScalingPolicyConfiguration(v *Targe // To turn on auto scaling for a table in throughputMode:PROVISIONED, you must // specify the following parameters. // -// Configure the minimum and maximum units for write and read capacity. The -// auto scaling policy ensures that capacity never goes below the minimum or -// above the maximum range. +// Configure the minimum and maximum capacity units. The auto scaling policy +// ensures that capacity never goes below the minimum or above the maximum range. // // - minimumUnits: The minimum level of throughput the table should always // be ready to support. The value must be between 1 and the max throughput @@ -1773,22 +1781,22 @@ func (s *AutoScalingPolicy) SetTargetTrackingScalingPolicyConfiguration(v *Targe // per second quota for your account (40,000 by default). // // - scalingPolicy: Amazon Keyspaces supports the target tracking scaling -// policy. The auto scaling target is the provisioned read and write capacity -// of the table. targetTrackingScalingPolicyConfiguration: To define the -// target tracking policy, you must define the target value. targetValue: -// The target utilization rate of the table. Amazon Keyspaces auto scaling -// ensures that the ratio of consumed capacity to provisioned capacity stays -// at or near this value. You define targetValue as a percentage. A double -// between 20 and 90. (Required) disableScaleIn: A boolean that specifies -// if scale-in is disabled or enabled for the table. This parameter is disabled -// by default. To turn on scale-in, set the boolean value to FALSE. This -// means that capacity for a table can be automatically scaled down on your -// behalf. (Optional) scaleInCooldown: A cooldown period in seconds between -// scaling activities that lets the table stabilize before another scale -// in activity starts. If no value is provided, the default is 0. (Optional) -// scaleOutCooldown: A cooldown period in seconds between scaling activities -// that lets the table stabilize before another scale out activity starts. -// If no value is provided, the default is 0. (Optional) +// policy. The auto scaling target is the provisioned capacity of the table. +// targetTrackingScalingPolicyConfiguration: To define the target tracking +// policy, you must define the target value. targetValue: The target utilization +// rate of the table. Amazon Keyspaces auto scaling ensures that the ratio +// of consumed capacity to provisioned capacity stays at or near this value. +// You define targetValue as a percentage. A double between 20 and 90. (Required) +// disableScaleIn: A boolean that specifies if scale-in is disabled or enabled +// for the table. This parameter is disabled by default. To turn on scale-in, +// set the boolean value to FALSE. This means that capacity for a table can +// be automatically scaled down on your behalf. (Optional) scaleInCooldown: +// A cooldown period in seconds between scaling activities that lets the +// table stabilize before another scale in activity starts. If no value is +// provided, the default is 0. (Optional) scaleOutCooldown: A cooldown period +// in seconds between scaling activities that lets the table stabilize before +// another scale out activity starts. If no value is provided, the default +// is 0. (Optional) // // For more information, see Managing throughput capacity automatically with // Amazon Keyspaces auto scaling (https://docs.aws.amazon.com/keyspaces/latest/devguide/autoscaling.html) @@ -1879,8 +1887,8 @@ func (s *AutoScalingSettings) SetScalingPolicy(v *AutoScalingPolicy) *AutoScalin return s } -// The optional auto scaling settings for read and write capacity of a table -// in provisioned capacity mode. +// The optional auto scaling capacity settings for a table in provisioned capacity +// mode. type AutoScalingSpecification struct { _ struct{} `type:"structure"` diff --git a/service/mediatailor/api.go b/service/mediatailor/api.go index b1cd3b0b1f6..e46ecf34c82 100644 --- a/service/mediatailor/api.go +++ b/service/mediatailor/api.go @@ -3879,7 +3879,9 @@ type AdBreak struct { // How long (in milliseconds) after the beginning of the program that an ad // starts. This value must fall within 100ms of a segment boundary, otherwise // the ad break will be skipped. - OffsetMillis *int64 `type:"long"` + // + // OffsetMillis is a required field + OffsetMillis *int64 `type:"long" required:"true"` // Ad break slate configuration. Slate *SlateSource `type:"structure"` @@ -3920,6 +3922,9 @@ func (s AdBreak) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *AdBreak) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AdBreak"} + if s.OffsetMillis == nil { + invalidParams.Add(request.NewErrParamRequired("OffsetMillis")) + } if s.AdBreakMetadata != nil { for i, v := range s.AdBreakMetadata { if v == nil {