From 2389894af92747d3ccd38b691ab977789ad489b1 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Tue, 4 Oct 2022 11:23:46 -0700 Subject: [PATCH] Release v1.44.111 (2022-10-04) (#4576) Release v1.44.111 (2022-10-04) === ### Service Client Updates * `service/connect`: Updates service API * `service/connectcases`: Adds new service * `service/ec2`: Updates service API and documentation * Added EnableNetworkAddressUsageMetrics flag for ModifyVpcAttribute, DescribeVpcAttribute APIs. * `service/ecs`: Updates service documentation * Documentation updates to address various Amazon ECS tickets. * `service/s3control`: Updates service API * S3 Object Lambda adds support to allow customers to intercept HeadObject and ListObjects requests and introduce their own compute. These requests were previously proxied to S3. * `service/workmail`: Updates service API, documentation, and paginators * This release adds support for impersonation roles in Amazon WorkMail. --- CHANGELOG.md | 15 + aws/endpoints/defaults.go | 10 + aws/version.go | 2 +- models/apis/connect/2017-08-08/api-2.json | 3 +- .../apis/connectcases/2022-10-03/api-2.json | 2213 ++++ .../apis/connectcases/2022-10-03/docs-2.json | 1209 ++ .../connectcases/2022-10-03/examples-1.json | 5 + .../connectcases/2022-10-03/paginators-1.json | 50 + models/apis/ec2/2016-11-15/api-2.json | 10 +- models/apis/ec2/2016-11-15/docs-2.json | 4 +- models/apis/ecs/2014-11-13/docs-2.json | 8 +- models/apis/s3control/2018-08-20/api-2.json | 11 +- models/apis/workmail/2017-10-01/api-2.json | 391 +- models/apis/workmail/2017-10-01/docs-2.json | 401 +- .../workmail/2017-10-01/paginators-1.json | 5 + models/endpoints/endpoints.json | 6 + service/connect/api.go | 4 + service/connectcases/api.go | 9743 +++++++++++++++++ .../connectcasesiface/interface.go | 207 + service/connectcases/doc.go | 34 + service/connectcases/errors.go | 69 + service/connectcases/service.go | 106 + service/ec2/api.go | 22 + service/ecs/api.go | 11 +- service/s3control/api.go | 20 + service/workmail/api.go | 2548 ++++- service/workmail/doc.go | 8 +- service/workmail/errors.go | 10 +- service/workmail/workmailiface/interface.go | 31 + 29 files changed, 16729 insertions(+), 427 deletions(-) create mode 100644 models/apis/connectcases/2022-10-03/api-2.json create mode 100644 models/apis/connectcases/2022-10-03/docs-2.json create mode 100644 models/apis/connectcases/2022-10-03/examples-1.json create mode 100644 models/apis/connectcases/2022-10-03/paginators-1.json create mode 100644 service/connectcases/api.go create mode 100644 service/connectcases/connectcasesiface/interface.go create mode 100644 service/connectcases/doc.go create mode 100644 service/connectcases/errors.go create mode 100644 service/connectcases/service.go diff --git a/CHANGELOG.md b/CHANGELOG.md index a8457890f4f..8c7b97402d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +Release v1.44.111 (2022-10-04) +=== + +### Service Client Updates +* `service/connect`: Updates service API +* `service/connectcases`: Adds new service +* `service/ec2`: Updates service API and documentation + * Added EnableNetworkAddressUsageMetrics flag for ModifyVpcAttribute, DescribeVpcAttribute APIs. +* `service/ecs`: Updates service documentation + * Documentation updates to address various Amazon ECS tickets. +* `service/s3control`: Updates service API + * S3 Object Lambda adds support to allow customers to intercept HeadObject and ListObjects requests and introduce their own compute. These requests were previously proxied to S3. +* `service/workmail`: Updates service API, documentation, and paginators + * This release adds support for impersonation roles in Amazon WorkMail. + Release v1.44.110 (2022-10-03) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 08e459be355..fc04edea825 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -3678,6 +3678,16 @@ var awsPartition = partition{ }, }, }, + "cases": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "cassandra": service{ Endpoints: serviceEndpoints{ endpointKey{ diff --git a/aws/version.go b/aws/version.go index dd8c7dfc96f..5533b0a0619 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.44.110" +const SDKVersion = "1.44.111" diff --git a/models/apis/connect/2017-08-08/api-2.json b/models/apis/connect/2017-08-08/api-2.json index 8b1646a80ef..fddd5141743 100644 --- a/models/apis/connect/2017-08-08/api-2.json +++ b/models/apis/connect/2017-08-08/api-2.json @@ -5253,7 +5253,8 @@ "VOICE_ID", "PINPOINT_APP", "WISDOM_ASSISTANT", - "WISDOM_KNOWLEDGE_BASE" + "WISDOM_KNOWLEDGE_BASE", + "CASES_DOMAIN" ] }, "InternalServiceException":{ diff --git a/models/apis/connectcases/2022-10-03/api-2.json b/models/apis/connectcases/2022-10-03/api-2.json new file mode 100644 index 00000000000..38fa12c592d --- /dev/null +++ b/models/apis/connectcases/2022-10-03/api-2.json @@ -0,0 +1,2213 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2022-10-03", + "endpointPrefix":"cases", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"ConnectCases", + "serviceFullName":"Amazon Connect Cases", + "serviceId":"ConnectCases", + "signatureVersion":"v4", + "signingName":"cases", + "uid":"connectcases-2022-10-03" + }, + "operations":{ + "BatchGetField":{ + "name":"BatchGetField", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/fields-batch", + "responseCode":200 + }, + "input":{"shape":"BatchGetFieldRequest"}, + "output":{"shape":"BatchGetFieldResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "BatchPutFieldOptions":{ + "name":"BatchPutFieldOptions", + "http":{ + "method":"PUT", + "requestUri":"/domains/{domainId}/fields/{fieldId}/options", + "responseCode":200 + }, + "input":{"shape":"BatchPutFieldOptionsRequest"}, + "output":{"shape":"BatchPutFieldOptionsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "idempotent":true + }, + "CreateCase":{ + "name":"CreateCase", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/cases", + "responseCode":200 + }, + "input":{"shape":"CreateCaseRequest"}, + "output":{"shape":"CreateCaseResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "CreateDomain":{ + "name":"CreateDomain", + "http":{ + "method":"POST", + "requestUri":"/domains", + "responseCode":200 + }, + "input":{"shape":"CreateDomainRequest"}, + "output":{"shape":"CreateDomainResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "idempotent":true + }, + "CreateField":{ + "name":"CreateField", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/fields", + "responseCode":200 + }, + "input":{"shape":"CreateFieldRequest"}, + "output":{"shape":"CreateFieldResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "idempotent":true + }, + "CreateLayout":{ + "name":"CreateLayout", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/layouts", + "responseCode":200 + }, + "input":{"shape":"CreateLayoutRequest"}, + "output":{"shape":"CreateLayoutResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"} + ] + }, + "CreateRelatedItem":{ + "name":"CreateRelatedItem", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/cases/{caseId}/related-items/", + "responseCode":200 + }, + "input":{"shape":"CreateRelatedItemRequest"}, + "output":{"shape":"CreateRelatedItemResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "idempotent":true + }, + "CreateTemplate":{ + "name":"CreateTemplate", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/templates", + "responseCode":200 + }, + "input":{"shape":"CreateTemplateRequest"}, + "output":{"shape":"CreateTemplateResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "idempotent":true + }, + "GetCase":{ + "name":"GetCase", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/cases/{caseId}", + "responseCode":200 + }, + "input":{"shape":"GetCaseRequest"}, + "output":{"shape":"GetCaseResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "GetCaseEventConfiguration":{ + "name":"GetCaseEventConfiguration", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/case-event-configuration", + "responseCode":200 + }, + "input":{"shape":"GetCaseEventConfigurationRequest"}, + "output":{"shape":"GetCaseEventConfigurationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "GetDomain":{ + "name":"GetDomain", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}", + "responseCode":200 + }, + "input":{"shape":"GetDomainRequest"}, + "output":{"shape":"GetDomainResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "GetLayout":{ + "name":"GetLayout", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/layouts/{layoutId}", + "responseCode":200 + }, + "input":{"shape":"GetLayoutRequest"}, + "output":{"shape":"GetLayoutResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "GetTemplate":{ + "name":"GetTemplate", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/templates/{templateId}", + "responseCode":200 + }, + "input":{"shape":"GetTemplateRequest"}, + "output":{"shape":"GetTemplateResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListCasesForContact":{ + "name":"ListCasesForContact", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/list-cases-for-contact", + "responseCode":200 + }, + "input":{"shape":"ListCasesForContactRequest"}, + "output":{"shape":"ListCasesForContactResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListDomains":{ + "name":"ListDomains", + "http":{ + "method":"POST", + "requestUri":"/domains-list", + "responseCode":200 + }, + "input":{"shape":"ListDomainsRequest"}, + "output":{"shape":"ListDomainsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListFieldOptions":{ + "name":"ListFieldOptions", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/fields/{fieldId}/options-list", + "responseCode":200 + }, + "input":{"shape":"ListFieldOptionsRequest"}, + "output":{"shape":"ListFieldOptionsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListFields":{ + "name":"ListFields", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/fields-list", + "responseCode":200 + }, + "input":{"shape":"ListFieldsRequest"}, + "output":{"shape":"ListFieldsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListLayouts":{ + "name":"ListLayouts", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/layouts-list", + "responseCode":200 + }, + "input":{"shape":"ListLayoutsRequest"}, + "output":{"shape":"ListLayoutsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{arn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "idempotent":true + }, + "ListTemplates":{ + "name":"ListTemplates", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/templates-list", + "responseCode":200 + }, + "input":{"shape":"ListTemplatesRequest"}, + "output":{"shape":"ListTemplatesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "PutCaseEventConfiguration":{ + "name":"PutCaseEventConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/domains/{domainId}/case-event-configuration", + "responseCode":200 + }, + "input":{"shape":"PutCaseEventConfigurationRequest"}, + "output":{"shape":"PutCaseEventConfigurationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "SearchCases":{ + "name":"SearchCases", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/cases-search", + "responseCode":200 + }, + "input":{"shape":"SearchCasesRequest"}, + "output":{"shape":"SearchCasesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "SearchRelatedItems":{ + "name":"SearchRelatedItems", + "http":{ + "method":"POST", + "requestUri":"/domains/{domainId}/cases/{caseId}/related-items-search", + "responseCode":200 + }, + "input":{"shape":"SearchRelatedItemsRequest"}, + "output":{"shape":"SearchRelatedItemsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{arn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{arn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "idempotent":true + }, + "UpdateCase":{ + "name":"UpdateCase", + "http":{ + "method":"PUT", + "requestUri":"/domains/{domainId}/cases/{caseId}", + "responseCode":200 + }, + "input":{"shape":"UpdateCaseRequest"}, + "output":{"shape":"UpdateCaseResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "UpdateField":{ + "name":"UpdateField", + "http":{ + "method":"PUT", + "requestUri":"/domains/{domainId}/fields/{fieldId}", + "responseCode":200 + }, + "input":{"shape":"UpdateFieldRequest"}, + "output":{"shape":"UpdateFieldResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "UpdateLayout":{ + "name":"UpdateLayout", + "http":{ + "method":"PUT", + "requestUri":"/domains/{domainId}/layouts/{layoutId}", + "responseCode":200 + }, + "input":{"shape":"UpdateLayoutRequest"}, + "output":{"shape":"UpdateLayoutResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "UpdateTemplate":{ + "name":"UpdateTemplate", + "http":{ + "method":"PUT", + "requestUri":"/domains/{domainId}/templates/{templateId}", + "responseCode":200 + }, + "input":{"shape":"UpdateTemplateRequest"}, + "output":{"shape":"UpdateTemplateResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "Arn":{ + "type":"string", + "max":500, + "min":1 + }, + "AssociationTime":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "BasicLayout":{ + "type":"structure", + "members":{ + "moreInfo":{"shape":"LayoutSections"}, + "topPanel":{"shape":"LayoutSections"} + } + }, + "BatchGetFieldIdentifierList":{ + "type":"list", + "member":{"shape":"FieldIdentifier"}, + "max":50, + "min":1 + }, + "BatchGetFieldRequest":{ + "type":"structure", + "required":[ + "domainId", + "fields" + ], + "members":{ + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "fields":{"shape":"BatchGetFieldIdentifierList"} + } + }, + "BatchGetFieldResponse":{ + "type":"structure", + "required":[ + "errors", + "fields" + ], + "members":{ + "errors":{"shape":"BatchGetFieldResponseErrorsList"}, + "fields":{"shape":"BatchGetFieldResponseFieldsList"} + } + }, + "BatchGetFieldResponseErrorsList":{ + "type":"list", + "member":{"shape":"FieldError"}, + "max":50, + "min":0 + }, + "BatchGetFieldResponseFieldsList":{ + "type":"list", + "member":{"shape":"GetFieldResponse"}, + "max":50, + "min":0 + }, + "BatchPutFieldOptionsRequest":{ + "type":"structure", + "required":[ + "domainId", + "fieldId", + "options" + ], + "members":{ + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "fieldId":{ + "shape":"FieldId", + "location":"uri", + "locationName":"fieldId" + }, + "options":{"shape":"BatchPutFieldOptionsRequestOptionsList"} + } + }, + "BatchPutFieldOptionsRequestOptionsList":{ + "type":"list", + "member":{"shape":"FieldOption"}, + "max":50, + "min":0 + }, + "BatchPutFieldOptionsResponse":{ + "type":"structure", + "members":{ + "errors":{"shape":"BatchPutFieldOptionsResponseErrorsList"} + } + }, + "BatchPutFieldOptionsResponseErrorsList":{ + "type":"list", + "member":{"shape":"FieldOptionError"}, + "max":50, + "min":0 + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "CaseArn":{ + "type":"string", + "max":500, + "min":1 + }, + "CaseEventIncludedData":{ + "type":"structure", + "required":["fields"], + "members":{ + "fields":{"shape":"CaseEventIncludedDataFieldsList"} + } + }, + "CaseEventIncludedDataFieldsList":{ + "type":"list", + "member":{"shape":"FieldIdentifier"}, + "max":50, + "min":0 + }, + "CaseFilter":{ + "type":"structure", + "members":{ + "andAll":{"shape":"CaseFilterAndAllList"}, + "field":{"shape":"FieldFilter"}, + "not":{"shape":"CaseFilter"} + }, + "union":true + }, + "CaseFilterAndAllList":{ + "type":"list", + "member":{"shape":"CaseFilter"}, + "max":10, + "min":0 + }, + "CaseId":{ + "type":"string", + "max":500, + "min":1 + }, + "CaseSummary":{ + "type":"structure", + "required":[ + "caseId", + "templateId" + ], + "members":{ + "caseId":{"shape":"CaseId"}, + "templateId":{"shape":"TemplateId"} + } + }, + "Channel":{ + "type":"string", + "max":100, + "min":1 + }, + "CommentBody":{ + "type":"string", + "max":1000, + "min":1 + }, + "CommentBodyTextType":{ + "type":"string", + "enum":["Text/Plain"] + }, + "CommentContent":{ + "type":"structure", + "required":[ + "body", + "contentType" + ], + "members":{ + "body":{"shape":"CommentBody"}, + "contentType":{"shape":"CommentBodyTextType"} + } + }, + "CommentFilter":{ + "type":"structure", + "members":{ + } + }, + "ConflictException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "ConnectedToSystemTime":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "Contact":{ + "type":"structure", + "required":["contactArn"], + "members":{ + "contactArn":{"shape":"ContactArn"} + } + }, + "ContactArn":{ + "type":"string", + "max":500, + "min":1 + }, + "ContactContent":{ + "type":"structure", + "required":[ + "channel", + "connectedToSystemTime", + "contactArn" + ], + "members":{ + "channel":{"shape":"Channel"}, + "connectedToSystemTime":{"shape":"ConnectedToSystemTime"}, + "contactArn":{"shape":"ContactArn"} + } + }, + "ContactFilter":{ + "type":"structure", + "members":{ + "channel":{"shape":"ContactFilterChannelList"}, + "contactArn":{"shape":"ContactArn"} + } + }, + "ContactFilterChannelList":{ + "type":"list", + "member":{"shape":"Channel"}, + "max":3, + "min":0 + }, + "CreateCaseRequest":{ + "type":"structure", + "required":[ + "domainId", + "fields", + "templateId" + ], + "members":{ + "clientToken":{ + "shape":"CreateCaseRequestClientTokenString", + "idempotencyToken":true + }, + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "fields":{"shape":"CreateCaseRequestFieldsList"}, + "templateId":{"shape":"TemplateId"} + } + }, + "CreateCaseRequestClientTokenString":{ + "type":"string", + "max":64, + "min":0 + }, + "CreateCaseRequestFieldsList":{ + "type":"list", + "member":{"shape":"FieldValue"}, + "max":100, + "min":0 + }, + "CreateCaseResponse":{ + "type":"structure", + "required":[ + "caseArn", + "caseId" + ], + "members":{ + "caseArn":{"shape":"CaseArn"}, + "caseId":{"shape":"CaseId"} + } + }, + "CreateDomainRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{"shape":"DomainName"} + } + }, + "CreateDomainResponse":{ + "type":"structure", + "required":[ + "domainArn", + "domainId", + "domainStatus" + ], + "members":{ + "domainArn":{"shape":"DomainArn"}, + "domainId":{"shape":"DomainId"}, + "domainStatus":{"shape":"DomainStatus"} + } + }, + "CreateFieldRequest":{ + "type":"structure", + "required":[ + "domainId", + "name", + "type" + ], + "members":{ + "description":{"shape":"FieldDescription"}, + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "name":{"shape":"FieldName"}, + "type":{"shape":"FieldType"} + } + }, + "CreateFieldResponse":{ + "type":"structure", + "required":[ + "fieldArn", + "fieldId" + ], + "members":{ + "fieldArn":{"shape":"FieldArn"}, + "fieldId":{"shape":"FieldId"} + } + }, + "CreateLayoutRequest":{ + "type":"structure", + "required":[ + "content", + "domainId", + "name" + ], + "members":{ + "content":{"shape":"LayoutContent"}, + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "name":{"shape":"LayoutName"} + } + }, + "CreateLayoutResponse":{ + "type":"structure", + "required":[ + "layoutArn", + "layoutId" + ], + "members":{ + "layoutArn":{"shape":"LayoutArn"}, + "layoutId":{"shape":"LayoutId"} + } + }, + "CreateRelatedItemRequest":{ + "type":"structure", + "required":[ + "caseId", + "content", + "domainId", + "type" + ], + "members":{ + "caseId":{ + "shape":"CaseId", + "location":"uri", + "locationName":"caseId" + }, + "content":{"shape":"RelatedItemInputContent"}, + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "type":{"shape":"RelatedItemType"} + } + }, + "CreateRelatedItemResponse":{ + "type":"structure", + "required":[ + "relatedItemArn", + "relatedItemId" + ], + "members":{ + "relatedItemArn":{"shape":"RelatedItemArn"}, + "relatedItemId":{"shape":"RelatedItemId"} + } + }, + "CreateTemplateRequest":{ + "type":"structure", + "required":[ + "domainId", + "name" + ], + "members":{ + "description":{"shape":"TemplateDescription"}, + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "layoutConfiguration":{"shape":"LayoutConfiguration"}, + "name":{"shape":"TemplateName"}, + "requiredFields":{"shape":"RequiredFieldList"} + } + }, + "CreateTemplateResponse":{ + "type":"structure", + "required":[ + "templateArn", + "templateId" + ], + "members":{ + "templateArn":{"shape":"TemplateArn"}, + "templateId":{"shape":"TemplateId"} + } + }, + "CreatedTime":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "DomainArn":{ + "type":"string", + "max":500, + "min":1 + }, + "DomainId":{ + "type":"string", + "max":500, + "min":1 + }, + "DomainName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^.*[\\S]$" + }, + "DomainStatus":{ + "type":"string", + "enum":[ + "Active", + "CreationInProgress", + "CreationFailed" + ] + }, + "DomainSummary":{ + "type":"structure", + "required":[ + "domainArn", + "domainId", + "name" + ], + "members":{ + "domainArn":{"shape":"DomainArn"}, + "domainId":{"shape":"DomainId"}, + "name":{"shape":"DomainName"} + } + }, + "DomainSummaryList":{ + "type":"list", + "member":{"shape":"DomainSummary"} + }, + "Double":{ + "type":"double", + "box":true + }, + "EventBridgeConfiguration":{ + "type":"structure", + "required":["enabled"], + "members":{ + "enabled":{"shape":"Boolean"}, + "includedData":{"shape":"EventIncludedData"} + } + }, + "EventIncludedData":{ + "type":"structure", + "members":{ + "caseData":{"shape":"CaseEventIncludedData"}, + "relatedItemData":{"shape":"RelatedItemEventIncludedData"} + } + }, + "FieldArn":{ + "type":"string", + "max":500, + "min":1 + }, + "FieldDescription":{ + "type":"string", + "max":255, + "min":0 + }, + "FieldError":{ + "type":"structure", + "required":[ + "errorCode", + "id" + ], + "members":{ + "errorCode":{"shape":"String"}, + "id":{"shape":"FieldId"}, + "message":{"shape":"String"} + } + }, + "FieldFilter":{ + "type":"structure", + "members":{ + "contains":{"shape":"FieldValue"}, + "equalTo":{"shape":"FieldValue"}, + "greaterThan":{"shape":"FieldValue"}, + "greaterThanOrEqualTo":{"shape":"FieldValue"}, + "lessThan":{"shape":"FieldValue"}, + "lessThanOrEqualTo":{"shape":"FieldValue"} + }, + "union":true + }, + "FieldGroup":{ + "type":"structure", + "required":["fields"], + "members":{ + "fields":{"shape":"FieldGroupFieldsList"}, + "name":{"shape":"FieldGroupNameString"} + } + }, + "FieldGroupFieldsList":{ + "type":"list", + "member":{"shape":"FieldItem"}, + "max":30, + "min":0 + }, + "FieldGroupNameString":{ + "type":"string", + "max":100, + "min":0 + }, + "FieldId":{ + "type":"string", + "max":500, + "min":1 + }, + "FieldIdentifier":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{"shape":"FieldId"} + } + }, + "FieldItem":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{"shape":"FieldId"} + } + }, + "FieldName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^.*[\\S]$" + }, + "FieldNamespace":{ + "type":"string", + "enum":[ + "System", + "Custom" + ] + }, + "FieldOption":{ + "type":"structure", + "required":[ + "active", + "name", + "value" + ], + "members":{ + "active":{"shape":"Boolean"}, + "name":{"shape":"FieldOptionName"}, + "value":{"shape":"FieldOptionValue"} + } + }, + "FieldOptionError":{ + "type":"structure", + "required":[ + "errorCode", + "message", + "value" + ], + "members":{ + "errorCode":{"shape":"String"}, + "message":{"shape":"String"}, + "value":{"shape":"FieldOptionValue"} + } + }, + "FieldOptionName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^.*[\\S]$" + }, + "FieldOptionValue":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^.*[\\S]$" + }, + "FieldOptionsList":{ + "type":"list", + "member":{"shape":"FieldOption"} + }, + "FieldSummary":{ + "type":"structure", + "required":[ + "fieldArn", + "fieldId", + "name", + "namespace", + "type" + ], + "members":{ + "fieldArn":{"shape":"FieldArn"}, + "fieldId":{"shape":"FieldId"}, + "name":{"shape":"FieldName"}, + "namespace":{"shape":"FieldNamespace"}, + "type":{"shape":"FieldType"} + } + }, + "FieldType":{ + "type":"string", + "enum":[ + "Text", + "Number", + "Boolean", + "DateTime", + "SingleSelect" + ] + }, + "FieldValue":{ + "type":"structure", + "required":[ + "id", + "value" + ], + "members":{ + "id":{"shape":"FieldId"}, + "value":{"shape":"FieldValueUnion"} + } + }, + "FieldValueUnion":{ + "type":"structure", + "members":{ + "booleanValue":{"shape":"Boolean"}, + "doubleValue":{"shape":"Double"}, + "stringValue":{"shape":"FieldValueUnionStringValueString"} + }, + "union":true + }, + "FieldValueUnionStringValueString":{ + "type":"string", + "max":500, + "min":0 + }, + "GetCaseEventConfigurationRequest":{ + "type":"structure", + "required":["domainId"], + "members":{ + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + } + } + }, + "GetCaseEventConfigurationResponse":{ + "type":"structure", + "required":["eventBridge"], + "members":{ + "eventBridge":{"shape":"EventBridgeConfiguration"} + } + }, + "GetCaseRequest":{ + "type":"structure", + "required":[ + "caseId", + "domainId", + "fields" + ], + "members":{ + "caseId":{ + "shape":"CaseId", + "location":"uri", + "locationName":"caseId" + }, + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "fields":{"shape":"GetCaseRequestFieldsList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "GetCaseRequestFieldsList":{ + "type":"list", + "member":{"shape":"FieldIdentifier"}, + "max":100, + "min":1 + }, + "GetCaseResponse":{ + "type":"structure", + "required":[ + "fields", + "templateId" + ], + "members":{ + "fields":{"shape":"GetCaseResponseFieldsList"}, + "nextToken":{"shape":"NextToken"}, + "tags":{"shape":"Tags"}, + "templateId":{"shape":"TemplateId"} + } + }, + "GetCaseResponseFieldsList":{ + "type":"list", + "member":{"shape":"FieldValue"}, + "max":100, + "min":0 + }, + "GetDomainRequest":{ + "type":"structure", + "required":["domainId"], + "members":{ + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + } + } + }, + "GetDomainResponse":{ + "type":"structure", + "required":[ + "createdTime", + "domainArn", + "domainId", + "domainStatus", + "name" + ], + "members":{ + "createdTime":{"shape":"CreatedTime"}, + "domainArn":{"shape":"DomainArn"}, + "domainId":{"shape":"DomainId"}, + "domainStatus":{"shape":"DomainStatus"}, + "name":{"shape":"DomainName"}, + "tags":{"shape":"Tags"} + } + }, + "GetFieldResponse":{ + "type":"structure", + "required":[ + "fieldArn", + "fieldId", + "name", + "namespace", + "type" + ], + "members":{ + "description":{"shape":"FieldDescription"}, + "fieldArn":{"shape":"FieldArn"}, + "fieldId":{"shape":"FieldId"}, + "name":{"shape":"FieldName"}, + "namespace":{"shape":"FieldNamespace"}, + "tags":{"shape":"Tags"}, + "type":{"shape":"FieldType"} + } + }, + "GetLayoutRequest":{ + "type":"structure", + "required":[ + "domainId", + "layoutId" + ], + "members":{ + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "layoutId":{ + "shape":"LayoutId", + "location":"uri", + "locationName":"layoutId" + } + } + }, + "GetLayoutResponse":{ + "type":"structure", + "required":[ + "content", + "layoutArn", + "layoutId", + "name" + ], + "members":{ + "content":{"shape":"LayoutContent"}, + "layoutArn":{"shape":"LayoutArn"}, + "layoutId":{"shape":"LayoutId"}, + "name":{"shape":"LayoutName"}, + "tags":{"shape":"Tags"} + } + }, + "GetTemplateRequest":{ + "type":"structure", + "required":[ + "domainId", + "templateId" + ], + "members":{ + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "templateId":{ + "shape":"TemplateId", + "location":"uri", + "locationName":"templateId" + } + } + }, + "GetTemplateResponse":{ + "type":"structure", + "required":[ + "name", + "templateArn", + "templateId" + ], + "members":{ + "description":{"shape":"TemplateDescription"}, + "layoutConfiguration":{"shape":"LayoutConfiguration"}, + "name":{"shape":"TemplateName"}, + "requiredFields":{"shape":"RequiredFieldList"}, + "tags":{"shape":"Tags"}, + "templateArn":{"shape":"TemplateArn"}, + "templateId":{"shape":"TemplateId"} + } + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "retryAfterSeconds":{ + "shape":"Integer", + "location":"header", + "locationName":"Retry-After" + } + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "LayoutArn":{ + "type":"string", + "max":500, + "min":1 + }, + "LayoutConfiguration":{ + "type":"structure", + "members":{ + "defaultLayout":{"shape":"LayoutId"} + } + }, + "LayoutContent":{ + "type":"structure", + "members":{ + "basic":{"shape":"BasicLayout"} + }, + "union":true + }, + "LayoutId":{ + "type":"string", + "max":500, + "min":1 + }, + "LayoutName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^.*[\\S]$" + }, + "LayoutSections":{ + "type":"structure", + "members":{ + "sections":{"shape":"SectionsList"} + } + }, + "LayoutSummary":{ + "type":"structure", + "required":[ + "layoutArn", + "layoutId", + "name" + ], + "members":{ + "layoutArn":{"shape":"LayoutArn"}, + "layoutId":{"shape":"LayoutId"}, + "name":{"shape":"LayoutName"} + } + }, + "LayoutSummaryList":{ + "type":"list", + "member":{"shape":"LayoutSummary"} + }, + "ListCasesForContactRequest":{ + "type":"structure", + "required":[ + "contactArn", + "domainId" + ], + "members":{ + "contactArn":{"shape":"ContactArn"}, + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "maxResults":{"shape":"ListCasesForContactRequestMaxResultsInteger"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListCasesForContactRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":10, + "min":1 + }, + "ListCasesForContactResponse":{ + "type":"structure", + "required":["cases"], + "members":{ + "cases":{"shape":"ListCasesForContactResponseCasesList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListCasesForContactResponseCasesList":{ + "type":"list", + "member":{"shape":"CaseSummary"}, + "max":10, + "min":0 + }, + "ListDomainsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"ListDomainsRequestMaxResultsInteger", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListDomainsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":10, + "min":1 + }, + "ListDomainsResponse":{ + "type":"structure", + "required":["domains"], + "members":{ + "domains":{"shape":"DomainSummaryList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListFieldOptionsRequest":{ + "type":"structure", + "required":[ + "domainId", + "fieldId" + ], + "members":{ + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "fieldId":{ + "shape":"FieldId", + "location":"uri", + "locationName":"fieldId" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "values":{ + "shape":"ValuesList", + "location":"querystring", + "locationName":"values" + } + } + }, + "ListFieldOptionsResponse":{ + "type":"structure", + "required":["options"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "options":{"shape":"FieldOptionsList"} + } + }, + "ListFieldsRequest":{ + "type":"structure", + "required":["domainId"], + "members":{ + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListFieldsResponse":{ + "type":"structure", + "required":["fields"], + "members":{ + "fields":{"shape":"ListFieldsResponseFieldsList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListFieldsResponseFieldsList":{ + "type":"list", + "member":{"shape":"FieldSummary"}, + "max":100, + "min":0 + }, + "ListLayoutsRequest":{ + "type":"structure", + "required":["domainId"], + "members":{ + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListLayoutsResponse":{ + "type":"structure", + "required":["layouts"], + "members":{ + "layouts":{"shape":"LayoutSummaryList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"Arn", + "location":"uri", + "locationName":"arn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{"shape":"Tags"} + } + }, + "ListTemplatesRequest":{ + "type":"structure", + "required":["domainId"], + "members":{ + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListTemplatesResponse":{ + "type":"structure", + "required":["templates"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "templates":{"shape":"ListTemplatesResponseTemplatesList"} + } + }, + "ListTemplatesResponseTemplatesList":{ + "type":"list", + "member":{"shape":"TemplateSummary"}, + "max":100, + "min":0 + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":9000, + "min":0 + }, + "Order":{ + "type":"string", + "enum":[ + "Asc", + "Desc" + ] + }, + "PutCaseEventConfigurationRequest":{ + "type":"structure", + "required":[ + "domainId", + "eventBridge" + ], + "members":{ + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "eventBridge":{"shape":"EventBridgeConfiguration"} + } + }, + "PutCaseEventConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "RelatedItemArn":{ + "type":"string", + "max":500, + "min":1 + }, + "RelatedItemContent":{ + "type":"structure", + "members":{ + "comment":{"shape":"CommentContent"}, + "contact":{"shape":"ContactContent"} + }, + "union":true + }, + "RelatedItemEventIncludedData":{ + "type":"structure", + "required":["includeContent"], + "members":{ + "includeContent":{"shape":"Boolean"} + } + }, + "RelatedItemId":{ + "type":"string", + "max":500, + "min":1 + }, + "RelatedItemInputContent":{ + "type":"structure", + "members":{ + "comment":{"shape":"CommentContent"}, + "contact":{"shape":"Contact"} + }, + "union":true + }, + "RelatedItemType":{ + "type":"string", + "enum":[ + "Contact", + "Comment" + ] + }, + "RelatedItemTypeFilter":{ + "type":"structure", + "members":{ + "comment":{"shape":"CommentFilter"}, + "contact":{"shape":"ContactFilter"} + }, + "union":true + }, + "RequiredField":{ + "type":"structure", + "required":["fieldId"], + "members":{ + "fieldId":{"shape":"FieldId"} + } + }, + "RequiredFieldList":{ + "type":"list", + "member":{"shape":"RequiredField"}, + "max":100, + "min":0 + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{"shape":"String"}, + "resourceType":{"shape":"String"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "SearchCasesRequest":{ + "type":"structure", + "required":["domainId"], + "members":{ + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "fields":{"shape":"SearchCasesRequestFieldsList"}, + "filter":{"shape":"CaseFilter"}, + "maxResults":{"shape":"SearchCasesRequestMaxResultsInteger"}, + "nextToken":{"shape":"NextToken"}, + "searchTerm":{"shape":"SearchCasesRequestSearchTermString"}, + "sorts":{"shape":"SearchCasesRequestSortsList"} + } + }, + "SearchCasesRequestFieldsList":{ + "type":"list", + "member":{"shape":"FieldIdentifier"}, + "max":10, + "min":0 + }, + "SearchCasesRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":25, + "min":1 + }, + "SearchCasesRequestSearchTermString":{ + "type":"string", + "max":255, + "min":0 + }, + "SearchCasesRequestSortsList":{ + "type":"list", + "member":{"shape":"Sort"}, + "max":2, + "min":0 + }, + "SearchCasesResponse":{ + "type":"structure", + "required":["cases"], + "members":{ + "cases":{"shape":"SearchCasesResponseCasesList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "SearchCasesResponseCasesList":{ + "type":"list", + "member":{"shape":"SearchCasesResponseItem"}, + "max":25, + "min":0 + }, + "SearchCasesResponseItem":{ + "type":"structure", + "required":[ + "caseId", + "fields", + "templateId" + ], + "members":{ + "caseId":{"shape":"CaseId"}, + "fields":{"shape":"SearchCasesResponseItemFieldsList"}, + "tags":{"shape":"Tags"}, + "templateId":{"shape":"TemplateId"} + } + }, + "SearchCasesResponseItemFieldsList":{ + "type":"list", + "member":{"shape":"FieldValue"}, + "max":10, + "min":0 + }, + "SearchRelatedItemsRequest":{ + "type":"structure", + "required":[ + "caseId", + "domainId" + ], + "members":{ + "caseId":{ + "shape":"CaseId", + "location":"uri", + "locationName":"caseId" + }, + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "filters":{"shape":"SearchRelatedItemsRequestFiltersList"}, + "maxResults":{"shape":"SearchRelatedItemsRequestMaxResultsInteger"}, + "nextToken":{"shape":"NextToken"} + } + }, + "SearchRelatedItemsRequestFiltersList":{ + "type":"list", + "member":{"shape":"RelatedItemTypeFilter"}, + "max":10, + "min":0 + }, + "SearchRelatedItemsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":25, + "min":1 + }, + "SearchRelatedItemsResponse":{ + "type":"structure", + "required":["relatedItems"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "relatedItems":{"shape":"SearchRelatedItemsResponseRelatedItemsList"} + } + }, + "SearchRelatedItemsResponseItem":{ + "type":"structure", + "required":[ + "associationTime", + "content", + "relatedItemId", + "type" + ], + "members":{ + "associationTime":{"shape":"AssociationTime"}, + "content":{"shape":"RelatedItemContent"}, + "relatedItemId":{"shape":"RelatedItemId"}, + "tags":{"shape":"Tags"}, + "type":{"shape":"RelatedItemType"} + } + }, + "SearchRelatedItemsResponseRelatedItemsList":{ + "type":"list", + "member":{"shape":"SearchRelatedItemsResponseItem"}, + "max":25, + "min":0 + }, + "Section":{ + "type":"structure", + "members":{ + "fieldGroup":{"shape":"FieldGroup"} + }, + "union":true + }, + "SectionsList":{ + "type":"list", + "member":{"shape":"Section"}, + "max":1, + "min":0 + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "Sort":{ + "type":"structure", + "required":[ + "fieldId", + "sortOrder" + ], + "members":{ + "fieldId":{"shape":"FieldId"}, + "sortOrder":{"shape":"Order"} + } + }, + "String":{"type":"string"}, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "arn", + "tags" + ], + "members":{ + "arn":{ + "shape":"Arn", + "location":"uri", + "locationName":"arn" + }, + "tags":{"shape":"Tags"} + } + }, + "Tags":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "TemplateArn":{ + "type":"string", + "max":500, + "min":1 + }, + "TemplateDescription":{ + "type":"string", + "max":255, + "min":0 + }, + "TemplateId":{ + "type":"string", + "max":500, + "min":1 + }, + "TemplateName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^.*[\\S]$" + }, + "TemplateSummary":{ + "type":"structure", + "required":[ + "name", + "templateArn", + "templateId" + ], + "members":{ + "name":{"shape":"TemplateName"}, + "templateArn":{"shape":"TemplateArn"}, + "templateId":{"shape":"TemplateId"} + } + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":false} + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "arn", + "tagKeys" + ], + "members":{ + "arn":{ + "shape":"Arn", + "location":"uri", + "locationName":"arn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UpdateCaseRequest":{ + "type":"structure", + "required":[ + "caseId", + "domainId", + "fields" + ], + "members":{ + "caseId":{ + "shape":"CaseId", + "location":"uri", + "locationName":"caseId" + }, + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "fields":{"shape":"UpdateCaseRequestFieldsList"} + } + }, + "UpdateCaseRequestFieldsList":{ + "type":"list", + "member":{"shape":"FieldValue"}, + "max":100, + "min":0 + }, + "UpdateCaseResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateFieldRequest":{ + "type":"structure", + "required":[ + "domainId", + "fieldId" + ], + "members":{ + "description":{"shape":"FieldDescription"}, + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "fieldId":{ + "shape":"FieldId", + "location":"uri", + "locationName":"fieldId" + }, + "name":{"shape":"FieldName"} + } + }, + "UpdateFieldResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateLayoutRequest":{ + "type":"structure", + "required":[ + "domainId", + "layoutId" + ], + "members":{ + "content":{"shape":"LayoutContent"}, + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "layoutId":{ + "shape":"LayoutId", + "location":"uri", + "locationName":"layoutId" + }, + "name":{"shape":"LayoutName"} + } + }, + "UpdateLayoutResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateTemplateRequest":{ + "type":"structure", + "required":[ + "domainId", + "templateId" + ], + "members":{ + "description":{"shape":"TemplateDescription"}, + "domainId":{ + "shape":"DomainId", + "location":"uri", + "locationName":"domainId" + }, + "layoutConfiguration":{"shape":"LayoutConfiguration"}, + "name":{"shape":"TemplateName"}, + "requiredFields":{"shape":"RequiredFieldList"}, + "templateId":{ + "shape":"TemplateId", + "location":"uri", + "locationName":"templateId" + } + } + }, + "UpdateTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "Value":{ + "type":"string", + "max":100, + "min":0 + }, + "ValuesList":{ + "type":"list", + "member":{"shape":"Value"}, + "max":1, + "min":0 + } + } +} diff --git a/models/apis/connectcases/2022-10-03/docs-2.json b/models/apis/connectcases/2022-10-03/docs-2.json new file mode 100644 index 00000000000..98fcb123abf --- /dev/null +++ b/models/apis/connectcases/2022-10-03/docs-2.json @@ -0,0 +1,1209 @@ +{ + "version": "2.0", + "service": "
Welcome to the Amazon Connect Cases API Reference. This guide provides information about the Amazon Connect Cases API, which you can use to create, update, get, and list Cases domains, fields, field options, layouts, templates, cases, related items, and tags.
<p>For more information about Amazon Connect Cases, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/cases.html">Amazon Connect Cases</a> in the <i>Amazon Connect Administrator Guide</i>. </p>
",
+ "operations": {
+ "BatchGetField": "Returns the description for the list of fields in the request parameters.
", + "BatchPutFieldOptions": "Creates and updates a set of field options for a single select field in a Cases domain.
", + "CreateCase": "Creates a case in the specified Cases domain. Case system and custom fields are taken as an array id/value pairs with a declared data types.
customer_id
is a required field when creating a case.
Creates a domain, which is a container for all case data, such as cases, fields, templates and layouts. Each Amazon Connect instance can be associated with only one Cases domain.
This will not associate your connect instance to Cases domain. Instead, use the Amazon Connect CreateIntegrationAssociation API.
Creates a field in the Cases domain. This field is used to define the case object model (that is, defines what data can be captured on cases) in a Cases domain.
", + "CreateLayout": "Creates a layout in the Cases domain. Layouts define the following configuration in the top section and More Info tab of the Cases user interface:
Fields to display to the users
Field ordering
Title and Status fields cannot be part of layouts since they are not configurable.
Creates a related item (comments, tasks, and contacts) and associates it with a case.
A Related Item is a resource that is associated with a case. It may or may not have an external identifier linking it to an external resource (for example, a contactArn
). All Related Items have their own internal identifier, the relatedItemArn
. Examples of related items include comments
and contacts
.
Creates a template in the Cases domain. This template is used to define the case object model (that is, define what data can be captured on cases) in a Cases domain. A template must have a unique name within a domain, and it must reference existing field IDs and layout IDs. Additionally, multiple fields with same IDs are not allowed within the same Template.
", + "GetCase": "Returns information about a specific case if it exists.
", + "GetCaseEventConfiguration": "Returns the case event publishing configuration.
", + "GetDomain": "Returns information about a specific domain if it exists.
", + "GetLayout": "Returns the details for the requested layout.
", + "GetTemplate": "Returns the details for the requested template.
", + "ListCasesForContact": "Lists cases for a given contact.
", + "ListDomains": "Lists all cases domains in the Amazon Web Services account. Each list item is a condensed summary object of the domain.
", + "ListFieldOptions": "Lists all of the field options for a field identifier in the domain.
", + "ListFields": "Lists all fields in a Cases domain.
", + "ListLayouts": "Lists all layouts in the given cases domain. Each list item is a condensed summary object of the layout.
", + "ListTagsForResource": "Lists tags for a resource.
", + "ListTemplates": "Lists all of the templates in a Cases domain. Each list item is a condensed summary object of the template.
", + "PutCaseEventConfiguration": "API for adding case event publishing configuration
", + "SearchCases": "Searches for cases within their associated Cases domain. Search results are returned as a paginated list of abridged case documents.
", + "SearchRelatedItems": "Searches for related items that are associated with a case.
If no filters are provided, this returns all related items associated with a case.
Adds tags to a resource.
", + "UntagResource": "Untags a resource.
", + "UpdateCase": "Updates the values of fields on a case. Fields to be updated are received as an array of id/value pairs identical to the CreateCase
input .
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
", + "UpdateField": "Updates the properties of an existing field.
", + "UpdateLayout": "Updates the attributes of an existing layout.
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
A ValidationException
is returned when you add non-existent fieldIds
to a layout.
Title and Status fields cannot be part of layouts because they are not configurable.
Updates the attributes of an existing template. The template attributes that can be modified include name
, description
, layouts
, and requiredFields
. At least one of these attributes must not be null. If a null value is provided for a given attribute, that attribute is ignored and its current value is preserved.
You do not have sufficient access to perform this action.
", + "refs": { + } + }, + "Arn": { + "base": null, + "refs": { + "ListTagsForResourceRequest$arn": "The Amazon Resource Name (ARN)
", + "TagResourceRequest$arn": "The Amazon Resource Name (ARN)
", + "UntagResourceRequest$arn": "The Amazon Resource Name (ARN)
" + } + }, + "AssociationTime": { + "base": null, + "refs": { + "SearchRelatedItemsResponseItem$associationTime": "Time at which a related item was associated with a case.
" + } + }, + "BasicLayout": { + "base": "Content specific to BasicLayout
type. It configures fields in the top panel and More Info tab of agent application.
Content specific to BasicLayout
type. It configures fields in the top panel and More Info tab of Cases user interface.
A list of unique field identifiers.
" + } + }, + "BatchGetFieldRequest": { + "base": null, + "refs": { + } + }, + "BatchGetFieldResponse": { + "base": null, + "refs": { + } + }, + "BatchGetFieldResponseErrorsList": { + "base": null, + "refs": { + "BatchGetFieldResponse$errors": "A list of field errors.
" + } + }, + "BatchGetFieldResponseFieldsList": { + "base": null, + "refs": { + "BatchGetFieldResponse$fields": "A list of detailed field information.
" + } + }, + "BatchPutFieldOptionsRequest": { + "base": null, + "refs": { + } + }, + "BatchPutFieldOptionsRequestOptionsList": { + "base": null, + "refs": { + "BatchPutFieldOptionsRequest$options": "A list of FieldOption
objects.
A list of field errors.
" + } + }, + "Boolean": { + "base": null, + "refs": { + "EventBridgeConfiguration$enabled": "Indicates whether the to broadcast case event data to the customer.
", + "FieldOption$active": "Describes whether the FieldOption
is active (displayed) or inactive.
Can be either null, or have a Boolean value type. Only one value can be provided.
", + "RelatedItemEventIncludedData$includeContent": "Details of what related item data is published through the case event stream.
" + } + }, + "CaseArn": { + "base": null, + "refs": { + "CreateCaseResponse$caseArn": "The Amazon Resource Name (ARN) of the case.
" + } + }, + "CaseEventIncludedData": { + "base": "Details of what case data is published through the case event stream.
", + "refs": { + "EventIncludedData$caseData": "Details of what case data is published through the case event stream.
" + } + }, + "CaseEventIncludedDataFieldsList": { + "base": null, + "refs": { + "CaseEventIncludedData$fields": "List of field identifiers.
" + } + }, + "CaseFilter": { + "base": "A filter for cases. Only one value can be provided.
", + "refs": { + "CaseFilter$not": null, + "CaseFilterAndAllList$member": null, + "SearchCasesRequest$filter": "A list of filter objects.
" + } + }, + "CaseFilterAndAllList": { + "base": null, + "refs": { + "CaseFilter$andAll": "Provides \"and all\" filtering.
" + } + }, + "CaseId": { + "base": null, + "refs": { + "CaseSummary$caseId": "A unique identifier of the case.
", + "CreateCaseResponse$caseId": "A unique identifier of the case.
", + "CreateRelatedItemRequest$caseId": "A unique identifier of the case.
", + "GetCaseRequest$caseId": "A unique identifier of the case.
", + "SearchCasesResponseItem$caseId": "A unique identifier of the case.
", + "SearchRelatedItemsRequest$caseId": "A unique identifier of the case.
", + "UpdateCaseRequest$caseId": "A unique identifier of the case.
" + } + }, + "CaseSummary": { + "base": "Case summary information.
", + "refs": { + "ListCasesForContactResponseCasesList$member": null + } + }, + "Channel": { + "base": null, + "refs": { + "ContactContent$channel": "A list of channels to filter on for related items of type Contact
.
Text in the body of a Comment
on a case.
Type of the text in the box of a Comment
on a case.
Represents the content of a Comment
to be returned to agents.
Represents the content of a comment to be returned to agents.
", + "RelatedItemInputContent$comment": "Represents the content of a comment to be returned to agents.
" + } + }, + "CommentFilter": { + "base": "A filter for related items of type Comment
.
A filter for related items of type Comment
.
The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request. See the accompanying error message for details.
", + "refs": { + } + }, + "ConnectedToSystemTime": { + "base": null, + "refs": { + "ContactContent$connectedToSystemTime": "The difference between the InitiationTimestamp
and the DisconnectTimestamp
of the contact.
An object that represents an Amazon Connect contact object.
", + "refs": { + "RelatedItemInputContent$contact": "Object representing a contact in Amazon Connect as an API request field.
" + } + }, + "ContactArn": { + "base": null, + "refs": { + "Contact$contactArn": "A unique identifier of a contact in Amazon Connect.
", + "ContactContent$contactArn": "A unique identifier of a contact in Amazon Connect.
", + "ContactFilter$contactArn": "A unique identifier of a contact in Amazon Connect.
", + "ListCasesForContactRequest$contactArn": "A unique identifier of a contact in Amazon Connect.
" + } + }, + "ContactContent": { + "base": "An object that represents a content of an Amazon Connect contact object.
", + "refs": { + "RelatedItemContent$contact": "Represents the content of a contact to be returned to agents.
" + } + }, + "ContactFilter": { + "base": "A filter for related items of type Contact
.
A filter for related items of type Contact
.
A list of channels to filter on for related items of type Contact
.
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
" + } + }, + "CreateCaseRequestFieldsList": { + "base": null, + "refs": { + "CreateCaseRequest$fields": "An array of objects with field ID (matching ListFields/DescribeField) and value union data.
" + } + }, + "CreateCaseResponse": { + "base": null, + "refs": { + } + }, + "CreateDomainRequest": { + "base": null, + "refs": { + } + }, + "CreateDomainResponse": { + "base": null, + "refs": { + } + }, + "CreateFieldRequest": { + "base": null, + "refs": { + } + }, + "CreateFieldResponse": { + "base": null, + "refs": { + } + }, + "CreateLayoutRequest": { + "base": null, + "refs": { + } + }, + "CreateLayoutResponse": { + "base": null, + "refs": { + } + }, + "CreateRelatedItemRequest": { + "base": null, + "refs": { + } + }, + "CreateRelatedItemResponse": { + "base": null, + "refs": { + } + }, + "CreateTemplateRequest": { + "base": null, + "refs": { + } + }, + "CreateTemplateResponse": { + "base": null, + "refs": { + } + }, + "CreatedTime": { + "base": null, + "refs": { + "GetDomainResponse$createdTime": "The timestamp when the Cases domain was created.
" + } + }, + "DomainArn": { + "base": null, + "refs": { + "CreateDomainResponse$domainArn": "The Amazon Resource Name (ARN) for the Cases domain.
", + "DomainSummary$domainArn": "The Amazon Resource Name (ARN) of the domain.
", + "GetDomainResponse$domainArn": "The Amazon Resource Name (ARN) for the Cases domain.
" + } + }, + "DomainId": { + "base": null, + "refs": { + "BatchGetFieldRequest$domainId": "The unique identifier of the Cases domain.
", + "BatchPutFieldOptionsRequest$domainId": "The unique identifier of the Cases domain.
", + "CreateCaseRequest$domainId": "The unique identifier of the Cases domain.
", + "CreateDomainResponse$domainId": "The unique identifier of the Cases domain.
", + "CreateFieldRequest$domainId": "The unique identifier of the Cases domain.
", + "CreateLayoutRequest$domainId": "The unique identifier of the Cases domain.
", + "CreateRelatedItemRequest$domainId": "The unique identifier of the Cases domain.
", + "CreateTemplateRequest$domainId": "The unique identifier of the Cases domain.
", + "DomainSummary$domainId": "The unique identifier of the domain.
", + "GetCaseEventConfigurationRequest$domainId": "The unique identifier of the Cases domain.
", + "GetCaseRequest$domainId": "The unique identifier of the Cases domain.
", + "GetDomainRequest$domainId": "The unique identifier of the Cases domain.
", + "GetDomainResponse$domainId": "The unique identifier of the Cases domain.
", + "GetLayoutRequest$domainId": "The unique identifier of the Cases domain.
", + "GetTemplateRequest$domainId": "The unique identifier of the Cases domain.
", + "ListCasesForContactRequest$domainId": "The unique identifier of the Cases domain.
", + "ListFieldOptionsRequest$domainId": "The unique identifier of the Cases domain.
", + "ListFieldsRequest$domainId": "The unique identifier of the Cases domain.
", + "ListLayoutsRequest$domainId": "The unique identifier of the Cases domain.
", + "ListTemplatesRequest$domainId": "The unique identifier of the Cases domain.
", + "PutCaseEventConfigurationRequest$domainId": "The unique identifier of the Cases domain.
", + "SearchCasesRequest$domainId": "The unique identifier of the Cases domain.
", + "SearchRelatedItemsRequest$domainId": "The unique identifier of the Cases domain.
", + "UpdateCaseRequest$domainId": "The unique identifier of the Cases domain.
", + "UpdateFieldRequest$domainId": "The unique identifier of the Cases domain.
", + "UpdateLayoutRequest$domainId": "The unique identifier of the Cases domain.
", + "UpdateTemplateRequest$domainId": "The unique identifier of the Cases domain.
" + } + }, + "DomainName": { + "base": null, + "refs": { + "CreateDomainRequest$name": "The name for your Cases domain. It must be unique for your Amazon Web Services account.
", + "DomainSummary$name": "The name of the domain.
", + "GetDomainResponse$name": "The name of the Cases domain.
" + } + }, + "DomainStatus": { + "base": null, + "refs": { + "CreateDomainResponse$domainStatus": "The status of the domain.
", + "GetDomainResponse$domainStatus": "The status of the Cases domain.
" + } + }, + "DomainSummary": { + "base": "Object for the summarized details of the domain.
", + "refs": { + "DomainSummaryList$member": null + } + }, + "DomainSummaryList": { + "base": null, + "refs": { + "ListDomainsResponse$domains": "The Cases domain.
" + } + }, + "Double": { + "base": null, + "refs": { + "FieldValueUnion$doubleValue": "Can be either null, or have a Double number value type. Only one value can be provided.
" + } + }, + "EventBridgeConfiguration": { + "base": "Configuration to enable EventBridge case event delivery and determine what data is delivered.
", + "refs": { + "GetCaseEventConfigurationResponse$eventBridge": "Configuration to enable EventBridge case event delivery and determine what data is delivered.
", + "PutCaseEventConfigurationRequest$eventBridge": "Configuration to enable EventBridge case event delivery and determine what data is delivered.
" + } + }, + "EventIncludedData": { + "base": "Details of what case and related item data is published through the case event stream.
", + "refs": { + "EventBridgeConfiguration$includedData": "Details of what case and related item data is published through the case event stream.
" + } + }, + "FieldArn": { + "base": null, + "refs": { + "CreateFieldResponse$fieldArn": "The Amazon Resource Name (ARN) of the field.
", + "FieldSummary$fieldArn": "The Amazon Resource Name (ARN) of the field.
", + "GetFieldResponse$fieldArn": "The Amazon Resource Name (ARN) of the field.
" + } + }, + "FieldDescription": { + "base": null, + "refs": { + "CreateFieldRequest$description": "The description of the field.
", + "GetFieldResponse$description": "Description of the field.
", + "UpdateFieldRequest$description": "The description of a field.
" + } + }, + "FieldError": { + "base": "Object for errors on fields.
", + "refs": { + "BatchGetFieldResponseErrorsList$member": null + } + }, + "FieldFilter": { + "base": "A filter for fields. Only one value can be provided.
", + "refs": { + "CaseFilter$field": "A list of fields to filter on.
" + } + }, + "FieldGroup": { + "base": "Object for a group of fields and associated properties.
", + "refs": { + "Section$fieldGroup": "Consists of a group of fields and associated properties.
" + } + }, + "FieldGroupFieldsList": { + "base": null, + "refs": { + "FieldGroup$fields": "Represents an ordered list containing field related information.
" + } + }, + "FieldGroupNameString": { + "base": null, + "refs": { + "FieldGroup$name": "Name of the field group.
" + } + }, + "FieldId": { + "base": null, + "refs": { + "BatchPutFieldOptionsRequest$fieldId": "The unique identifier of a field.
", + "CreateFieldResponse$fieldId": "The unique identifier of a field.
", + "FieldError$id": "The field identifier that caused the error.
", + "FieldIdentifier$id": "Unique identifier of a field.
", + "FieldItem$id": "Unique identifier of a field.
", + "FieldSummary$fieldId": "The unique identifier of a field.
", + "FieldValue$id": "Unique identifier of a field.
", + "GetFieldResponse$fieldId": "Unique identifier of the field.
", + "ListFieldOptionsRequest$fieldId": "The unique identifier of a field.
", + "RequiredField$fieldId": "Unique identifier of a field.
", + "Sort$fieldId": "Unique identifier of a field.
", + "UpdateFieldRequest$fieldId": "The unique identifier of a field.
" + } + }, + "FieldIdentifier": { + "base": "Object for unique identifier of a field.
", + "refs": { + "BatchGetFieldIdentifierList$member": null, + "CaseEventIncludedDataFieldsList$member": null, + "GetCaseRequestFieldsList$member": null, + "SearchCasesRequestFieldsList$member": null + } + }, + "FieldItem": { + "base": "Object for field related information.
", + "refs": { + "FieldGroupFieldsList$member": null + } + }, + "FieldName": { + "base": null, + "refs": { + "CreateFieldRequest$name": "The name of the field.
", + "FieldSummary$name": "Name of the field.
", + "GetFieldResponse$name": "Name of the field.
", + "UpdateFieldRequest$name": "The name of the field.
" + } + }, + "FieldNamespace": { + "base": null, + "refs": { + "FieldSummary$namespace": "The namespace of a field.
", + "GetFieldResponse$namespace": "Namespace of the field.
" + } + }, + "FieldOption": { + "base": "Object for field Options information.
", + "refs": { + "BatchPutFieldOptionsRequestOptionsList$member": null, + "FieldOptionsList$member": null + } + }, + "FieldOptionError": { + "base": "Object for field Options errors.
", + "refs": { + "BatchPutFieldOptionsResponseErrorsList$member": null + } + }, + "FieldOptionName": { + "base": null, + "refs": { + "FieldOption$name": " FieldOptionName
has max length 100 and disallows trailing spaces.
FieldOptionValue
has max length 100 and must be alphanumeric with hyphens and underscores.
The field option value that caused the error.
" + } + }, + "FieldOptionsList": { + "base": null, + "refs": { + "ListFieldOptionsResponse$options": "A list of FieldOption
objects.
Object for the summarized details of the field.
", + "refs": { + "ListFieldsResponseFieldsList$member": null + } + }, + "FieldType": { + "base": null, + "refs": { + "CreateFieldRequest$type": "Defines the data type, some system constraints, and default display of the field.
", + "FieldSummary$type": "The type of a field.
", + "GetFieldResponse$type": "Type of the field.
" + } + }, + "FieldValue": { + "base": "Object for case field values.
", + "refs": { + "CreateCaseRequestFieldsList$member": null, + "FieldFilter$contains": "Object containing field identifier and value information.
", + "FieldFilter$equalTo": "Object containing field identifier and value information.
", + "FieldFilter$greaterThan": "Object containing field identifier and value information.
", + "FieldFilter$greaterThanOrEqualTo": "Object containing field identifier and value information.
", + "FieldFilter$lessThan": "Object containing field identifier and value information.
", + "FieldFilter$lessThanOrEqualTo": "Object containing field identifier and value information.
", + "GetCaseResponseFieldsList$member": null, + "SearchCasesResponseItemFieldsList$member": null, + "UpdateCaseRequestFieldsList$member": null + } + }, + "FieldValueUnion": { + "base": "Object to store union of Field values.
", + "refs": { + "FieldValue$value": "Union of potential field value types.
" + } + }, + "FieldValueUnionStringValueString": { + "base": null, + "refs": { + "FieldValueUnion$stringValue": "String value type.
" + } + }, + "GetCaseEventConfigurationRequest": { + "base": null, + "refs": { + } + }, + "GetCaseEventConfigurationResponse": { + "base": null, + "refs": { + } + }, + "GetCaseRequest": { + "base": null, + "refs": { + } + }, + "GetCaseRequestFieldsList": { + "base": null, + "refs": { + "GetCaseRequest$fields": "A list of unique field identifiers.
" + } + }, + "GetCaseResponse": { + "base": null, + "refs": { + } + }, + "GetCaseResponseFieldsList": { + "base": null, + "refs": { + "GetCaseResponse$fields": "A list of detailed field information.
" + } + }, + "GetDomainRequest": { + "base": null, + "refs": { + } + }, + "GetDomainResponse": { + "base": null, + "refs": { + } + }, + "GetFieldResponse": { + "base": "Object to store detailed field information.
", + "refs": { + "BatchGetFieldResponseFieldsList$member": null + } + }, + "GetLayoutRequest": { + "base": null, + "refs": { + } + }, + "GetLayoutResponse": { + "base": null, + "refs": { + } + }, + "GetTemplateRequest": { + "base": null, + "refs": { + } + }, + "GetTemplateResponse": { + "base": null, + "refs": { + } + }, + "Integer": { + "base": null, + "refs": { + "InternalServerException$retryAfterSeconds": "Advice to clients on when the call can be safely retried.
" + } + }, + "InternalServerException": { + "base": "We couldn't process your request because of an issue with the server. Try again later.
", + "refs": { + } + }, + "LayoutArn": { + "base": null, + "refs": { + "CreateLayoutResponse$layoutArn": "The Amazon Resource Name (ARN) of the newly created layout.
", + "GetLayoutResponse$layoutArn": "The Amazon Resource Name (ARN) of the newly created layout.
", + "LayoutSummary$layoutArn": "The Amazon Resource Name (ARN) of the layout.
" + } + }, + "LayoutConfiguration": { + "base": "Object to store configuration of layouts associated to the template.
", + "refs": { + "CreateTemplateRequest$layoutConfiguration": "Configuration of layouts associated to the template.
", + "GetTemplateResponse$layoutConfiguration": "Configuration of layouts associated to the template.
", + "UpdateTemplateRequest$layoutConfiguration": "Configuration of layouts associated to the template.
" + } + }, + "LayoutContent": { + "base": "Object to store union of different versions of layout content.
", + "refs": { + "CreateLayoutRequest$content": "Information about which fields will be present in the layout, and information about the order of the fields.
", + "GetLayoutResponse$content": "Information about which fields will be present in the layout, the order of the fields, and read-only attribute of the field.
", + "UpdateLayoutRequest$content": "Information about which fields will be present in the layout, the order of the fields, and a read-only attribute of the field.
" + } + }, + "LayoutId": { + "base": null, + "refs": { + "CreateLayoutResponse$layoutId": "The unique identifier of the layout.
", + "GetLayoutRequest$layoutId": "The unique identifier of the layout.
", + "GetLayoutResponse$layoutId": "The unique identifier of the layout.
", + "LayoutConfiguration$defaultLayout": "Unique identifier of a layout.
", + "LayoutSummary$layoutId": "The unique identifier for of the layout.
", + "UpdateLayoutRequest$layoutId": "The unique identifier of the layout.
" + } + }, + "LayoutName": { + "base": null, + "refs": { + "CreateLayoutRequest$name": "The name of the layout. It must be unique for the Cases domain.
", + "GetLayoutResponse$name": "The name of the layout. It must be unique.
", + "LayoutSummary$name": "The name of the layout.
", + "UpdateLayoutRequest$name": "The name of the layout. It must be unique per domain.
" + } + }, + "LayoutSections": { + "base": "Ordered list containing different kinds of sections that can be added. A LayoutSections object can only contain one section.
", + "refs": { + "BasicLayout$moreInfo": "This represents sections in a tab of the page layout.
", + "BasicLayout$topPanel": "This represents sections in a panel of the page layout.
" + } + }, + "LayoutSummary": { + "base": "Object for the summarized details of the layout.
", + "refs": { + "LayoutSummaryList$member": null + } + }, + "LayoutSummaryList": { + "base": null, + "refs": { + "ListLayoutsResponse$layouts": "The layouts for the domain.
" + } + }, + "ListCasesForContactRequest": { + "base": null, + "refs": { + } + }, + "ListCasesForContactRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListCasesForContactRequest$maxResults": "The maximum number of results to return per page.
" + } + }, + "ListCasesForContactResponse": { + "base": null, + "refs": { + } + }, + "ListCasesForContactResponseCasesList": { + "base": null, + "refs": { + "ListCasesForContactResponse$cases": "A list of Case summary information.
" + } + }, + "ListDomainsRequest": { + "base": null, + "refs": { + } + }, + "ListDomainsRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListDomainsRequest$maxResults": "The maximum number of results to return per page.
" + } + }, + "ListDomainsResponse": { + "base": null, + "refs": { + } + }, + "ListFieldOptionsRequest": { + "base": null, + "refs": { + } + }, + "ListFieldOptionsResponse": { + "base": null, + "refs": { + } + }, + "ListFieldsRequest": { + "base": null, + "refs": { + } + }, + "ListFieldsResponse": { + "base": null, + "refs": { + } + }, + "ListFieldsResponseFieldsList": { + "base": null, + "refs": { + "ListFieldsResponse$fields": "List of detailed field information.
" + } + }, + "ListLayoutsRequest": { + "base": null, + "refs": { + } + }, + "ListLayoutsResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "ListTemplatesRequest": { + "base": null, + "refs": { + } + }, + "ListTemplatesResponse": { + "base": null, + "refs": { + } + }, + "ListTemplatesResponseTemplatesList": { + "base": null, + "refs": { + "ListTemplatesResponse$templates": "List of template summary objects.
" + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListFieldOptionsRequest$maxResults": "The maximum number of results to return per page.
", + "ListFieldsRequest$maxResults": "The maximum number of results to return per page.
", + "ListLayoutsRequest$maxResults": "The maximum number of results to return per page.
", + "ListTemplatesRequest$maxResults": "The maximum number of results to return per page.
" + } + }, + "NextToken": { + "base": null, + "refs": { + "GetCaseRequest$nextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
", + "GetCaseResponse$nextToken": "The token for the next set of results. This is null if there are no more results to return.
", + "ListCasesForContactRequest$nextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
", + "ListCasesForContactResponse$nextToken": "The token for the next set of results. This is null if there are no more results to return.
", + "ListDomainsRequest$nextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
", + "ListDomainsResponse$nextToken": "The token for the next set of results. This is null if there are no more results to return.
", + "ListFieldOptionsRequest$nextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
", + "ListFieldOptionsResponse$nextToken": "The token for the next set of results. This is null if there are no more results to return.
", + "ListFieldsRequest$nextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
", + "ListFieldsResponse$nextToken": "The token for the next set of results. This is null if there are no more results to return.
", + "ListLayoutsRequest$nextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
", + "ListLayoutsResponse$nextToken": "The token for the next set of results. This is null if there are no more results to return.
", + "ListTemplatesRequest$nextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
", + "ListTemplatesResponse$nextToken": "The token for the next set of results. This is null if there are no more results to return.
", + "SearchCasesRequest$nextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
", + "SearchCasesResponse$nextToken": "The token for the next set of results. This is null if there are no more results to return.
", + "SearchRelatedItemsRequest$nextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
", + "SearchRelatedItemsResponse$nextToken": "The token for the next set of results. This is null if there are no more results to return.
" + } + }, + "Order": { + "base": null, + "refs": { + "Sort$sortOrder": "A structured set of sort terms
" + } + }, + "PutCaseEventConfigurationRequest": { + "base": null, + "refs": { + } + }, + "PutCaseEventConfigurationResponse": { + "base": null, + "refs": { + } + }, + "RelatedItemArn": { + "base": null, + "refs": { + "CreateRelatedItemResponse$relatedItemArn": "The Amazon Resource Name (ARN) of the related item.
" + } + }, + "RelatedItemContent": { + "base": "Represents the content of a particular type of related item.
", + "refs": { + "SearchRelatedItemsResponseItem$content": "Represents the content of a particular type of related item.
" + } + }, + "RelatedItemEventIncludedData": { + "base": "Details of what related item data is published through the case event stream.
", + "refs": { + "EventIncludedData$relatedItemData": "Details of what related item data is published through the case event stream.
" + } + }, + "RelatedItemId": { + "base": null, + "refs": { + "CreateRelatedItemResponse$relatedItemId": "The unique identifier of the related item.
", + "SearchRelatedItemsResponseItem$relatedItemId": "Unique identifier of a related item.
" + } + }, + "RelatedItemInputContent": { + "base": "Represents the content of a related item to be created.
", + "refs": { + "CreateRelatedItemRequest$content": "The content of a related item to be created.
" + } + }, + "RelatedItemType": { + "base": null, + "refs": { + "CreateRelatedItemRequest$type": "The type of a related item.
", + "SearchRelatedItemsResponseItem$type": "Type of a related item.
" + } + }, + "RelatedItemTypeFilter": { + "base": "The list of types of related items and their parameters to use for filtering.
", + "refs": { + "SearchRelatedItemsRequestFiltersList$member": null + } + }, + "RequiredField": { + "base": "List of fields that must have a value provided to create a case.
", + "refs": { + "RequiredFieldList$member": null + } + }, + "RequiredFieldList": { + "base": null, + "refs": { + "CreateTemplateRequest$requiredFields": "A list of fields that must contain a value for a case to be successfully created with this template.
", + "GetTemplateResponse$requiredFields": "A list of fields that must contain a value for a case to be successfully created with this template.
", + "UpdateTemplateRequest$requiredFields": "A list of fields that must contain a value for a case to be successfully created with this template.
" + } + }, + "ResourceNotFoundException": { + "base": "We couldn't find the requested resource. Check that your resources exists and were created in the same Amazon Web Services Region as your request, and try your request again.
", + "refs": { + } + }, + "SearchCasesRequest": { + "base": null, + "refs": { + } + }, + "SearchCasesRequestFieldsList": { + "base": null, + "refs": { + "SearchCasesRequest$fields": "The list of field identifiers to be returned as part of the response.
" + } + }, + "SearchCasesRequestMaxResultsInteger": { + "base": null, + "refs": { + "SearchCasesRequest$maxResults": "The maximum number of cases to return. The current maximum supported value is 25. This is also the default value when no other value is provided.
" + } + }, + "SearchCasesRequestSearchTermString": { + "base": null, + "refs": { + "SearchCasesRequest$searchTerm": "A word or phrase used to perform a quick search.
" + } + }, + "SearchCasesRequestSortsList": { + "base": "/@documentation("The templateId")
", + "refs": { + "SearchCasesRequest$sorts": "A list of sorts where each sort specifies a field and their sort order to be applied to the results.
" + } + }, + "SearchCasesResponse": { + "base": null, + "refs": { + } + }, + "SearchCasesResponseCasesList": { + "base": null, + "refs": { + "SearchCasesResponse$cases": "A list of case documents where each case contains the properties CaseId
and Fields
where each field is a complex union structure.
A list of items that represent cases.
", + "refs": { + "SearchCasesResponseCasesList$member": null + } + }, + "SearchCasesResponseItemFieldsList": { + "base": null, + "refs": { + "SearchCasesResponseItem$fields": "List of case field values.
" + } + }, + "SearchRelatedItemsRequest": { + "base": null, + "refs": { + } + }, + "SearchRelatedItemsRequestFiltersList": { + "base": null, + "refs": { + "SearchRelatedItemsRequest$filters": "The list of types of related items and their parameters to use for filtering.
" + } + }, + "SearchRelatedItemsRequestMaxResultsInteger": { + "base": null, + "refs": { + "SearchRelatedItemsRequest$maxResults": "The maximum number of results to return per page.
" + } + }, + "SearchRelatedItemsResponse": { + "base": null, + "refs": { + } + }, + "SearchRelatedItemsResponseItem": { + "base": "A list of items that represent RelatedItems.
", + "refs": { + "SearchRelatedItemsResponseRelatedItemsList$member": null + } + }, + "SearchRelatedItemsResponseRelatedItemsList": { + "base": null, + "refs": { + "SearchRelatedItemsResponse$relatedItems": "A list of items related to a case.
" + } + }, + "Section": { + "base": "This represents a sections within a panel or tab of the page layout.
", + "refs": { + "SectionsList$member": null + } + }, + "SectionsList": { + "base": "Ordered list containing different kinds of sections that can be added.
", + "refs": { + "LayoutSections$sections": null + } + }, + "ServiceQuotaExceededException": { + "base": "The service quota has been exceeded. For a list of service quotas, see Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.
", + "refs": { + } + }, + "Sort": { + "base": "A structured set of sort terms.
", + "refs": { + "SearchCasesRequestSortsList$member": null + } + }, + "String": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "ConflictException$message": null, + "FieldError$errorCode": "The error code from getting a field.
", + "FieldError$message": "The error message from getting a field.
", + "FieldOptionError$errorCode": "Error code from creating or updating field option.
", + "FieldOptionError$message": "Error message from creating or updating field option.
", + "InternalServerException$message": null, + "ResourceNotFoundException$message": null, + "ResourceNotFoundException$resourceId": "Unique identifier of the resource affected.
", + "ResourceNotFoundException$resourceType": "Type of the resource affected.
", + "ServiceQuotaExceededException$message": null, + "Tags$key": null, + "Tags$value": null, + "ThrottlingException$message": null, + "ValidationException$message": null + } + }, + "TagKey": { + "base": null, + "refs": { + "TagKeyList$member": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$tagKeys": "List of tag keys.
" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "Tags": { + "base": null, + "refs": { + "GetCaseResponse$tags": "A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.
", + "GetDomainResponse$tags": "A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.
", + "GetFieldResponse$tags": "A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.
", + "GetLayoutResponse$tags": "A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.
", + "GetTemplateResponse$tags": "A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.
", + "ListTagsForResourceResponse$tags": "A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.
", + "SearchCasesResponseItem$tags": "A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.
", + "SearchRelatedItemsResponseItem$tags": "A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.
", + "TagResourceRequest$tags": "A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.
" + } + }, + "TemplateArn": { + "base": null, + "refs": { + "CreateTemplateResponse$templateArn": "The Amazon Resource Name (ARN) of the newly created template.
", + "GetTemplateResponse$templateArn": "The Amazon Resource Name (ARN) of the template.
", + "TemplateSummary$templateArn": "The Amazon Resource Name (ARN) of the template.
" + } + }, + "TemplateDescription": { + "base": null, + "refs": { + "CreateTemplateRequest$description": "A brief description of the template.
", + "GetTemplateResponse$description": "A brief description of the template.
", + "UpdateTemplateRequest$description": "A brief description of the template.
" + } + }, + "TemplateId": { + "base": null, + "refs": { + "CaseSummary$templateId": "A unique identifier of a template.
", + "CreateCaseRequest$templateId": "A unique identifier of a template.
", + "CreateTemplateResponse$templateId": "A unique identifier of a template.
", + "GetCaseResponse$templateId": "A unique identifier of a template.
", + "GetTemplateRequest$templateId": "A unique identifier of a template.
", + "GetTemplateResponse$templateId": "A unique identifier of a template.
", + "SearchCasesResponseItem$templateId": "A unique identifier of a template.
", + "TemplateSummary$templateId": "The unique identifier for the template.
", + "UpdateTemplateRequest$templateId": "A unique identifier for the template.
" + } + }, + "TemplateName": { + "base": null, + "refs": { + "CreateTemplateRequest$name": "A name for the template. It must be unique per domain.
", + "GetTemplateResponse$name": "The name of the template.
", + "TemplateSummary$name": "The template name.
", + "UpdateTemplateRequest$name": "The name of the template. It must be unique per domain.
" + } + }, + "TemplateSummary": { + "base": "Template summary information.
", + "refs": { + "ListTemplatesResponseTemplatesList$member": null + } + }, + "ThrottlingException": { + "base": "The rate has been exceeded for this API. Please try again after a few minutes.
", + "refs": { + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UpdateCaseRequest": { + "base": null, + "refs": { + } + }, + "UpdateCaseRequestFieldsList": { + "base": null, + "refs": { + "UpdateCaseRequest$fields": "An array of objects with fieldId
(matching ListFields/DescribeField) and value union data, structured identical to CreateCase
.
The request isn't valid. Check the syntax and try again.
", + "refs": { + } + }, + "Value": { + "base": null, + "refs": { + "ValuesList$member": null + } + }, + "ValuesList": { + "base": null, + "refs": { + "ListFieldOptionsRequest$values": "A list of FieldOption
values to filter on for ListFieldOptions
.
The state of autoEnableIO
attribute.
Indicates whether the instances launched in the VPC get DNS hostnames. If this attribute is true
, instances in the VPC get DNS hostnames; otherwise, they do not.
Indicates whether DNS resolution is enabled for the VPC. If this attribute is true
, the Amazon DNS server resolves DNS hostnames for your instances to their corresponding IP addresses; otherwise, it does not.
Indicates whether Network Address Usage metrics are enabled for your VPC.
", "InstanceAttribute$DisableApiTermination": "If the value is true
, you can't terminate the instance through the Amazon EC2 console, CLI, or API; otherwise, you can.
Indicates whether enhanced networking with ENA is enabled.
", "InstanceAttribute$EbsOptimized": "Indicates whether the instance is optimized for Amazon EBS I/O.
", @@ -1424,7 +1425,8 @@ "ModifySubnetAttributeRequest$DisableLniAtDeviceIndex": " Specify true
to indicate that local network interfaces at the current position should be disabled.
Indicates whether the volume should be auto-enabled for I/O operations.
", "ModifyVpcAttributeRequest$EnableDnsHostnames": "Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.
", - "ModifyVpcAttributeRequest$EnableDnsSupport": "Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range \"plus two\" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled.
You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.
" + "ModifyVpcAttributeRequest$EnableDnsSupport": "Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range \"plus two\" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled.
You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.
", + "ModifyVpcAttributeRequest$EnableNetworkAddressUsageMetrics": "Indicates whether Network Address Usage metrics are enabled for your VPC.
" } }, "AttributeValue": { diff --git a/models/apis/ecs/2014-11-13/docs-2.json b/models/apis/ecs/2014-11-13/docs-2.json index 2ad485d55de..33eb27582f7 100644 --- a/models/apis/ecs/2014-11-13/docs-2.json +++ b/models/apis/ecs/2014-11-13/docs-2.json @@ -234,7 +234,7 @@ "NetworkBinding$containerPort": "The port number on the container that's used with the network binding.
", "NetworkBinding$hostPort": "The port number on the host that's used with the network binding.
", "PortMapping$containerPort": "The port number on the container that's bound to the user-specified or automatically assigned host port.
If you use containers in a task with the awsvpc
or host
network mode, specify the exposed ports using containerPort
.
If you use containers in a task with the bridge
network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range. For more information, see hostPort
. Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.
The port number on the container instance to reserve for your container.
If you use containers in a task with the awsvpc
or host
network mode, the hostPort
can either be left blank or set to the same value as the containerPort
.
If you use containers in a task with the bridge
network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the hostPort
(or set it to 0
) while specifying a containerPort
and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.
The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under /proc/sys/net/ipv4/ip_local_port_range
. If this kernel parameter is unavailable, the default ephemeral port range from 49153 through 65535 is used. Do not attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range.
The default ephemeral port range from 49153 through 65535 is always used for Docker versions before 1.6.0.
The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task is running. That is, after a task stops, the host port is released. The current reserved ports are displayed in the remainingResources
of DescribeContainerInstances output. A container instance can have up to 100 reserved ports at a time. This number includes the default reserved ports. Automatically assigned ports aren't included in the 100 reserved ports quota.
The port number on the container instance to reserve for your container.
If you use containers in a task with the awsvpc
or host
network mode, the hostPort
can either be left blank or set to the same value as the containerPort
.
If you use containers in a task with the bridge
network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the hostPort
(or set it to 0
) while specifying a containerPort
and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.
The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under /proc/sys/net/ipv4/ip_local_port_range
. If this kernel parameter is unavailable, the default ephemeral port range from 49153 through 65535 is used. Do not attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range.
The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task is running. That is, after a task stops, the host port is released. The current reserved ports are displayed in the remainingResources
of DescribeContainerInstances output. A container instance can have up to 100 reserved ports at a time. This number includes the default reserved ports. Automatically assigned ports aren't included in the 100 reserved ports quota.
The number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call.
", "Service$healthCheckGracePeriodSeconds": "The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started.
", "ServiceRegistry$port": "The port value used if your service discovery service specified an SRV record. This field might be used if both the awsvpc
network mode and SRV records are used.
The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on Fargate. For more information, see Fargate task storage in the Amazon ECS User Guide for Fargate.
This parameter is only supported for tasks hosted on Fargate using Linux platform version 1.4.0
or later. This parameter is not supported for Windows containers on Fargate.
The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on Fargate. For more information, see Fargate task storage in the Amazon ECS User Guide for Fargate.
This parameter is only supported for tasks hosted on Fargate using the following platform versions:
Linux platform version 1.4.0
or later.
Windows platform version 1.0.0
or later.
The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on Fargate. For more information, see Fargate task storage in the Amazon ECS User Guide for Fargate.
This parameter is only supported for tasks hosted on Fargate using the following platform versions:
Linux platform version 1.4.0
or later.
The ephemeral storage settings for the task.
", "TaskDefinition$ephemeralStorage": "The ephemeral storage settings to use for tasks run with the task definition.
", "TaskOverride$ephemeralStorage": "The ephemeral storage setting override for the task.
This parameter is only supported for tasks hosted on Fargate that use the following platform versions:
Linux platform version 1.4.0
or later.
Windows platform version 1.0.0
or later.
The resource name to disable the account setting for. If serviceLongArnFormat
is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat
is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat
is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking
is specified, the ENI limit for your Amazon ECS container instances is affected.
The name of the account setting you want to list the settings for.
", - "PutAccountSettingDefaultRequest$name": "The resource name for which to modify the account setting. If serviceLongArnFormat
is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat
is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat
is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking
is specified, the ENI limit for your Amazon ECS container instances is affected. If containerInsights
is specified, the default setting for CloudWatch Container Insights for your clusters is affected.
The resource name for which to modify the account setting. If serviceLongArnFormat
is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat
is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat
is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking
is specified, the ENI limit for your Amazon ECS container instances is affected. If containerInsights
is specified, the default setting for CloudWatch Container Insights for your clusters is affected.
Fargate is transitioning from task count-based quotas to vCPU-based quotas. You can set the name to fargateVCPULimit
to opt in or opt out of the vCPU-based quotas. For information about the opt in timeline, see Fargate vCPU-based quotas timeline in the Amazon ECS Developer Guide.
The Amazon ECS resource name for which to modify the account setting. If serviceLongArnFormat
is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat
is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat
is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking
is specified, the elastic network interface (ENI) limit for your Amazon ECS container instances is affected. If containerInsights
is specified, the default setting for CloudWatch Container Insights for your clusters is affected.
The Amazon ECS resource name.
" } @@ -2647,7 +2647,7 @@ "base": null, "refs": { "RegisterTaskDefinitionRequest$volumes": "A list of volume definitions in JSON format that containers in your task might use.
", - "TaskDefinition$volumes": "The list of data volume definitions for the task. For more information, see Using data volumes in tasks in the Amazon Elastic Container Service Developer Guide.
The host
and sourcePath
parameters aren't supported for tasks run on Fargate.
The list of data volume definitions for the task. For more information, see Using data volumes in tasks in the Amazon Elastic Container Service Developer Guide.
The host
and sourcePath
parameters aren't supported for tasks run on Fargate.
Amazon WorkMail is a secure, managed business email and calendaring service with support for existing desktop and mobile email clients. You can access your email, contacts, and calendars using Microsoft Outlook, your browser, or other native iOS and Android email applications. You can integrate WorkMail with your existing corporate directory and control both the keys that encrypt your data and the location in which your data is stored.
The WorkMail API is designed for the following scenarios:
Listing and describing organizations
Managing users
Managing groups
Managing resources
All WorkMail API operations are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the WorkMail site, the IAM user gains full administrative visibility into the entire WorkMail organization (or as set in the IAM policy). This includes, but is not limited to, the ability to create, update, and delete users, groups, and resources. This allows developers to perform the scenarios listed above, as well as give users the ability to grant access on a selective basis using the IAM model.
", + "service": "WorkMail is a secure, managed business email and calendaring service with support for existing desktop and mobile email clients. You can access your email, contacts, and calendars using Microsoft Outlook, your browser, or other native iOS and Android email applications. You can integrate WorkMail with your existing corporate directory and control both the keys that encrypt your data and the location in which your data is stored.
The WorkMail API is designed for the following scenarios:
Listing and describing organizations
Managing users
Managing groups
Managing resources
All WorkMail API operations are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the WorkMail site, the IAM user gains full administrative visibility into the entire WorkMail organization (or as set in the IAM policy). This includes, but is not limited to, the ability to create, update, and delete users, groups, and resources. This allows developers to perform the scenarios listed above, as well as give users the ability to grant access on a selective basis using the IAM model.
", "operations": { "AssociateDelegateToResource": "Adds a member (user or group) to the resource's set of delegates.
", "AssociateMemberToGroup": "Adds a member (user or group) to the group's set.
", + "AssumeImpersonationRole": "Assumes an impersonation role for the given WorkMail organization. This method returns an authentication token you can use to make impersonated calls.
", "CancelMailboxExportJob": "Cancels a mailbox export job.
If the mailbox export job is near completion, it might not be possible to cancel it.
Adds an alias to the set of a given member (user or group) of Amazon WorkMail.
", + "CreateAlias": "Adds an alias to the set of a given member (user or group) of WorkMail.
", "CreateAvailabilityConfiguration": "Creates an AvailabilityConfiguration
for the given WorkMail organization and domain.
Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.
", - "CreateMobileDeviceAccessRule": "Creates a new mobile device access rule for the specified Amazon WorkMail organization.
", - "CreateOrganization": "Creates a new Amazon WorkMail organization. Optionally, you can choose to associate an existing AWS Directory Service directory with your organization. If an AWS Directory Service directory ID is specified, the organization alias must match the directory alias. If you choose not to associate an existing directory with your organization, then we create a new Amazon WorkMail directory for you. For more information, see Adding an organization in the Amazon WorkMail Administrator Guide.
You can associate multiple email domains with an organization, then set your default email domain from the Amazon WorkMail console. You can also associate a domain that is managed in an Amazon Route 53 public hosted zone. For more information, see Adding a domain and Choosing the default domain in the Amazon WorkMail Administrator Guide.
Optionally, you can use a customer managed master key from AWS Key Management Service (AWS KMS) to encrypt email for your organization. If you don't associate an AWS KMS key, Amazon WorkMail creates a default AWS managed master key for you.
", - "CreateResource": "Creates a new Amazon WorkMail resource.
", - "CreateUser": "Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.
", + "CreateGroup": "Creates a group that can be used in WorkMail by calling the RegisterToWorkMail operation.
", + "CreateImpersonationRole": "Creates an impersonation role for the given WorkMail organization.
Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries also complete successfully without performing any further actions.
", + "CreateMobileDeviceAccessRule": "Creates a new mobile device access rule for the specified WorkMail organization.
", + "CreateOrganization": "Creates a new WorkMail organization. Optionally, you can choose to associate an existing AWS Directory Service directory with your organization. If an AWS Directory Service directory ID is specified, the organization alias must match the directory alias. If you choose not to associate an existing directory with your organization, then we create a new WorkMail directory for you. For more information, see Adding an organization in the WorkMail Administrator Guide.
You can associate multiple email domains with an organization, then choose your default email domain from the WorkMail console. You can also associate a domain that is managed in an Amazon Route 53 public hosted zone. For more information, see Adding a domain and Choosing the default domain in the WorkMail Administrator Guide.
Optionally, you can use a customer managed key from AWS Key Management Service (AWS KMS) to encrypt email for your organization. If you don't associate an AWS KMS key, WorkMail creates a default, AWS managed key for you.
", + "CreateResource": "Creates a new WorkMail resource.
", + "CreateUser": "Creates a user who can be used in WorkMail by calling the RegisterToWorkMail operation.
", "DeleteAccessControlRule": "Deletes an access control rule for the specified WorkMail organization.
Deleting already deleted and non-existing rules does not produce an error. In those cases, the service sends back an HTTP 200 response with an empty HTTP body.
Remove one or more specified aliases from a set of aliases for a given user.
", "DeleteAvailabilityConfiguration": "Deletes the AvailabilityConfiguration
for the given WorkMail organization and domain.
Deletes the email monitoring configuration for a specified organization.
", - "DeleteGroup": "Deletes a group from Amazon WorkMail.
", + "DeleteGroup": "Deletes a group from WorkMail.
", + "DeleteImpersonationRole": "Deletes an impersonation role for the given WorkMail organization.
", "DeleteMailboxPermissions": "Deletes permissions granted to a member (user or group).
", "DeleteMobileDeviceAccessOverride": "Deletes the mobile device access override for the given WorkMail organization, user, and device.
Deleting already deleted and non-existing overrides does not produce an error. In those cases, the service sends back an HTTP 200 response with an empty HTTP body.
Deletes a mobile device access rule for the specified Amazon WorkMail organization.
Deleting already deleted and non-existing rules does not produce an error. In those cases, the service sends back an HTTP 200 response with an empty HTTP body.
Deletes an Amazon WorkMail organization and all underlying AWS resources managed by Amazon WorkMail as part of the organization. You can choose whether to delete the associated directory. For more information, see Removing an organization in the Amazon WorkMail Administrator Guide.
", - "DeleteResource": "Deletes the specified resource.
", + "DeleteMobileDeviceAccessRule": "Deletes a mobile device access rule for the specified WorkMail organization.
Deleting already deleted and non-existing rules does not produce an error. In those cases, the service sends back an HTTP 200 response with an empty HTTP body.
Deletes an WorkMail organization and all underlying AWS resources managed by WorkMail as part of the organization. You can choose whether to delete the associated directory. For more information, see Removing an organization in the WorkMail Administrator Guide.
", + "DeleteResource": "Deletes the specified resource.
", "DeleteRetentionPolicy": "Deletes the specified retention policy from the specified organization.
", - "DeleteUser": "Deletes a user from Amazon WorkMail and all subsequent systems. Before you can delete a user, the user state must be DISABLED
. Use the DescribeUser action to confirm the user state.
Deleting a user is permanent and cannot be undone. WorkMail archives user mailboxes for 30 days before they are permanently removed.
", - "DeregisterFromWorkMail": "Mark a user, group, or resource as no longer used in Amazon WorkMail. This action disassociates the mailbox and schedules it for clean-up. WorkMail keeps mailboxes for 30 days before they are permanently removed. The functionality in the console is Disable.
", - "DeregisterMailDomain": "Removes a domain from Amazon WorkMail, stops email routing to WorkMail, and removes the authorization allowing WorkMail use. SES keeps the domain because other applications may use it. You must first remove any email address used by WorkMail entities before you remove the domain.
", + "DeleteUser": "Deletes a user from WorkMail and all subsequent systems. Before you can delete a user, the user state must be DISABLED
. Use the DescribeUser action to confirm the user state.
Deleting a user is permanent and cannot be undone. WorkMail archives user mailboxes for 30 days before they are permanently removed.
", + "DeregisterFromWorkMail": "Mark a user, group, or resource as no longer used in WorkMail. This action disassociates the mailbox and schedules it for clean-up. WorkMail keeps mailboxes for 30 days before they are permanently removed. The functionality in the console is Disable.
", + "DeregisterMailDomain": "Removes a domain from WorkMail, stops email routing to WorkMail, and removes the authorization allowing WorkMail use. SES keeps the domain because other applications may use it. You must first remove any email address used by WorkMail entities before you remove the domain.
", "DescribeEmailMonitoringConfiguration": "Describes the current email monitoring configuration for a specified organization.
", "DescribeGroup": "Returns the data available for the group.
", "DescribeInboundDmarcSettings": "Lists the settings in a DMARC policy for a specified organization.
", @@ -35,50 +38,54 @@ "DescribeUser": "Provides information regarding the user.
", "DisassociateDelegateFromResource": "Removes a member from the resource's set of delegates.
", "DisassociateMemberFromGroup": "Removes a member from a group.
", - "GetAccessControlEffect": "Gets the effects of an organization's access control rules as they apply to a specified IPv4 address, access protocol action, or user ID.
", + "GetAccessControlEffect": "Gets the effects of an organization's access control rules as they apply to a specified IPv4 address, access protocol action, and user ID or impersonation role ID. You must provide either the user ID or impersonation role ID. Impersonation role ID can only be used with Action EWS.
", "GetDefaultRetentionPolicy": "Gets the default retention policy details for the specified organization.
", + "GetImpersonationRole": "Gets the impersonation role details for the given WorkMail organization.
", + "GetImpersonationRoleEffect": "Tests whether the given impersonation role can impersonate a target user.
", "GetMailDomain": "Gets details for a mail domain, including domain records required to configure your domain with recommended security.
", "GetMailboxDetails": "Requests a user's mailbox details for a specified organization and user.
", - "GetMobileDeviceAccessEffect": "Simulates the effect of the mobile device access rules for the given attributes of a sample access event. Use this method to test the effects of the current set of mobile device access rules for the Amazon WorkMail organization for a particular user's attributes.
", + "GetMobileDeviceAccessEffect": "Simulates the effect of the mobile device access rules for the given attributes of a sample access event. Use this method to test the effects of the current set of mobile device access rules for the WorkMail organization for a particular user's attributes.
", "GetMobileDeviceAccessOverride": "Gets the mobile device access override for the given WorkMail organization, user, and device.
", "ListAccessControlRules": "Lists the access control rules for the specified organization.
", "ListAliases": "Creates a paginated call to list the aliases associated with a given entity.
", "ListAvailabilityConfigurations": "List all the AvailabilityConfiguration
's for the given WorkMail organization.
Returns an overview of the members of a group. Users and groups can be members of a group.
", "ListGroups": "Returns summaries of the organization's groups.
", - "ListMailDomains": "Lists the mail domains in a given Amazon WorkMail organization.
", + "ListImpersonationRoles": "Lists all the impersonation roles for the given WorkMail organization.
", + "ListMailDomains": "Lists the mail domains in a given WorkMail organization.
", "ListMailboxExportJobs": "Lists the mailbox export jobs started for the specified organization within the last seven days.
", "ListMailboxPermissions": "Lists the mailbox permissions associated with a user, group, or resource mailbox.
", "ListMobileDeviceAccessOverrides": "Lists all the mobile device access overrides for any given combination of WorkMail organization, user, or device.
", - "ListMobileDeviceAccessRules": "Lists the mobile device access rules for the specified Amazon WorkMail organization.
", + "ListMobileDeviceAccessRules": "Lists the mobile device access rules for the specified WorkMail organization.
", "ListOrganizations": "Returns summaries of the customer's organizations.
", "ListResourceDelegates": "Lists the delegates associated with a resource. Users and groups can be resource delegates and answer requests on behalf of the resource.
", "ListResources": "Returns summaries of the organization's resources.
", - "ListTagsForResource": "Lists the tags applied to an Amazon WorkMail organization resource.
", + "ListTagsForResource": "Lists the tags applied to an WorkMail organization resource.
", "ListUsers": "Returns summaries of the organization's users.
", - "PutAccessControlRule": "Adds a new access control rule for the specified organization. The rule allows or denies access to the organization for the specified IPv4 addresses, access protocol actions, and user IDs. Adding a new rule with the same name as an existing rule replaces the older rule.
", + "PutAccessControlRule": "Adds a new access control rule for the specified organization. The rule allows or denies access to the organization for the specified IPv4 addresses, access protocol actions, user IDs and impersonation IDs. Adding a new rule with the same name as an existing rule replaces the older rule.
", "PutEmailMonitoringConfiguration": "Creates or updates the email monitoring configuration for a specified organization.
", "PutInboundDmarcSettings": "Enables or disables a DMARC policy for a given organization.
", "PutMailboxPermissions": "Sets permissions for a user, group, or resource. This replaces any pre-existing permissions.
", "PutMobileDeviceAccessOverride": "Creates or updates a mobile device access override for the given WorkMail organization, user, and device.
", "PutRetentionPolicy": "Puts a retention policy to the specified organization.
", - "RegisterMailDomain": "Registers a new domain in Amazon WorkMail and SES, and configures it for use by WorkMail. Emails received by SES for this domain are routed to the specified WorkMail organization, and WorkMail has permanent permission to use the specified domain for sending your users' emails.
", - "RegisterToWorkMail": "Registers an existing and disabled user, group, or resource for Amazon WorkMail use by associating a mailbox and calendaring capabilities. It performs no change if the user, group, or resource is enabled and fails if the user, group, or resource is deleted. This operation results in the accumulation of costs. For more information, see Pricing. The equivalent console functionality for this operation is Enable.
Users can either be created by calling the CreateUser API operation or they can be synchronized from your directory. For more information, see DeregisterFromWorkMail.
", + "RegisterMailDomain": "Registers a new domain in WorkMail and SES, and configures it for use by WorkMail. Emails received by SES for this domain are routed to the specified WorkMail organization, and WorkMail has permanent permission to use the specified domain for sending your users' emails.
", + "RegisterToWorkMail": "Registers an existing and disabled user, group, or resource for WorkMail use by associating a mailbox and calendaring capabilities. It performs no change if the user, group, or resource is enabled and fails if the user, group, or resource is deleted. This operation results in the accumulation of costs. For more information, see Pricing. The equivalent console functionality for this operation is Enable.
Users can either be created by calling the CreateUser API operation or they can be synchronized from your directory. For more information, see DeregisterFromWorkMail.
", "ResetPassword": "Allows the administrator to reset the password for a user.
", - "StartMailboxExportJob": "Starts a mailbox export job to export MIME-format email messages and calendar items from the specified mailbox to the specified Amazon Simple Storage Service (Amazon S3) bucket. For more information, see Exporting mailbox content in the Amazon WorkMail Administrator Guide.
", - "TagResource": "Applies the specified tags to the specified Amazon WorkMail organization resource.
", - "TestAvailabilityConfiguration": "Performs a test on an availability provider to ensure that access is allowed. For EWS, it verifies the provided credentials can be used to successfully log in. For Lambda, it verifies that the Lambda function can be invoked and that the resource access policy was configured to deny anonymous access. An anonymous invocation is one done without providing either a SourceArn
or SourceAccount
header.
The request must contain either one provider definition (EwsProvider
or LambdaProvider
) or the DomainName
parameter. If the DomainName
parameter is provided, the configuration stored under the DomainName
will be tested.
Untags the specified tags from the specified Amazon WorkMail organization resource.
", + "StartMailboxExportJob": "Starts a mailbox export job to export MIME-format email messages and calendar items from the specified mailbox to the specified Amazon Simple Storage Service (Amazon S3) bucket. For more information, see Exporting mailbox content in the WorkMail Administrator Guide.
", + "TagResource": "Applies the specified tags to the specified WorkMailorganization resource.
", + "TestAvailabilityConfiguration": "Performs a test on an availability provider to ensure that access is allowed. For EWS, it verifies the provided credentials can be used to successfully log in. For Lambda, it verifies that the Lambda function can be invoked and that the resource access policy was configured to deny anonymous access. An anonymous invocation is one done without providing either a SourceArn
or SourceAccount
header.
The request must contain either one provider definition (EwsProvider
or LambdaProvider
) or the DomainName
parameter. If the DomainName
parameter is provided, the configuration stored under the DomainName
will be tested.
Untags the specified tags from the specified WorkMail organization resource.
", "UpdateAvailabilityConfiguration": "Updates an existing AvailabilityConfiguration
for the given WorkMail organization and domain.
Updates the default mail domain for an organization. The default mail domain is used by the WorkMail AWS Console to suggest an email address when enabling a mail user. You can only have one default domain.
", + "UpdateImpersonationRole": "Updates an impersonation role for the given WorkMail organization.
", "UpdateMailboxQuota": "Updates a user's current mailbox quota for a specified organization and user.
", - "UpdateMobileDeviceAccessRule": "Updates a mobile device access rule for the specified Amazon WorkMail organization.
", + "UpdateMobileDeviceAccessRule": "Updates a mobile device access rule for the specified WorkMail organization.
", "UpdatePrimaryEmailAddress": "Updates the primary email for a user, group, or resource. The current email is moved into the list of aliases (or swapped between an existing alias and the current primary email), and the email provided in the input is promoted as the primary.
", "UpdateResource": "Updates data for the resource. To have the latest information, it must be preceded by a DescribeResource call. The dataset in the request should be the one expected when performing another DescribeResource
call.
A rule that controls access to an Amazon WorkMail organization.
", + "base": "A rule that controls access to an WorkMail organization.
", "refs": { "AccessControlRulesList$member": null } @@ -126,6 +133,13 @@ "ListAccessControlRulesResponse$Rules": "The access control rules.
" } }, + "AccessEffect": { + "base": null, + "refs": { + "GetImpersonationRoleEffectResponse$Effect": " Effect of the impersonation role on the target user based on its rules. Available effects are
ALLOW
or DENY
.
The effect of the rule when it matches the input. Allowed effect values are ALLOW
or DENY
.
List all the AvailabilityConfiguration
's for the given WorkMail organization.
The list of AvailabilityConfiguration
's that exist for the specified Amazon WorkMail organization.
The list of AvailabilityConfiguration
's that exist for the specified WorkMail organization.
The resource's ability to automatically reply to requests. If disabled, delegates must be associated to the resource.
", "BookingOptions$AutoDeclineRecurringRequests": "The resource's ability to automatically decline any recurring requests.
", "BookingOptions$AutoDeclineConflictingRequests": "The resource's ability to automatically decline any conflicting requests.
", - "CreateOrganizationRequest$EnableInteroperability": "When true
, allows organization interoperability between Amazon WorkMail and Microsoft Exchange. Can only be set to true
if an AD Connector directory ID is included in the request.
When true
, allows organization interoperability between WorkMail and Microsoft Exchange. If true
, you must include a AD Connector directory ID in the request.
If true, deletes the AWS Directory Service directory associated with the organization.
", "DescribeInboundDmarcSettingsResponse$Enforced": "Lists the enforcement setting of the applied policy.
", "GetMailDomainResponse$IsTestDomain": "Specifies whether the domain is a test domain provided by WorkMail, or a custom domain.
", @@ -256,6 +280,16 @@ "refs": { } }, + "CreateImpersonationRoleRequest": { + "base": null, + "refs": { + } + }, + "CreateImpersonationRoleResponse": { + "base": null, + "refs": { + } + }, "CreateMobileDeviceAccessRuleRequest": { "base": null, "refs": { @@ -352,6 +386,16 @@ "refs": { } }, + "DeleteImpersonationRoleRequest": { + "base": null, + "refs": { + } + }, + "DeleteImpersonationRoleResponse": { + "base": null, + "refs": { + } + }, "DeleteMailboxPermissionsRequest": { "base": null, "refs": { @@ -579,7 +623,7 @@ "refs": { "CreateMobileDeviceAccessRuleRequest$DeviceTypes": "Device types that the rule will match.
", "CreateMobileDeviceAccessRuleRequest$NotDeviceTypes": "Device types that the rule will not match. All other device types will match.
", - "MobileDeviceAccessRule$DeviceTypes": "Device types that a rule will match.
", + "MobileDeviceAccessRule$DeviceTypes": "Device types that a rule will match.
", "MobileDeviceAccessRule$NotDeviceTypes": "Device types that a rule will not match. All other device types will match.
", "UpdateMobileDeviceAccessRuleRequest$DeviceTypes": "Device types that the updated rule will match.
", "UpdateMobileDeviceAccessRuleRequest$NotDeviceTypes": "Device types that the updated rule will not match. All other device types will match.
" @@ -660,11 +704,11 @@ "DnsRecords": { "base": null, "refs": { - "GetMailDomainResponse$Records": "A list of the DNS records that Amazon WorkMail recommends adding in your DNS provider for the best user experience. The records configure your domain with DMARC, SPF, DKIM, and direct incoming email traffic to SES. See admin guide for more details.
" + "GetMailDomainResponse$Records": "A list of the DNS records that WorkMail recommends adding in your DNS provider for the best user experience. The records configure your domain with DMARC, SPF, DKIM, and direct incoming email traffic to SES. See admin guide for more details.
" } }, "Domain": { - "base": "The domain to associate with an Amazon WorkMail organization.
When you configure a domain hosted in Amazon Route 53 (Route 53), all recommended DNS records are added to the organization when you create it. For more information, see Adding a domain in the Amazon WorkMail Administrator Guide.
", + "base": "The domain to associate with an WorkMail organization.
When you configure a domain hosted in Amazon Route 53 (Route 53), all recommended DNS records are added to the organization when you create it. For more information, see Adding a domain in the WorkMail Administrator Guide.
", "refs": { "Domains$member": null } @@ -718,9 +762,11 @@ "base": null, "refs": { "DeleteMobileDeviceAccessOverrideRequest$UserId": "The WorkMail user for which you want to delete the override. Accepts the following types of user identities:
User ID: 12345678-1234-1234-1234-123456789012
or S-1-1-12-1234567890-123456789-123456789-1234
Email address: user@domain.tld
User name: user
The WorkMail organization user chosen to test the impersonation role. The following identity formats are available:
User ID: 12345678-1234-1234-1234-123456789012
or S-1-1-12-1234567890-123456789-123456789-1234
Email address: user@domain.tld
User name: user
Identifies the WorkMail user for the override. Accepts the following types of user identities:
User ID: 12345678-1234-1234-1234-123456789012
or S-1-1-12-1234567890-123456789-123456789-1234
Email address: user@domain.tld
User name: user
The WorkMail user under which you list the mobile device access overrides. Accepts the following types of user identities:
User ID: 12345678-1234-1234-1234-123456789012
or S-1-1-12-1234567890-123456789-123456789-1234
Email address: user@domain.tld
User name: user
The WorkMail user for which you create the override. Accepts the following types of user identities:
User ID: 12345678-1234-1234-1234-123456789012
or S-1-1-12-1234567890-123456789-123456789-1234
Email address: user@domain.tld
User name: user
The WorkMail user for which you create the override. Accepts the following types of user identities:
User ID: 12345678-1234-1234-1234-123456789012
or S-1-1-12-1234567890-123456789-123456789-1234
Email address: user@domain.tld
User name: user
The state of the user: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to WorkMail).
", - "DescribeResourceResponse$State": "The state of the resource: enabled (registered to Amazon WorkMail), disabled (deregistered or never registered to WorkMail), or deleted.
", - "DescribeUserResponse$State": "The state of a user: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to WorkMail).
", + "DescribeGroupResponse$State": "The state of the user: enabled (registered to WorkMail) or disabled (deregistered or never registered to WorkMail).
", + "DescribeResourceResponse$State": "The state of the resource: enabled (registered to WorkMail), disabled (deregistered or never registered to WorkMail), or deleted.
", + "DescribeUserResponse$State": "The state of a user: enabled (registered to WorkMail) or disabled (deregistered or never registered to WorkMail).
", "Group$State": "The state of the group, which can be ENABLED, DISABLED, or DELETED.
", "Member$State": "The state of the member, which can be ENABLED, DISABLED, or DELETED.
", "Resource$State": "The state of the resource, which can be ENABLED, DISABLED, or DELETED.
", @@ -753,6 +799,12 @@ "UpdateAvailabilityConfigurationRequest$EwsProvider": "The EWS availability provider definition. The request must contain exactly one provider definition, either EwsProvider
or LambdaProvider
. The previously stored provider will be overridden by the one provided.
The authentication token's validity, in seconds.
" + } + }, "ExternalUserName": { "base": null, "refs": { @@ -799,6 +851,26 @@ "refs": { } }, + "GetImpersonationRoleEffectRequest": { + "base": null, + "refs": { + } + }, + "GetImpersonationRoleEffectResponse": { + "base": null, + "refs": { + } + }, + "GetImpersonationRoleRequest": { + "base": null, + "refs": { + } + }, + "GetImpersonationRoleResponse": { + "base": null, + "refs": { + } + }, "GetMailDomainRequest": { "base": null, "refs": { @@ -840,7 +912,7 @@ } }, "Group": { - "base": "The representation of an Amazon WorkMail group.
", + "base": "The representation of an WorkMail group.
", "refs": { "Groups$member": null } @@ -870,6 +942,7 @@ "refs": { "CancelMailboxExportJobRequest$ClientToken": "The idempotency token for the client request.
", "CreateAvailabilityConfigurationRequest$ClientToken": "An idempotent token that ensures that an API request is executed only once.
", + "CreateImpersonationRoleRequest$ClientToken": "The idempotency token for the client request.
", "CreateMobileDeviceAccessRuleRequest$ClientToken": "The idempotency token for the client request.
", "CreateOrganizationRequest$ClientToken": "The idempotency token associated with the request.
", "DeleteOrganizationRequest$ClientToken": "The idempotency token associated with the request.
", @@ -877,13 +950,128 @@ "StartMailboxExportJobRequest$ClientToken": "The idempotency token for the client request.
" } }, + "ImpersonationMatchedRule": { + "base": "The impersonation rule that matched the input.
", + "refs": { + "ImpersonationMatchedRuleList$member": null + } + }, + "ImpersonationMatchedRuleList": { + "base": null, + "refs": { + "GetImpersonationRoleEffectResponse$MatchedRules": "A list of the rules that match the input and produce the configured effect.
" + } + }, + "ImpersonationRole": { + "base": "An impersonation role for the given WorkMail organization.
", + "refs": { + "ImpersonationRoleList$member": null + } + }, + "ImpersonationRoleDescription": { + "base": null, + "refs": { + "CreateImpersonationRoleRequest$Description": "The description of the new impersonation role.
", + "GetImpersonationRoleResponse$Description": "The impersonation role description.
", + "UpdateImpersonationRoleRequest$Description": "The updated impersonation role description.
" + } + }, + "ImpersonationRoleId": { + "base": null, + "refs": { + "AssumeImpersonationRoleRequest$ImpersonationRoleId": "The impersonation role ID to assume.
", + "CreateImpersonationRoleResponse$ImpersonationRoleId": "The new impersonation role ID.
", + "DeleteImpersonationRoleRequest$ImpersonationRoleId": "The ID of the impersonation role to delete.
", + "GetAccessControlEffectRequest$ImpersonationRoleId": "The impersonation role ID.
", + "GetImpersonationRoleEffectRequest$ImpersonationRoleId": "The impersonation role ID to test.
", + "GetImpersonationRoleRequest$ImpersonationRoleId": "The impersonation role ID to retrieve.
", + "GetImpersonationRoleResponse$ImpersonationRoleId": "The impersonation role ID.
", + "ImpersonationRole$ImpersonationRoleId": "The identifier of the impersonation role.
", + "ImpersonationRoleIdList$member": null, + "UpdateImpersonationRoleRequest$ImpersonationRoleId": "The ID of the impersonation role to update.
" + } + }, + "ImpersonationRoleIdList": { + "base": null, + "refs": { + "AccessControlRule$ImpersonationRoleIds": "Impersonation role IDs to include in the rule.
", + "AccessControlRule$NotImpersonationRoleIds": "Impersonation role IDs to exclude from the rule.
", + "PutAccessControlRuleRequest$ImpersonationRoleIds": "Impersonation role IDs to include in the rule.
", + "PutAccessControlRuleRequest$NotImpersonationRoleIds": "Impersonation role IDs to exclude from the rule.
" + } + }, + "ImpersonationRoleList": { + "base": null, + "refs": { + "ListImpersonationRolesResponse$Roles": "The list of impersonation roles under the given WorkMail organization.
" + } + }, + "ImpersonationRoleName": { + "base": null, + "refs": { + "CreateImpersonationRoleRequest$Name": "The name of the new impersonation role.
", + "GetImpersonationRoleResponse$Name": "The impersonation role name.
", + "ImpersonationRole$Name": "The impersonation role name.
", + "UpdateImpersonationRoleRequest$Name": "The updated impersonation role name.
" + } + }, + "ImpersonationRoleType": { + "base": null, + "refs": { + "CreateImpersonationRoleRequest$Type": "The impersonation role's type. The available impersonation role types are READ_ONLY
or FULL_ACCESS
.
The impersonation role type.
", + "GetImpersonationRoleResponse$Type": "The impersonation role type.
", + "ImpersonationRole$Type": "The impersonation role type.
", + "UpdateImpersonationRoleRequest$Type": "The updated impersonation role type.
" + } + }, + "ImpersonationRule": { + "base": "The rules for the given impersonation role.
", + "refs": { + "ImpersonationRuleList$member": null + } + }, + "ImpersonationRuleDescription": { + "base": null, + "refs": { + "ImpersonationRule$Description": "The rule description.
" + } + }, + "ImpersonationRuleId": { + "base": null, + "refs": { + "ImpersonationMatchedRule$ImpersonationRuleId": "The ID of the rule that matched the input
", + "ImpersonationRule$ImpersonationRuleId": "The identifier of the rule.
" + } + }, + "ImpersonationRuleList": { + "base": null, + "refs": { + "CreateImpersonationRoleRequest$Rules": "The list of rules for the impersonation role.
", + "GetImpersonationRoleResponse$Rules": "The list of rules for the given impersonation role.
", + "UpdateImpersonationRoleRequest$Rules": "The updated list of rules.
" + } + }, + "ImpersonationRuleName": { + "base": null, + "refs": { + "ImpersonationMatchedRule$Name": "The name of the rule that matched the input.
", + "ImpersonationRule$Name": "The rule name.
" + } + }, + "ImpersonationToken": { + "base": null, + "refs": { + "AssumeImpersonationRoleResponse$Token": "The authentication token for the impersonation role.
" + } + }, "InvalidConfigurationException": { "base": "The configuration for a resource isn't valid. A resource must either be able to auto-respond to requests or have at least one delegate associated that can do so on its behalf.
", "refs": { } }, "InvalidCustomSesConfigurationException": { - "base": "You SES configuration has customizations that Amazon WorkMail cannot save. The error message lists the invalid setting. For examples of invalid settings, refer to CreateReceiptRule.
", + "base": "You SES configuration has customizations that WorkMail cannot save. The error message lists the invalid setting. For examples of invalid settings, refer to CreateReceiptRule.
", "refs": { } }, @@ -927,7 +1115,7 @@ "KmsKeyArn": { "base": null, "refs": { - "CreateOrganizationRequest$KmsKeyArn": "The Amazon Resource Name (ARN) of a customer managed master key from AWS KMS.
", + "CreateOrganizationRequest$KmsKeyArn": "The Amazon Resource Name (ARN) of a customer managed key from AWS KMS.
", "DescribeMailboxExportJobResponse$KmsKeyArn": "The Amazon Resource Name (ARN) of the symmetric AWS Key Management Service (AWS KMS) key that encrypts the exported mailbox content.
", "StartMailboxExportJobRequest$KmsKeyArn": "The Amazon Resource Name (ARN) of the symmetric AWS Key Management Service (AWS KMS) key that encrypts the exported mailbox content.
" } @@ -1002,6 +1190,16 @@ "refs": { } }, + "ListImpersonationRolesRequest": { + "base": null, + "refs": { + } + }, + "ListImpersonationRolesResponse": { + "base": null, + "refs": { + } + }, "ListMailDomainsRequest": { "base": null, "refs": { @@ -1133,7 +1331,7 @@ "MailDomains": { "base": null, "refs": { - "ListMailDomainsResponse$MailDomains": "The list of mail domain summaries, specifying domains that exist in the specified Amazon WorkMail organization, along with the information about whether the domain is or isn't the default.
" + "ListMailDomainsResponse$MailDomains": "The list of mail domain summaries, specifying domains that exist in the specified WorkMail organization, along with the information about whether the domain is or isn't the default.
" } }, "MailboxExportErrorInfo": { @@ -1184,6 +1382,7 @@ "ListAvailabilityConfigurationsRequest$MaxResults": "The maximum number of results to return in a single call.
", "ListGroupMembersRequest$MaxResults": "The maximum number of results to return in a single call.
", "ListGroupsRequest$MaxResults": "The maximum number of results to return in a single call.
", + "ListImpersonationRolesRequest$MaxResults": "The maximum number of results returned in a single call.
", "ListMailDomainsRequest$MaxResults": "The maximum number of results to return in a single call.
", "ListMailboxExportJobsRequest$MaxResults": "The maximum number of results to return in a single call.
", "ListMailboxPermissionsRequest$MaxResults": "The maximum number of results to return in a single call.
", @@ -1235,11 +1434,11 @@ "MobileDeviceAccessOverridesList": { "base": null, "refs": { - "ListMobileDeviceAccessOverridesResponse$Overrides": "The list of mobile device access overrides that exist for the specified Amazon WorkMail organization and user.
" + "ListMobileDeviceAccessOverridesResponse$Overrides": "The list of mobile device access overrides that exist for the specified WorkMail organization and user.
" } }, "MobileDeviceAccessRule": { - "base": "A rule that controls access to mobile devices for an Amazon WorkMail group.
", + "base": "A rule that controls access to mobile devices for an WorkMail group.
", "refs": { "MobileDeviceAccessRulesList$member": null } @@ -1259,7 +1458,7 @@ "base": null, "refs": { "CreateMobileDeviceAccessRuleRequest$Effect": "The effect of the rule when it matches. Allowed values are ALLOW
or DENY
.
The effect of the simulated access, ALLOW
or DENY
, after evaluating mobile device access rules in the Amazon WorkMail organization for the simulated user parameters.
The effect of the simulated access, ALLOW
or DENY
, after evaluating mobile device access rules in the WorkMail organization for the simulated user parameters.
The effect of the override, ALLOW
or DENY
.
The effect of the override, ALLOW
or DENY
.
The effect of the rule when it matches. Allowed values are ALLOW
or DENY
.
The identifier for the newly created mobile device access rule.
", "DeleteMobileDeviceAccessRuleRequest$MobileDeviceAccessRuleId": "The identifier of the rule to be deleted.
", "MobileDeviceAccessMatchedRule$MobileDeviceAccessRuleId": "Identifier of the rule that a simulated user matches.
", - "MobileDeviceAccessRule$MobileDeviceAccessRuleId": "The ID assigned to a mobile access rule.
", + "MobileDeviceAccessRule$MobileDeviceAccessRuleId": "The ID assigned to a mobile access rule.
", "UpdateMobileDeviceAccessRuleRequest$MobileDeviceAccessRuleId": "The identifier of the rule to be updated.
" } }, @@ -1289,11 +1488,11 @@ "MobileDeviceAccessRulesList": { "base": null, "refs": { - "ListMobileDeviceAccessRulesResponse$Rules": "The list of mobile device access rules that exist under the specified Amazon WorkMail organization.
" + "ListMobileDeviceAccessRulesResponse$Rules": "The list of mobile device access rules that exist under the specified WorkMail organization.
" } }, "NameAvailabilityException": { - "base": "The user, group, or resource name isn't unique in Amazon WorkMail.
", + "base": "The user, group, or resource name isn't unique in WorkMail.
", "refs": { } }, @@ -1308,6 +1507,8 @@ "ListGroupMembersResponse$NextToken": "The token to use to retrieve the next page of results. The first call does not contain any tokens.
", "ListGroupsRequest$NextToken": "The token to use to retrieve the next page of results. The first call does not contain any tokens.
", "ListGroupsResponse$NextToken": "The token to use to retrieve the next page of results. The value is \"null\" when there are no more results to return.
", + "ListImpersonationRolesRequest$NextToken": "The token used to retrieve the next page of results. The first call doesn't require a token.
", + "ListImpersonationRolesResponse$NextToken": "The token to retrieve the next page of results. The value is null
when there are no results to return.
The token to use to retrieve the next page of results. The first call does not require a token.
", "ListMailDomainsResponse$NextToken": "The token to use to retrieve the next page of results. The value becomes null
when there are no more results to return.
The token to use to retrieve the next page of results.
", @@ -1319,7 +1520,7 @@ "ListOrganizationsRequest$NextToken": "The token to use to retrieve the next page of results. The first call does not contain any tokens.
", "ListOrganizationsResponse$NextToken": "The token to use to retrieve the next page of results. The value is \"null\" when there are no more results to return.
", "ListResourceDelegatesRequest$NextToken": "The token used to paginate through the delegates associated with a resource.
", - "ListResourceDelegatesResponse$NextToken": "The token used to paginate through the delegates associated with a resource. While results are still available, it has an associated value. When the last page is reached, the token is empty.
", + "ListResourceDelegatesResponse$NextToken": "The token used to paginate through the delegates associated with a resource. While results are still available, it has an associated value. When the last page is reached, the token is empty.
", "ListResourcesRequest$NextToken": "The token to use to retrieve the next page of results. The first call does not contain any tokens.
", "ListResourcesResponse$NextToken": "The token used to paginate through all the organization's resources. While results are still available, it has an associated value. When the last page is reached, the token is empty.
", "ListUsersRequest$NextToken": "The token to use to retrieve the next page of results. The first call does not contain any tokens.
", @@ -1331,29 +1532,32 @@ "refs": { "AssociateDelegateToResourceRequest$OrganizationId": "The organization under which the resource exists.
", "AssociateMemberToGroupRequest$OrganizationId": "The organization under which the group exists.
", + "AssumeImpersonationRoleRequest$OrganizationId": "The WorkMail organization under which the impersonation role will be assumed.
", "CancelMailboxExportJobRequest$OrganizationId": "The organization ID.
", "CreateAliasRequest$OrganizationId": "The organization under which the member (user or group) exists.
", - "CreateAvailabilityConfigurationRequest$OrganizationId": "The Amazon WorkMail organization for which the AvailabilityConfiguration
will be created.
The WorkMail organization for which the AvailabilityConfiguration
will be created.
The organization under which the group is to be created.
", - "CreateMobileDeviceAccessRuleRequest$OrganizationId": "The Amazon WorkMail organization under which the rule will be created.
", + "CreateImpersonationRoleRequest$OrganizationId": "The WorkMail organization to create the new impersonation role within.
", + "CreateMobileDeviceAccessRuleRequest$OrganizationId": "The WorkMail organization under which the rule will be created.
", "CreateOrganizationResponse$OrganizationId": "The organization ID.
", "CreateResourceRequest$OrganizationId": "The identifier associated with the organization for which the resource is created.
", "CreateUserRequest$OrganizationId": "The identifier of the organization for which the user is created.
", "DeleteAccessControlRuleRequest$OrganizationId": "The identifier for the organization.
", "DeleteAliasRequest$OrganizationId": "The identifier for the organization under which the user exists.
", - "DeleteAvailabilityConfigurationRequest$OrganizationId": "The Amazon WorkMail organization for which the AvailabilityConfiguration
will be deleted.
The WorkMail organization for which the AvailabilityConfiguration
will be deleted.
The ID of the organization from which the email monitoring configuration is deleted.
", "DeleteGroupRequest$OrganizationId": "The organization that contains the group.
", + "DeleteImpersonationRoleRequest$OrganizationId": "The WorkMail organization from which to delete the impersonation role.
", "DeleteMailboxPermissionsRequest$OrganizationId": "The identifier of the organization under which the member (user or group) exists.
", - "DeleteMobileDeviceAccessOverrideRequest$OrganizationId": "The Amazon WorkMail organization for which the access override will be deleted.
", - "DeleteMobileDeviceAccessRuleRequest$OrganizationId": "The Amazon WorkMail organization under which the rule will be deleted.
", + "DeleteMobileDeviceAccessOverrideRequest$OrganizationId": "The WorkMail organization for which the access override will be deleted.
", + "DeleteMobileDeviceAccessRuleRequest$OrganizationId": "The WorkMail organization under which the rule will be deleted.
", "DeleteOrganizationRequest$OrganizationId": "The organization ID.
", "DeleteOrganizationResponse$OrganizationId": "The organization ID.
", "DeleteResourceRequest$OrganizationId": "The identifier associated with the organization from which the resource is deleted.
", "DeleteRetentionPolicyRequest$OrganizationId": "The organization ID.
", "DeleteUserRequest$OrganizationId": "The organization that contains the user to be deleted.
", - "DeregisterFromWorkMailRequest$OrganizationId": "The identifier for the organization under which the Amazon WorkMail entity exists.
", - "DeregisterMailDomainRequest$OrganizationId": "The Amazon WorkMail organization for which the domain will be deregistered.
", + "DeregisterFromWorkMailRequest$OrganizationId": "The identifier for the organization under which the WorkMail entity exists.
", + "DeregisterMailDomainRequest$OrganizationId": "The WorkMail organization for which the domain will be deregistered.
", "DescribeEmailMonitoringConfigurationRequest$OrganizationId": "The ID of the organization for which the email monitoring configuration is described.
", "DescribeGroupRequest$OrganizationId": "The identifier for the organization under which the group exists.
", "DescribeInboundDmarcSettingsRequest$OrganizationId": "Lists the ID of the given organization.
", @@ -1366,39 +1570,43 @@ "DisassociateMemberFromGroupRequest$OrganizationId": "The identifier for the organization under which the group exists.
", "GetAccessControlEffectRequest$OrganizationId": "The identifier for the organization.
", "GetDefaultRetentionPolicyRequest$OrganizationId": "The organization ID.
", - "GetMailDomainRequest$OrganizationId": "The Amazon WorkMail organization for which the domain is retrieved.
", + "GetImpersonationRoleEffectRequest$OrganizationId": "The WorkMail organization where the impersonation role is defined.
", + "GetImpersonationRoleRequest$OrganizationId": "The WorkMail organization from which to retrieve the impersonation role.
", + "GetMailDomainRequest$OrganizationId": "The WorkMail organization for which the domain is retrieved.
", "GetMailboxDetailsRequest$OrganizationId": "The identifier for the organization that contains the user whose mailbox details are being requested.
", - "GetMobileDeviceAccessEffectRequest$OrganizationId": "The Amazon WorkMail organization to simulate the access effect for.
", - "GetMobileDeviceAccessOverrideRequest$OrganizationId": "The Amazon WorkMail organization to which you want to apply the override.
", + "GetMobileDeviceAccessEffectRequest$OrganizationId": "The WorkMail organization to simulate the access effect for.
", + "GetMobileDeviceAccessOverrideRequest$OrganizationId": "The WorkMail organization to which you want to apply the override.
", "ListAccessControlRulesRequest$OrganizationId": "The identifier for the organization.
", "ListAliasesRequest$OrganizationId": "The identifier for the organization under which the entity exists.
", - "ListAvailabilityConfigurationsRequest$OrganizationId": "The Amazon WorkMail organization for which the AvailabilityConfiguration
's will be listed.
The WorkMail organization for which the AvailabilityConfiguration
's will be listed.
The identifier for the organization under which the group exists.
", "ListGroupsRequest$OrganizationId": "The identifier for the organization under which the groups exist.
", - "ListMailDomainsRequest$OrganizationId": "The Amazon WorkMail organization for which to list domains.
", + "ListImpersonationRolesRequest$OrganizationId": "The WorkMail organization to which the listed impersonation roles belong.
", + "ListMailDomainsRequest$OrganizationId": "The WorkMail organization for which to list domains.
", "ListMailboxExportJobsRequest$OrganizationId": "The organization ID.
", "ListMailboxPermissionsRequest$OrganizationId": "The identifier of the organization under which the user, group, or resource exists.
", - "ListMobileDeviceAccessOverridesRequest$OrganizationId": "The Amazon WorkMail organization under which to list mobile device access overrides.
", - "ListMobileDeviceAccessRulesRequest$OrganizationId": "The Amazon WorkMail organization for which to list the rules.
", + "ListMobileDeviceAccessOverridesRequest$OrganizationId": "The WorkMail organization under which to list mobile device access overrides.
", + "ListMobileDeviceAccessRulesRequest$OrganizationId": "The WorkMail organization for which to list the rules.
", "ListResourceDelegatesRequest$OrganizationId": "The identifier for the organization that contains the resource for which delegates are listed.
", "ListResourcesRequest$OrganizationId": "The identifier for the organization under which the resources exist.
", "ListUsersRequest$OrganizationId": "The identifier for the organization under which the users exist.
", "OrganizationSummary$OrganizationId": "The identifier associated with the organization.
", "PutAccessControlRuleRequest$OrganizationId": "The identifier of the organization.
", "PutEmailMonitoringConfigurationRequest$OrganizationId": "The ID of the organization for which the email monitoring configuration is set.
", - "PutInboundDmarcSettingsRequest$OrganizationId": "The ID of the organization that you are applying the DMARC policy to.
", + "PutInboundDmarcSettingsRequest$OrganizationId": "The ID of the organization that you are applying the DMARC policy to.
", "PutMailboxPermissionsRequest$OrganizationId": "The identifier of the organization under which the user, group, or resource exists.
", - "PutMobileDeviceAccessOverrideRequest$OrganizationId": "Identifies the Amazon WorkMail organization for which you create the override.
", + "PutMobileDeviceAccessOverrideRequest$OrganizationId": "Identifies the WorkMail organization for which you create the override.
", "PutRetentionPolicyRequest$OrganizationId": "The organization ID.
", - "RegisterMailDomainRequest$OrganizationId": "The Amazon WorkMail organization under which you're creating the domain.
", + "RegisterMailDomainRequest$OrganizationId": "The WorkMail organization under which you're creating the domain.
", "RegisterToWorkMailRequest$OrganizationId": "The identifier for the organization under which the user, group, or resource exists.
", "ResetPasswordRequest$OrganizationId": "The identifier of the organization that contains the user for which the password is reset.
", "StartMailboxExportJobRequest$OrganizationId": "The identifier associated with the organization.
", - "TestAvailabilityConfigurationRequest$OrganizationId": "The Amazon WorkMail organization where the availability provider will be tested.
", - "UpdateAvailabilityConfigurationRequest$OrganizationId": "The Amazon WorkMail organization for which the AvailabilityConfiguration
will be updated.
The Amazon WorkMail organization for which to list domains.
", + "TestAvailabilityConfigurationRequest$OrganizationId": "The WorkMail organization where the availability provider will be tested.
", + "UpdateAvailabilityConfigurationRequest$OrganizationId": "The WorkMail organization for which the AvailabilityConfiguration
will be updated.
The WorkMail organization for which to list domains.
", + "UpdateImpersonationRoleRequest$OrganizationId": "The WorkMail organization that contains the impersonation role to update.
", "UpdateMailboxQuotaRequest$OrganizationId": "The identifier for the organization that contains the user for whom to update the mailbox quota.
", - "UpdateMobileDeviceAccessRuleRequest$OrganizationId": "The Amazon WorkMail organization under which the rule will be updated.
", + "UpdateMobileDeviceAccessRuleRequest$OrganizationId": "The WorkMail organization under which the rule will be updated.
", "UpdatePrimaryEmailAddressRequest$OrganizationId": "The organization that contains the user, group, or resource to update.
", "UpdateResourceRequest$OrganizationId": "The identifier associated with the organization for which the resource is updated.
" } @@ -1542,7 +1750,7 @@ "RedactedEwsAvailabilityProvider": { "base": "Describes an EWS based availability provider when returned from the service. It does not contain the password of the endpoint.
", "refs": { - "AvailabilityConfiguration$EwsProvider": "If ProviderType
is EWS
, then this field contains RedactedEwsAvailabilityProvider
. Otherwise, it is not requried.
If ProviderType
is EWS
, then this field contains RedactedEwsAvailabilityProvider
. Otherwise, it is not required.
This user, group, or resource name is not allowed in Amazon WorkMail.
", + "base": "This user, group, or resource name is not allowed in WorkMail.
", "refs": { } }, @@ -1697,7 +1905,7 @@ "Delegate$Id": "The identifier for the user or group associated as the resource's delegate.
", "DeleteOrganizationResponse$State": "The state of the organization.
", "DescribeOrganizationResponse$State": "The state of an organization.
", - "DescribeOrganizationResponse$DirectoryId": "The identifier for the directory associated with an Amazon WorkMail organization.
", + "DescribeOrganizationResponse$DirectoryId": "The identifier for the directory associated with an WorkMail organization.
", "DescribeOrganizationResponse$DirectoryType": "The type of directory associated with the WorkMail organization.
", "DescribeOrganizationResponse$DefaultMailDomain": "The default mail domain associated with the organization.
", "DescribeOrganizationResponse$ErrorMessage": "(Optional) The error message indicating if unexpected behavior was encountered with regards to the organization.
", @@ -1778,6 +1986,13 @@ "Tag$Value": "The value of the tag.
" } }, + "TargetUsers": { + "base": null, + "refs": { + "ImpersonationRule$TargetUsers": "A list of user IDs that match the rule.
", + "ImpersonationRule$NotTargetUsers": "A list of user IDs that don't match the rule.
" + } + }, "TestAvailabilityConfigurationRequest": { "base": null, "refs": { @@ -1802,24 +2017,28 @@ "DescribeOrganizationResponse$CompletedDate": "The date at which the organization became usable in the WorkMail context, in UNIX epoch time format.
", "DescribeResourceResponse$EnabledDate": "The date and time when a resource was enabled for WorkMail, in UNIX epoch time format.
", "DescribeResourceResponse$DisabledDate": "The date and time when a resource was disabled from WorkMail, in UNIX epoch time format.
", - "DescribeUserResponse$EnabledDate": "The date and time at which the user was enabled for Amazon WorkMail usage, in UNIX epoch time format.
", - "DescribeUserResponse$DisabledDate": "The date and time at which the user was disabled for Amazon WorkMail usage, in UNIX epoch time format.
", + "DescribeUserResponse$EnabledDate": "The date and time at which the user was enabled for WorkMailusage, in UNIX epoch time format.
", + "DescribeUserResponse$DisabledDate": "The date and time at which the user was disabled for WorkMail usage, in UNIX epoch time format.
", + "GetImpersonationRoleResponse$DateCreated": "The date when the impersonation role was created.
", + "GetImpersonationRoleResponse$DateModified": "The date when the impersonation role was last modified.
", "GetMobileDeviceAccessOverrideResponse$DateCreated": "The date the override was first created.
", "GetMobileDeviceAccessOverrideResponse$DateModified": "The date the description was last modified.
", - "Group$EnabledDate": "The date indicating when the group was enabled for Amazon WorkMail use.
", - "Group$DisabledDate": "The date indicating when the group was disabled from Amazon WorkMail use.
", + "Group$EnabledDate": "The date indicating when the group was enabled for WorkMail use.
", + "Group$DisabledDate": "The date indicating when the group was disabled from WorkMail use.
", + "ImpersonationRole$DateCreated": "The date when the impersonation role was created.
", + "ImpersonationRole$DateModified": "The date when the impersonation role was last modified.
", "MailboxExportJob$StartTime": "The mailbox export job start timestamp.
", "MailboxExportJob$EndTime": "The mailbox export job end timestamp.
", - "Member$EnabledDate": "The date indicating when the member was enabled for Amazon WorkMail use.
", - "Member$DisabledDate": "The date indicating when the member was disabled from Amazon WorkMail use.
", + "Member$EnabledDate": "The date indicating when the member was enabled for WorkMail use.
", + "Member$DisabledDate": "The date indicating when the member was disabled from WorkMail use.
", "MobileDeviceAccessOverride$DateCreated": "The date the override was first created.
", "MobileDeviceAccessOverride$DateModified": "The date the override was last modified.
", "MobileDeviceAccessRule$DateCreated": "The date and time at which an access rule was created.
", "MobileDeviceAccessRule$DateModified": "The date and time at which an access rule was modified.
", - "Resource$EnabledDate": "The date indicating when the resource was enabled for Amazon WorkMail use.
", - "Resource$DisabledDate": "The date indicating when the resource was disabled from Amazon WorkMail use.
", - "User$EnabledDate": "The date indicating when the user was enabled for Amazon WorkMail use.
", - "User$DisabledDate": "The date indicating when the user was disabled from Amazon WorkMail use.
" + "Resource$EnabledDate": "The date indicating when the resource was enabled for WorkMail use.
", + "Resource$DisabledDate": "The date indicating when the resource was disabled from WorkMail use.
", + "User$EnabledDate": "The date indicating when the user was enabled for WorkMail use.
", + "User$DisabledDate": "The date indicating when the user was disabled from WorkMail use.
" } }, "TooManyTagsException": { @@ -1862,6 +2081,16 @@ "refs": { } }, + "UpdateImpersonationRoleRequest": { + "base": null, + "refs": { + } + }, + "UpdateImpersonationRoleResponse": { + "base": null, + "refs": { + } + }, "UpdateMailboxQuotaRequest": { "base": null, "refs": { @@ -1910,7 +2139,7 @@ } }, "User": { - "base": "The representation of an Amazon WorkMail user.
", + "base": "The representation of an WorkMail user.
", "refs": { "Users$member": null } @@ -1935,7 +2164,7 @@ "UserRole": { "base": null, "refs": { - "DescribeUserResponse$UserRole": "In certain cases, other entities are modeled as users. If interoperability is enabled, resources are imported into Amazon WorkMail as users. Because different WorkMail organizations rely on different directory types, administrators can distinguish between an unregistered user (account is disabled and has a user role) and the directory administrators. The values are USER, RESOURCE, and SYSTEM_USER.
", + "DescribeUserResponse$UserRole": "In certain cases, other entities are modeled as users. If interoperability is enabled, resources are imported into WorkMail as users. Because different WorkMail organizations rely on different directory types, administrators can distinguish between an unregistered user (account is disabled and has a user role) and the directory administrators. The values are USER, RESOURCE, and SYSTEM_USER.
", "User$UserRole": "The role of the user.
" } }, @@ -1948,9 +2177,9 @@ "WorkMailDomainName": { "base": null, "refs": { - "DeregisterMailDomainRequest$DomainName": "The domain to deregister in WorkMail and SES.
", + "DeregisterMailDomainRequest$DomainName": "The domain to deregister in WorkMail and SES.
", "GetMailDomainRequest$DomainName": "The domain from which you want to retrieve details.
", - "RegisterMailDomainRequest$DomainName": "The name of the mail domain to create in Amazon WorkMail and SES.
", + "RegisterMailDomainRequest$DomainName": "The name of the mail domain to create in WorkMail and SES.
", "UpdateDefaultMailDomainRequest$DomainName": "The domain name that will become the default domain.
" } }, diff --git a/models/apis/workmail/2017-10-01/paginators-1.json b/models/apis/workmail/2017-10-01/paginators-1.json index a4ac8bc1f69..6b71db44dac 100644 --- a/models/apis/workmail/2017-10-01/paginators-1.json +++ b/models/apis/workmail/2017-10-01/paginators-1.json @@ -21,6 +21,11 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "ListImpersonationRoles": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListMailDomains": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 0846f66745b..81f0a6f3fbb 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -2020,6 +2020,12 @@ "isRegionalized" : false, "partitionEndpoint" : "aws-global" }, + "cases" : { + "endpoints" : { + "us-east-1" : { }, + "us-west-2" : { } + } + }, "cassandra" : { "endpoints" : { "ap-east-1" : { }, diff --git a/service/connect/api.go b/service/connect/api.go index b2ee11468cb..2a64db48a34 100644 --- a/service/connect/api.go +++ b/service/connect/api.go @@ -45226,6 +45226,9 @@ const ( // IntegrationTypeWisdomKnowledgeBase is a IntegrationType enum value IntegrationTypeWisdomKnowledgeBase = "WISDOM_KNOWLEDGE_BASE" + + // IntegrationTypeCasesDomain is a IntegrationType enum value + IntegrationTypeCasesDomain = "CASES_DOMAIN" ) // IntegrationType_Values returns all elements of the IntegrationType enum @@ -45236,6 +45239,7 @@ func IntegrationType_Values() []string { IntegrationTypePinpointApp, IntegrationTypeWisdomAssistant, IntegrationTypeWisdomKnowledgeBase, + IntegrationTypeCasesDomain, } } diff --git a/service/connectcases/api.go b/service/connectcases/api.go new file mode 100644 index 00000000000..0d29ff2ff91 --- /dev/null +++ b/service/connectcases/api.go @@ -0,0 +1,9743 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package connectcases + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opBatchGetField = "BatchGetField" + +// BatchGetFieldRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetField operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchGetField for more information on using the BatchGetField +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the BatchGetFieldRequest method. +// req, resp := client.BatchGetFieldRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/BatchGetField +func (c *ConnectCases) BatchGetFieldRequest(input *BatchGetFieldInput) (req *request.Request, output *BatchGetFieldOutput) { + op := &request.Operation{ + Name: opBatchGetField, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/fields-batch", + } + + if input == nil { + input = &BatchGetFieldInput{} + } + + output = &BatchGetFieldOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetField API operation for Amazon Connect Cases. +// +// Returns the description for the list of fields in the request parameters. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation BatchGetField for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/BatchGetField +func (c *ConnectCases) BatchGetField(input *BatchGetFieldInput) (*BatchGetFieldOutput, error) { + req, out := c.BatchGetFieldRequest(input) + return out, req.Send() +} + +// BatchGetFieldWithContext is the same as BatchGetField with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetField for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) BatchGetFieldWithContext(ctx aws.Context, input *BatchGetFieldInput, opts ...request.Option) (*BatchGetFieldOutput, error) { + req, out := c.BatchGetFieldRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opBatchPutFieldOptions = "BatchPutFieldOptions" + +// BatchPutFieldOptionsRequest generates a "aws/request.Request" representing the +// client's request for the BatchPutFieldOptions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchPutFieldOptions for more information on using the BatchPutFieldOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the BatchPutFieldOptionsRequest method. +// req, resp := client.BatchPutFieldOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/BatchPutFieldOptions +func (c *ConnectCases) BatchPutFieldOptionsRequest(input *BatchPutFieldOptionsInput) (req *request.Request, output *BatchPutFieldOptionsOutput) { + op := &request.Operation{ + Name: opBatchPutFieldOptions, + HTTPMethod: "PUT", + HTTPPath: "/domains/{domainId}/fields/{fieldId}/options", + } + + if input == nil { + input = &BatchPutFieldOptionsInput{} + } + + output = &BatchPutFieldOptionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchPutFieldOptions API operation for Amazon Connect Cases. +// +// Creates and updates a set of field options for a single select field in a +// Cases domain. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation BatchPutFieldOptions for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ServiceQuotaExceededException +// The service quota has been exceeded. For a list of service quotas, see Amazon +// Connect Service Quotas (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) +// in the Amazon Connect Administrator Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/BatchPutFieldOptions +func (c *ConnectCases) BatchPutFieldOptions(input *BatchPutFieldOptionsInput) (*BatchPutFieldOptionsOutput, error) { + req, out := c.BatchPutFieldOptionsRequest(input) + return out, req.Send() +} + +// BatchPutFieldOptionsWithContext is the same as BatchPutFieldOptions with the addition of +// the ability to pass a context and additional request options. +// +// See BatchPutFieldOptions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) BatchPutFieldOptionsWithContext(ctx aws.Context, input *BatchPutFieldOptionsInput, opts ...request.Option) (*BatchPutFieldOptionsOutput, error) { + req, out := c.BatchPutFieldOptionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateCase = "CreateCase" + +// CreateCaseRequest generates a "aws/request.Request" representing the +// client's request for the CreateCase operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateCase for more information on using the CreateCase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateCaseRequest method. +// req, resp := client.CreateCaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateCase +func (c *ConnectCases) CreateCaseRequest(input *CreateCaseInput) (req *request.Request, output *CreateCaseOutput) { + op := &request.Operation{ + Name: opCreateCase, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/cases", + } + + if input == nil { + input = &CreateCaseInput{} + } + + output = &CreateCaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCase API operation for Amazon Connect Cases. +// +// Creates a case in the specified Cases domain. Case system and custom fields +// are taken as an array id/value pairs with a declared data types. +// +// customer_id is a required field when creating a case. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation CreateCase for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConflictException +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateCase +func (c *ConnectCases) CreateCase(input *CreateCaseInput) (*CreateCaseOutput, error) { + req, out := c.CreateCaseRequest(input) + return out, req.Send() +} + +// CreateCaseWithContext is the same as CreateCase with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCase for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) CreateCaseWithContext(ctx aws.Context, input *CreateCaseInput, opts ...request.Option) (*CreateCaseOutput, error) { + req, out := c.CreateCaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDomain = "CreateDomain" + +// CreateDomainRequest generates a "aws/request.Request" representing the +// client's request for the CreateDomain operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateDomain for more information on using the CreateDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateDomainRequest method. +// req, resp := client.CreateDomainRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateDomain +func (c *ConnectCases) CreateDomainRequest(input *CreateDomainInput) (req *request.Request, output *CreateDomainOutput) { + op := &request.Operation{ + Name: opCreateDomain, + HTTPMethod: "POST", + HTTPPath: "/domains", + } + + if input == nil { + input = &CreateDomainInput{} + } + + output = &CreateDomainOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDomain API operation for Amazon Connect Cases. +// +// Creates a domain, which is a container for all case data, such as cases, +// fields, templates and layouts. Each Amazon Connect instance can be associated +// with only one Cases domain. +// +// This will not associate your connect instance to Cases domain. Instead, use +// the Amazon Connect CreateIntegrationAssociation (https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateIntegrationAssociation.html) +// API. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation CreateDomain for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConflictException +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// - ServiceQuotaExceededException +// The service quota has been exceeded. For a list of service quotas, see Amazon +// Connect Service Quotas (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) +// in the Amazon Connect Administrator Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateDomain +func (c *ConnectCases) CreateDomain(input *CreateDomainInput) (*CreateDomainOutput, error) { + req, out := c.CreateDomainRequest(input) + return out, req.Send() +} + +// CreateDomainWithContext is the same as CreateDomain with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDomain for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) CreateDomainWithContext(ctx aws.Context, input *CreateDomainInput, opts ...request.Option) (*CreateDomainOutput, error) { + req, out := c.CreateDomainRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateField = "CreateField" + +// CreateFieldRequest generates a "aws/request.Request" representing the +// client's request for the CreateField operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateField for more information on using the CreateField +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateFieldRequest method. +// req, resp := client.CreateFieldRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateField +func (c *ConnectCases) CreateFieldRequest(input *CreateFieldInput) (req *request.Request, output *CreateFieldOutput) { + op := &request.Operation{ + Name: opCreateField, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/fields", + } + + if input == nil { + input = &CreateFieldInput{} + } + + output = &CreateFieldOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateField API operation for Amazon Connect Cases. +// +// Creates a field in the Cases domain. This field is used to define the case +// object model (that is, defines what data can be captured on cases) in a Cases +// domain. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation CreateField for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConflictException +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// - ServiceQuotaExceededException +// The service quota has been exceeded. For a list of service quotas, see Amazon +// Connect Service Quotas (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) +// in the Amazon Connect Administrator Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateField +func (c *ConnectCases) CreateField(input *CreateFieldInput) (*CreateFieldOutput, error) { + req, out := c.CreateFieldRequest(input) + return out, req.Send() +} + +// CreateFieldWithContext is the same as CreateField with the addition of +// the ability to pass a context and additional request options. +// +// See CreateField for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) CreateFieldWithContext(ctx aws.Context, input *CreateFieldInput, opts ...request.Option) (*CreateFieldOutput, error) { + req, out := c.CreateFieldRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateLayout = "CreateLayout" + +// CreateLayoutRequest generates a "aws/request.Request" representing the +// client's request for the CreateLayout operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateLayout for more information on using the CreateLayout +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateLayoutRequest method. +// req, resp := client.CreateLayoutRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateLayout +func (c *ConnectCases) CreateLayoutRequest(input *CreateLayoutInput) (req *request.Request, output *CreateLayoutOutput) { + op := &request.Operation{ + Name: opCreateLayout, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/layouts", + } + + if input == nil { + input = &CreateLayoutInput{} + } + + output = &CreateLayoutOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateLayout API operation for Amazon Connect Cases. +// +// Creates a layout in the Cases domain. Layouts define the following configuration +// in the top section and More Info tab of the Cases user interface: +// +// - Fields to display to the users +// +// - Field ordering +// +// Title and Status fields cannot be part of layouts since they are not configurable. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation CreateLayout for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConflictException +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// - ServiceQuotaExceededException +// The service quota has been exceeded. For a list of service quotas, see Amazon +// Connect Service Quotas (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) +// in the Amazon Connect Administrator Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateLayout +func (c *ConnectCases) CreateLayout(input *CreateLayoutInput) (*CreateLayoutOutput, error) { + req, out := c.CreateLayoutRequest(input) + return out, req.Send() +} + +// CreateLayoutWithContext is the same as CreateLayout with the addition of +// the ability to pass a context and additional request options. +// +// See CreateLayout for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) CreateLayoutWithContext(ctx aws.Context, input *CreateLayoutInput, opts ...request.Option) (*CreateLayoutOutput, error) { + req, out := c.CreateLayoutRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateRelatedItem = "CreateRelatedItem" + +// CreateRelatedItemRequest generates a "aws/request.Request" representing the +// client's request for the CreateRelatedItem operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateRelatedItem for more information on using the CreateRelatedItem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateRelatedItemRequest method. +// req, resp := client.CreateRelatedItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateRelatedItem +func (c *ConnectCases) CreateRelatedItemRequest(input *CreateRelatedItemInput) (req *request.Request, output *CreateRelatedItemOutput) { + op := &request.Operation{ + Name: opCreateRelatedItem, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/cases/{caseId}/related-items/", + } + + if input == nil { + input = &CreateRelatedItemInput{} + } + + output = &CreateRelatedItemOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateRelatedItem API operation for Amazon Connect Cases. +// +// Creates a related item (comments, tasks, and contacts) and associates it +// with a case. +// +// A Related Item is a resource that is associated with a case. It may or may +// not have an external identifier linking it to an external resource (for example, +// a contactArn). All Related Items have their own internal identifier, the +// relatedItemArn. Examples of related items include comments and contacts. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation CreateRelatedItem for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ServiceQuotaExceededException +// The service quota has been exceeded. For a list of service quotas, see Amazon +// Connect Service Quotas (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) +// in the Amazon Connect Administrator Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateRelatedItem +func (c *ConnectCases) CreateRelatedItem(input *CreateRelatedItemInput) (*CreateRelatedItemOutput, error) { + req, out := c.CreateRelatedItemRequest(input) + return out, req.Send() +} + +// CreateRelatedItemWithContext is the same as CreateRelatedItem with the addition of +// the ability to pass a context and additional request options. +// +// See CreateRelatedItem for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) CreateRelatedItemWithContext(ctx aws.Context, input *CreateRelatedItemInput, opts ...request.Option) (*CreateRelatedItemOutput, error) { + req, out := c.CreateRelatedItemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTemplate = "CreateTemplate" + +// CreateTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreateTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateTemplate for more information on using the CreateTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateTemplateRequest method. +// req, resp := client.CreateTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateTemplate +func (c *ConnectCases) CreateTemplateRequest(input *CreateTemplateInput) (req *request.Request, output *CreateTemplateOutput) { + op := &request.Operation{ + Name: opCreateTemplate, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/templates", + } + + if input == nil { + input = &CreateTemplateInput{} + } + + output = &CreateTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTemplate API operation for Amazon Connect Cases. +// +// Creates a template in the Cases domain. This template is used to define the +// case object model (that is, define what data can be captured on cases) in +// a Cases domain. A template must have a unique name within a domain, and it +// must reference existing field IDs and layout IDs. Additionally, multiple +// fields with same IDs are not allowed within the same Template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation CreateTemplate for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConflictException +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// - ServiceQuotaExceededException +// The service quota has been exceeded. For a list of service quotas, see Amazon +// Connect Service Quotas (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) +// in the Amazon Connect Administrator Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateTemplate +func (c *ConnectCases) CreateTemplate(input *CreateTemplateInput) (*CreateTemplateOutput, error) { + req, out := c.CreateTemplateRequest(input) + return out, req.Send() +} + +// CreateTemplateWithContext is the same as CreateTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) CreateTemplateWithContext(ctx aws.Context, input *CreateTemplateInput, opts ...request.Option) (*CreateTemplateOutput, error) { + req, out := c.CreateTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCase = "GetCase" + +// GetCaseRequest generates a "aws/request.Request" representing the +// client's request for the GetCase operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCase for more information on using the GetCase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetCaseRequest method. +// req, resp := client.GetCaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetCase +func (c *ConnectCases) GetCaseRequest(input *GetCaseInput) (req *request.Request, output *GetCaseOutput) { + op := &request.Operation{ + Name: opGetCase, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/cases/{caseId}", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetCaseInput{} + } + + output = &GetCaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCase API operation for Amazon Connect Cases. +// +// Returns information about a specific case if it exists. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation GetCase for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetCase +func (c *ConnectCases) GetCase(input *GetCaseInput) (*GetCaseOutput, error) { + req, out := c.GetCaseRequest(input) + return out, req.Send() +} + +// GetCaseWithContext is the same as GetCase with the addition of +// the ability to pass a context and additional request options. +// +// See GetCase for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) GetCaseWithContext(ctx aws.Context, input *GetCaseInput, opts ...request.Option) (*GetCaseOutput, error) { + req, out := c.GetCaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetCasePages iterates over the pages of a GetCase operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetCase 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 GetCase operation. +// pageNum := 0 +// err := client.GetCasePages(params, +// func(page *connectcases.GetCaseOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *ConnectCases) GetCasePages(input *GetCaseInput, fn func(*GetCaseOutput, bool) bool) error { + return c.GetCasePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetCasePagesWithContext same as GetCasePages 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 *ConnectCases) GetCasePagesWithContext(ctx aws.Context, input *GetCaseInput, fn func(*GetCaseOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetCaseInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetCaseRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetCaseOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetCaseEventConfiguration = "GetCaseEventConfiguration" + +// GetCaseEventConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetCaseEventConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCaseEventConfiguration for more information on using the GetCaseEventConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetCaseEventConfigurationRequest method. +// req, resp := client.GetCaseEventConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetCaseEventConfiguration +func (c *ConnectCases) GetCaseEventConfigurationRequest(input *GetCaseEventConfigurationInput) (req *request.Request, output *GetCaseEventConfigurationOutput) { + op := &request.Operation{ + Name: opGetCaseEventConfiguration, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/case-event-configuration", + } + + if input == nil { + input = &GetCaseEventConfigurationInput{} + } + + output = &GetCaseEventConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCaseEventConfiguration API operation for Amazon Connect Cases. +// +// Returns the case event publishing configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation GetCaseEventConfiguration for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetCaseEventConfiguration +func (c *ConnectCases) GetCaseEventConfiguration(input *GetCaseEventConfigurationInput) (*GetCaseEventConfigurationOutput, error) { + req, out := c.GetCaseEventConfigurationRequest(input) + return out, req.Send() +} + +// GetCaseEventConfigurationWithContext is the same as GetCaseEventConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetCaseEventConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) GetCaseEventConfigurationWithContext(ctx aws.Context, input *GetCaseEventConfigurationInput, opts ...request.Option) (*GetCaseEventConfigurationOutput, error) { + req, out := c.GetCaseEventConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDomain = "GetDomain" + +// GetDomainRequest generates a "aws/request.Request" representing the +// client's request for the GetDomain operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDomain for more information on using the GetDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetDomainRequest method. +// req, resp := client.GetDomainRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetDomain +func (c *ConnectCases) GetDomainRequest(input *GetDomainInput) (req *request.Request, output *GetDomainOutput) { + op := &request.Operation{ + Name: opGetDomain, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}", + } + + if input == nil { + input = &GetDomainInput{} + } + + output = &GetDomainOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDomain API operation for Amazon Connect Cases. +// +// Returns information about a specific domain if it exists. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation GetDomain for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetDomain +func (c *ConnectCases) GetDomain(input *GetDomainInput) (*GetDomainOutput, error) { + req, out := c.GetDomainRequest(input) + return out, req.Send() +} + +// GetDomainWithContext is the same as GetDomain with the addition of +// the ability to pass a context and additional request options. +// +// See GetDomain for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) GetDomainWithContext(ctx aws.Context, input *GetDomainInput, opts ...request.Option) (*GetDomainOutput, error) { + req, out := c.GetDomainRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetLayout = "GetLayout" + +// GetLayoutRequest generates a "aws/request.Request" representing the +// client's request for the GetLayout operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetLayout for more information on using the GetLayout +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetLayoutRequest method. +// req, resp := client.GetLayoutRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetLayout +func (c *ConnectCases) GetLayoutRequest(input *GetLayoutInput) (req *request.Request, output *GetLayoutOutput) { + op := &request.Operation{ + Name: opGetLayout, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/layouts/{layoutId}", + } + + if input == nil { + input = &GetLayoutInput{} + } + + output = &GetLayoutOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetLayout API operation for Amazon Connect Cases. +// +// Returns the details for the requested layout. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation GetLayout for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetLayout +func (c *ConnectCases) GetLayout(input *GetLayoutInput) (*GetLayoutOutput, error) { + req, out := c.GetLayoutRequest(input) + return out, req.Send() +} + +// GetLayoutWithContext is the same as GetLayout with the addition of +// the ability to pass a context and additional request options. +// +// See GetLayout for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) GetLayoutWithContext(ctx aws.Context, input *GetLayoutInput, opts ...request.Option) (*GetLayoutOutput, error) { + req, out := c.GetLayoutRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTemplate = "GetTemplate" + +// GetTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetTemplate for more information on using the GetTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetTemplateRequest method. +// req, resp := client.GetTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetTemplate +func (c *ConnectCases) GetTemplateRequest(input *GetTemplateInput) (req *request.Request, output *GetTemplateOutput) { + op := &request.Operation{ + Name: opGetTemplate, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/templates/{templateId}", + } + + if input == nil { + input = &GetTemplateInput{} + } + + output = &GetTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTemplate API operation for Amazon Connect Cases. +// +// Returns the details for the requested template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation GetTemplate for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetTemplate +func (c *ConnectCases) GetTemplate(input *GetTemplateInput) (*GetTemplateOutput, error) { + req, out := c.GetTemplateRequest(input) + return out, req.Send() +} + +// GetTemplateWithContext is the same as GetTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) GetTemplateWithContext(ctx aws.Context, input *GetTemplateInput, opts ...request.Option) (*GetTemplateOutput, error) { + req, out := c.GetTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListCasesForContact = "ListCasesForContact" + +// ListCasesForContactRequest generates a "aws/request.Request" representing the +// client's request for the ListCasesForContact operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListCasesForContact for more information on using the ListCasesForContact +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListCasesForContactRequest method. +// req, resp := client.ListCasesForContactRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListCasesForContact +func (c *ConnectCases) ListCasesForContactRequest(input *ListCasesForContactInput) (req *request.Request, output *ListCasesForContactOutput) { + op := &request.Operation{ + Name: opListCasesForContact, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/list-cases-for-contact", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCasesForContactInput{} + } + + output = &ListCasesForContactOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCasesForContact API operation for Amazon Connect Cases. +// +// Lists cases for a given contact. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation ListCasesForContact for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListCasesForContact +func (c *ConnectCases) ListCasesForContact(input *ListCasesForContactInput) (*ListCasesForContactOutput, error) { + req, out := c.ListCasesForContactRequest(input) + return out, req.Send() +} + +// ListCasesForContactWithContext is the same as ListCasesForContact with the addition of +// the ability to pass a context and additional request options. +// +// See ListCasesForContact for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) ListCasesForContactWithContext(ctx aws.Context, input *ListCasesForContactInput, opts ...request.Option) (*ListCasesForContactOutput, error) { + req, out := c.ListCasesForContactRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCasesForContactPages iterates over the pages of a ListCasesForContact operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCasesForContact 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 ListCasesForContact operation. +// pageNum := 0 +// err := client.ListCasesForContactPages(params, +// func(page *connectcases.ListCasesForContactOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *ConnectCases) ListCasesForContactPages(input *ListCasesForContactInput, fn func(*ListCasesForContactOutput, bool) bool) error { + return c.ListCasesForContactPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCasesForContactPagesWithContext same as ListCasesForContactPages 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 *ConnectCases) ListCasesForContactPagesWithContext(ctx aws.Context, input *ListCasesForContactInput, fn func(*ListCasesForContactOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCasesForContactInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCasesForContactRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCasesForContactOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDomains = "ListDomains" + +// ListDomainsRequest generates a "aws/request.Request" representing the +// client's request for the ListDomains operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDomains for more information on using the ListDomains +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListDomainsRequest method. +// req, resp := client.ListDomainsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListDomains +func (c *ConnectCases) ListDomainsRequest(input *ListDomainsInput) (req *request.Request, output *ListDomainsOutput) { + op := &request.Operation{ + Name: opListDomains, + HTTPMethod: "POST", + HTTPPath: "/domains-list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDomainsInput{} + } + + output = &ListDomainsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDomains API operation for Amazon Connect Cases. +// +// Lists all cases domains in the Amazon Web Services account. Each list item +// is a condensed summary object of the domain. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation ListDomains for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListDomains +func (c *ConnectCases) ListDomains(input *ListDomainsInput) (*ListDomainsOutput, error) { + req, out := c.ListDomainsRequest(input) + return out, req.Send() +} + +// ListDomainsWithContext is the same as ListDomains with the addition of +// the ability to pass a context and additional request options. +// +// See ListDomains for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) ListDomainsWithContext(ctx aws.Context, input *ListDomainsInput, opts ...request.Option) (*ListDomainsOutput, error) { + req, out := c.ListDomainsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDomainsPages iterates over the pages of a ListDomains operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDomains 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 ListDomains operation. +// pageNum := 0 +// err := client.ListDomainsPages(params, +// func(page *connectcases.ListDomainsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *ConnectCases) ListDomainsPages(input *ListDomainsInput, fn func(*ListDomainsOutput, bool) bool) error { + return c.ListDomainsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDomainsPagesWithContext same as ListDomainsPages 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 *ConnectCases) ListDomainsPagesWithContext(ctx aws.Context, input *ListDomainsInput, fn func(*ListDomainsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDomainsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDomainsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDomainsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListFieldOptions = "ListFieldOptions" + +// ListFieldOptionsRequest generates a "aws/request.Request" representing the +// client's request for the ListFieldOptions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListFieldOptions for more information on using the ListFieldOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListFieldOptionsRequest method. +// req, resp := client.ListFieldOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListFieldOptions +func (c *ConnectCases) ListFieldOptionsRequest(input *ListFieldOptionsInput) (req *request.Request, output *ListFieldOptionsOutput) { + op := &request.Operation{ + Name: opListFieldOptions, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/fields/{fieldId}/options-list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListFieldOptionsInput{} + } + + output = &ListFieldOptionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFieldOptions API operation for Amazon Connect Cases. +// +// Lists all of the field options for a field identifier in the domain. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation ListFieldOptions for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListFieldOptions +func (c *ConnectCases) ListFieldOptions(input *ListFieldOptionsInput) (*ListFieldOptionsOutput, error) { + req, out := c.ListFieldOptionsRequest(input) + return out, req.Send() +} + +// ListFieldOptionsWithContext is the same as ListFieldOptions with the addition of +// the ability to pass a context and additional request options. +// +// See ListFieldOptions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) ListFieldOptionsWithContext(ctx aws.Context, input *ListFieldOptionsInput, opts ...request.Option) (*ListFieldOptionsOutput, error) { + req, out := c.ListFieldOptionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListFieldOptionsPages iterates over the pages of a ListFieldOptions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFieldOptions 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 ListFieldOptions operation. +// pageNum := 0 +// err := client.ListFieldOptionsPages(params, +// func(page *connectcases.ListFieldOptionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *ConnectCases) ListFieldOptionsPages(input *ListFieldOptionsInput, fn func(*ListFieldOptionsOutput, bool) bool) error { + return c.ListFieldOptionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListFieldOptionsPagesWithContext same as ListFieldOptionsPages 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 *ConnectCases) ListFieldOptionsPagesWithContext(ctx aws.Context, input *ListFieldOptionsInput, fn func(*ListFieldOptionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFieldOptionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFieldOptionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFieldOptionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListFields = "ListFields" + +// ListFieldsRequest generates a "aws/request.Request" representing the +// client's request for the ListFields operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListFields for more information on using the ListFields +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListFieldsRequest method. +// req, resp := client.ListFieldsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListFields +func (c *ConnectCases) ListFieldsRequest(input *ListFieldsInput) (req *request.Request, output *ListFieldsOutput) { + op := &request.Operation{ + Name: opListFields, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/fields-list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListFieldsInput{} + } + + output = &ListFieldsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFields API operation for Amazon Connect Cases. +// +// Lists all fields in a Cases domain. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation ListFields for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListFields +func (c *ConnectCases) ListFields(input *ListFieldsInput) (*ListFieldsOutput, error) { + req, out := c.ListFieldsRequest(input) + return out, req.Send() +} + +// ListFieldsWithContext is the same as ListFields with the addition of +// the ability to pass a context and additional request options. +// +// See ListFields for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) ListFieldsWithContext(ctx aws.Context, input *ListFieldsInput, opts ...request.Option) (*ListFieldsOutput, error) { + req, out := c.ListFieldsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListFieldsPages iterates over the pages of a ListFields operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFields 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 ListFields operation. +// pageNum := 0 +// err := client.ListFieldsPages(params, +// func(page *connectcases.ListFieldsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *ConnectCases) ListFieldsPages(input *ListFieldsInput, fn func(*ListFieldsOutput, bool) bool) error { + return c.ListFieldsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListFieldsPagesWithContext same as ListFieldsPages 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 *ConnectCases) ListFieldsPagesWithContext(ctx aws.Context, input *ListFieldsInput, fn func(*ListFieldsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFieldsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFieldsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFieldsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListLayouts = "ListLayouts" + +// ListLayoutsRequest generates a "aws/request.Request" representing the +// client's request for the ListLayouts operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListLayouts for more information on using the ListLayouts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListLayoutsRequest method. +// req, resp := client.ListLayoutsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListLayouts +func (c *ConnectCases) ListLayoutsRequest(input *ListLayoutsInput) (req *request.Request, output *ListLayoutsOutput) { + op := &request.Operation{ + Name: opListLayouts, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/layouts-list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListLayoutsInput{} + } + + output = &ListLayoutsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListLayouts API operation for Amazon Connect Cases. +// +// Lists all layouts in the given cases domain. Each list item is a condensed +// summary object of the layout. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation ListLayouts for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListLayouts +func (c *ConnectCases) ListLayouts(input *ListLayoutsInput) (*ListLayoutsOutput, error) { + req, out := c.ListLayoutsRequest(input) + return out, req.Send() +} + +// ListLayoutsWithContext is the same as ListLayouts with the addition of +// the ability to pass a context and additional request options. +// +// See ListLayouts for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) ListLayoutsWithContext(ctx aws.Context, input *ListLayoutsInput, opts ...request.Option) (*ListLayoutsOutput, error) { + req, out := c.ListLayoutsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListLayoutsPages iterates over the pages of a ListLayouts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListLayouts 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 ListLayouts operation. +// pageNum := 0 +// err := client.ListLayoutsPages(params, +// func(page *connectcases.ListLayoutsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *ConnectCases) ListLayoutsPages(input *ListLayoutsInput, fn func(*ListLayoutsOutput, bool) bool) error { + return c.ListLayoutsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListLayoutsPagesWithContext same as ListLayoutsPages 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 *ConnectCases) ListLayoutsPagesWithContext(ctx aws.Context, input *ListLayoutsInput, fn func(*ListLayoutsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListLayoutsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListLayoutsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListLayoutsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListTagsForResource +func (c *ConnectCases) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{arn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon Connect Cases. +// +// Lists tags for a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListTagsForResource +func (c *ConnectCases) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListTemplates = "ListTemplates" + +// ListTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListTemplates operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTemplates for more information on using the ListTemplates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTemplatesRequest method. +// req, resp := client.ListTemplatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListTemplates +func (c *ConnectCases) ListTemplatesRequest(input *ListTemplatesInput) (req *request.Request, output *ListTemplatesOutput) { + op := &request.Operation{ + Name: opListTemplates, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/templates-list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTemplatesInput{} + } + + output = &ListTemplatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTemplates API operation for Amazon Connect Cases. +// +// Lists all of the templates in a Cases domain. Each list item is a condensed +// summary object of the template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation ListTemplates for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListTemplates +func (c *ConnectCases) ListTemplates(input *ListTemplatesInput) (*ListTemplatesOutput, error) { + req, out := c.ListTemplatesRequest(input) + return out, req.Send() +} + +// ListTemplatesWithContext is the same as ListTemplates with the addition of +// the ability to pass a context and additional request options. +// +// See ListTemplates for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) ListTemplatesWithContext(ctx aws.Context, input *ListTemplatesInput, opts ...request.Option) (*ListTemplatesOutput, error) { + req, out := c.ListTemplatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTemplatesPages iterates over the pages of a ListTemplates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTemplates 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 ListTemplates operation. +// pageNum := 0 +// err := client.ListTemplatesPages(params, +// func(page *connectcases.ListTemplatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *ConnectCases) ListTemplatesPages(input *ListTemplatesInput, fn func(*ListTemplatesOutput, bool) bool) error { + return c.ListTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTemplatesPagesWithContext same as ListTemplatesPages 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 *ConnectCases) ListTemplatesPagesWithContext(ctx aws.Context, input *ListTemplatesInput, fn func(*ListTemplatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTemplatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTemplatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTemplatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opPutCaseEventConfiguration = "PutCaseEventConfiguration" + +// PutCaseEventConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the PutCaseEventConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutCaseEventConfiguration for more information on using the PutCaseEventConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the PutCaseEventConfigurationRequest method. +// req, resp := client.PutCaseEventConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/PutCaseEventConfiguration +func (c *ConnectCases) PutCaseEventConfigurationRequest(input *PutCaseEventConfigurationInput) (req *request.Request, output *PutCaseEventConfigurationOutput) { + op := &request.Operation{ + Name: opPutCaseEventConfiguration, + HTTPMethod: "PUT", + HTTPPath: "/domains/{domainId}/case-event-configuration", + } + + if input == nil { + input = &PutCaseEventConfigurationInput{} + } + + output = &PutCaseEventConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutCaseEventConfiguration API operation for Amazon Connect Cases. +// +// # API for adding case event publishing configuration +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation PutCaseEventConfiguration for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/PutCaseEventConfiguration +func (c *ConnectCases) PutCaseEventConfiguration(input *PutCaseEventConfigurationInput) (*PutCaseEventConfigurationOutput, error) { + req, out := c.PutCaseEventConfigurationRequest(input) + return out, req.Send() +} + +// PutCaseEventConfigurationWithContext is the same as PutCaseEventConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See PutCaseEventConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) PutCaseEventConfigurationWithContext(ctx aws.Context, input *PutCaseEventConfigurationInput, opts ...request.Option) (*PutCaseEventConfigurationOutput, error) { + req, out := c.PutCaseEventConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSearchCases = "SearchCases" + +// SearchCasesRequest generates a "aws/request.Request" representing the +// client's request for the SearchCases operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SearchCases for more information on using the SearchCases +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the SearchCasesRequest method. +// req, resp := client.SearchCasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/SearchCases +func (c *ConnectCases) SearchCasesRequest(input *SearchCasesInput) (req *request.Request, output *SearchCasesOutput) { + op := &request.Operation{ + Name: opSearchCases, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/cases-search", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchCasesInput{} + } + + output = &SearchCasesOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchCases API operation for Amazon Connect Cases. +// +// Searches for cases within their associated Cases domain. Search results are +// returned as a paginated list of abridged case documents. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation SearchCases for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/SearchCases +func (c *ConnectCases) SearchCases(input *SearchCasesInput) (*SearchCasesOutput, error) { + req, out := c.SearchCasesRequest(input) + return out, req.Send() +} + +// SearchCasesWithContext is the same as SearchCases with the addition of +// the ability to pass a context and additional request options. +// +// See SearchCases for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) SearchCasesWithContext(ctx aws.Context, input *SearchCasesInput, opts ...request.Option) (*SearchCasesOutput, error) { + req, out := c.SearchCasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchCasesPages iterates over the pages of a SearchCases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchCases 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 SearchCases operation. +// pageNum := 0 +// err := client.SearchCasesPages(params, +// func(page *connectcases.SearchCasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *ConnectCases) SearchCasesPages(input *SearchCasesInput, fn func(*SearchCasesOutput, bool) bool) error { + return c.SearchCasesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchCasesPagesWithContext same as SearchCasesPages 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 *ConnectCases) SearchCasesPagesWithContext(ctx aws.Context, input *SearchCasesInput, fn func(*SearchCasesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchCasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchCasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchCasesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opSearchRelatedItems = "SearchRelatedItems" + +// SearchRelatedItemsRequest generates a "aws/request.Request" representing the +// client's request for the SearchRelatedItems operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SearchRelatedItems for more information on using the SearchRelatedItems +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the SearchRelatedItemsRequest method. +// req, resp := client.SearchRelatedItemsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/SearchRelatedItems +func (c *ConnectCases) SearchRelatedItemsRequest(input *SearchRelatedItemsInput) (req *request.Request, output *SearchRelatedItemsOutput) { + op := &request.Operation{ + Name: opSearchRelatedItems, + HTTPMethod: "POST", + HTTPPath: "/domains/{domainId}/cases/{caseId}/related-items-search", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchRelatedItemsInput{} + } + + output = &SearchRelatedItemsOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchRelatedItems API operation for Amazon Connect Cases. +// +// Searches for related items that are associated with a case. +// +// If no filters are provided, this returns all related items associated with +// a case. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation SearchRelatedItems for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/SearchRelatedItems +func (c *ConnectCases) SearchRelatedItems(input *SearchRelatedItemsInput) (*SearchRelatedItemsOutput, error) { + req, out := c.SearchRelatedItemsRequest(input) + return out, req.Send() +} + +// SearchRelatedItemsWithContext is the same as SearchRelatedItems with the addition of +// the ability to pass a context and additional request options. +// +// See SearchRelatedItems for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) SearchRelatedItemsWithContext(ctx aws.Context, input *SearchRelatedItemsInput, opts ...request.Option) (*SearchRelatedItemsOutput, error) { + req, out := c.SearchRelatedItemsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchRelatedItemsPages iterates over the pages of a SearchRelatedItems operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchRelatedItems 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 SearchRelatedItems operation. +// pageNum := 0 +// err := client.SearchRelatedItemsPages(params, +// func(page *connectcases.SearchRelatedItemsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *ConnectCases) SearchRelatedItemsPages(input *SearchRelatedItemsInput, fn func(*SearchRelatedItemsOutput, bool) bool) error { + return c.SearchRelatedItemsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchRelatedItemsPagesWithContext same as SearchRelatedItemsPages 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 *ConnectCases) SearchRelatedItemsPagesWithContext(ctx aws.Context, input *SearchRelatedItemsInput, fn func(*SearchRelatedItemsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchRelatedItemsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchRelatedItemsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchRelatedItemsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/TagResource +func (c *ConnectCases) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{arn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon Connect Cases. +// +// Adds tags to a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/TagResource +func (c *ConnectCases) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UntagResource +func (c *ConnectCases) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{arn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon Connect Cases. +// +// Untags a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UntagResource +func (c *ConnectCases) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateCase = "UpdateCase" + +// UpdateCaseRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCase operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateCase for more information on using the UpdateCase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateCaseRequest method. +// req, resp := client.UpdateCaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UpdateCase +func (c *ConnectCases) UpdateCaseRequest(input *UpdateCaseInput) (req *request.Request, output *UpdateCaseOutput) { + op := &request.Operation{ + Name: opUpdateCase, + HTTPMethod: "PUT", + HTTPPath: "/domains/{domainId}/cases/{caseId}", + } + + if input == nil { + input = &UpdateCaseInput{} + } + + output = &UpdateCaseOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateCase API operation for Amazon Connect Cases. +// +// Updates the values of fields on a case. Fields to be updated are received +// as an array of id/value pairs identical to the CreateCase input . +// +// If the action is successful, the service sends back an HTTP 200 response +// with an empty HTTP body. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation UpdateCase for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UpdateCase +func (c *ConnectCases) UpdateCase(input *UpdateCaseInput) (*UpdateCaseOutput, error) { + req, out := c.UpdateCaseRequest(input) + return out, req.Send() +} + +// UpdateCaseWithContext is the same as UpdateCase with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCase for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) UpdateCaseWithContext(ctx aws.Context, input *UpdateCaseInput, opts ...request.Option) (*UpdateCaseOutput, error) { + req, out := c.UpdateCaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateField = "UpdateField" + +// UpdateFieldRequest generates a "aws/request.Request" representing the +// client's request for the UpdateField operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateField for more information on using the UpdateField +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateFieldRequest method. +// req, resp := client.UpdateFieldRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UpdateField +func (c *ConnectCases) UpdateFieldRequest(input *UpdateFieldInput) (req *request.Request, output *UpdateFieldOutput) { + op := &request.Operation{ + Name: opUpdateField, + HTTPMethod: "PUT", + HTTPPath: "/domains/{domainId}/fields/{fieldId}", + } + + if input == nil { + input = &UpdateFieldInput{} + } + + output = &UpdateFieldOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateField API operation for Amazon Connect Cases. +// +// Updates the properties of an existing field. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation UpdateField for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConflictException +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UpdateField +func (c *ConnectCases) UpdateField(input *UpdateFieldInput) (*UpdateFieldOutput, error) { + req, out := c.UpdateFieldRequest(input) + return out, req.Send() +} + +// UpdateFieldWithContext is the same as UpdateField with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateField for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) UpdateFieldWithContext(ctx aws.Context, input *UpdateFieldInput, opts ...request.Option) (*UpdateFieldOutput, error) { + req, out := c.UpdateFieldRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLayout = "UpdateLayout" + +// UpdateLayoutRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLayout operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateLayout for more information on using the UpdateLayout +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateLayoutRequest method. +// req, resp := client.UpdateLayoutRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UpdateLayout +func (c *ConnectCases) UpdateLayoutRequest(input *UpdateLayoutInput) (req *request.Request, output *UpdateLayoutOutput) { + op := &request.Operation{ + Name: opUpdateLayout, + HTTPMethod: "PUT", + HTTPPath: "/domains/{domainId}/layouts/{layoutId}", + } + + if input == nil { + input = &UpdateLayoutInput{} + } + + output = &UpdateLayoutOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateLayout API operation for Amazon Connect Cases. +// +// Updates the attributes of an existing layout. +// +// If the action is successful, the service sends back an HTTP 200 response +// with an empty HTTP body. +// +// A ValidationException is returned when you add non-existent fieldIds to a +// layout. +// +// Title and Status fields cannot be part of layouts because they are not configurable. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation UpdateLayout for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConflictException +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UpdateLayout +func (c *ConnectCases) UpdateLayout(input *UpdateLayoutInput) (*UpdateLayoutOutput, error) { + req, out := c.UpdateLayoutRequest(input) + return out, req.Send() +} + +// UpdateLayoutWithContext is the same as UpdateLayout with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLayout for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) UpdateLayoutWithContext(ctx aws.Context, input *UpdateLayoutInput, opts ...request.Option) (*UpdateLayoutOutput, error) { + req, out := c.UpdateLayoutRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTemplate = "UpdateTemplate" + +// UpdateTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateTemplate for more information on using the UpdateTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateTemplateRequest method. +// req, resp := client.UpdateTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UpdateTemplate +func (c *ConnectCases) UpdateTemplateRequest(input *UpdateTemplateInput) (req *request.Request, output *UpdateTemplateOutput) { + op := &request.Operation{ + Name: opUpdateTemplate, + HTTPMethod: "PUT", + HTTPPath: "/domains/{domainId}/templates/{templateId}", + } + + if input == nil { + input = &UpdateTemplateInput{} + } + + output = &UpdateTemplateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateTemplate API operation for Amazon Connect Cases. +// +// Updates the attributes of an existing template. The template attributes that +// can be modified include name, description, layouts, and requiredFields. At +// least one of these attributes must not be null. If a null value is provided +// for a given attribute, that attribute is ignored and its current value is +// preserved. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Cases's +// API operation UpdateTemplate for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// We couldn't process your request because of an issue with the server. Try +// again later. +// +// - ResourceNotFoundException +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +// +// - ValidationException +// The request isn't valid. Check the syntax and try again. +// +// - ThrottlingException +// The rate has been exceeded for this API. Please try again after a few minutes. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConflictException +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UpdateTemplate +func (c *ConnectCases) UpdateTemplate(input *UpdateTemplateInput) (*UpdateTemplateOutput, error) { + req, out := c.UpdateTemplateRequest(input) + return out, req.Send() +} + +// UpdateTemplateWithContext is the same as UpdateTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectCases) UpdateTemplateWithContext(ctx aws.Context, input *UpdateTemplateInput, opts ...request.Option) (*UpdateTemplateOutput, error) { + req, out := c.UpdateTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// You do not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Content specific to BasicLayout type. It configures fields in the top panel +// and More Info tab of agent application. +type BasicLayout struct { + _ struct{} `type:"structure"` + + // This represents sections in a tab of the page layout. + MoreInfo *LayoutSections `locationName:"moreInfo" type:"structure"` + + // This represents sections in a panel of the page layout. + TopPanel *LayoutSections `locationName:"topPanel" 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 BasicLayout) 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 BasicLayout) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BasicLayout) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BasicLayout"} + if s.MoreInfo != nil { + if err := s.MoreInfo.Validate(); err != nil { + invalidParams.AddNested("MoreInfo", err.(request.ErrInvalidParams)) + } + } + if s.TopPanel != nil { + if err := s.TopPanel.Validate(); err != nil { + invalidParams.AddNested("TopPanel", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMoreInfo sets the MoreInfo field's value. +func (s *BasicLayout) SetMoreInfo(v *LayoutSections) *BasicLayout { + s.MoreInfo = v + return s +} + +// SetTopPanel sets the TopPanel field's value. +func (s *BasicLayout) SetTopPanel(v *LayoutSections) *BasicLayout { + s.TopPanel = v + return s +} + +type BatchGetFieldInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // A list of unique field identifiers. + // + // Fields is a required field + Fields []*FieldIdentifier `locationName:"fields" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetFieldInput) 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 BatchGetFieldInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetFieldInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetFieldInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.Fields == nil { + invalidParams.Add(request.NewErrParamRequired("Fields")) + } + if s.Fields != nil && len(s.Fields) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Fields", 1)) + } + if s.Fields != nil { + for i, v := range s.Fields { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Fields", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainId sets the DomainId field's value. +func (s *BatchGetFieldInput) SetDomainId(v string) *BatchGetFieldInput { + s.DomainId = &v + return s +} + +// SetFields sets the Fields field's value. +func (s *BatchGetFieldInput) SetFields(v []*FieldIdentifier) *BatchGetFieldInput { + s.Fields = v + return s +} + +type BatchGetFieldOutput struct { + _ struct{} `type:"structure"` + + // A list of field errors. + // + // Errors is a required field + Errors []*FieldError `locationName:"errors" type:"list" required:"true"` + + // A list of detailed field information. + // + // Fields is a required field + Fields []*GetFieldResponse `locationName:"fields" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetFieldOutput) 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 BatchGetFieldOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchGetFieldOutput) SetErrors(v []*FieldError) *BatchGetFieldOutput { + s.Errors = v + return s +} + +// SetFields sets the Fields field's value. +func (s *BatchGetFieldOutput) SetFields(v []*GetFieldResponse) *BatchGetFieldOutput { + s.Fields = v + return s +} + +type BatchPutFieldOptionsInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // The unique identifier of a field. + // + // FieldId is a required field + FieldId *string `location:"uri" locationName:"fieldId" min:"1" type:"string" required:"true"` + + // A list of FieldOption objects. + // + // Options is a required field + Options []*FieldOption `locationName:"options" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutFieldOptionsInput) 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 BatchPutFieldOptionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchPutFieldOptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchPutFieldOptionsInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.FieldId == nil { + invalidParams.Add(request.NewErrParamRequired("FieldId")) + } + if s.FieldId != nil && len(*s.FieldId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FieldId", 1)) + } + if s.Options == nil { + invalidParams.Add(request.NewErrParamRequired("Options")) + } + if s.Options != nil { + for i, v := range s.Options { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Options", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainId sets the DomainId field's value. +func (s *BatchPutFieldOptionsInput) SetDomainId(v string) *BatchPutFieldOptionsInput { + s.DomainId = &v + return s +} + +// SetFieldId sets the FieldId field's value. +func (s *BatchPutFieldOptionsInput) SetFieldId(v string) *BatchPutFieldOptionsInput { + s.FieldId = &v + return s +} + +// SetOptions sets the Options field's value. +func (s *BatchPutFieldOptionsInput) SetOptions(v []*FieldOption) *BatchPutFieldOptionsInput { + s.Options = v + return s +} + +type BatchPutFieldOptionsOutput struct { + _ struct{} `type:"structure"` + + // A list of field errors. + Errors []*FieldOptionError `locationName:"errors" 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 BatchPutFieldOptionsOutput) 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 BatchPutFieldOptionsOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchPutFieldOptionsOutput) SetErrors(v []*FieldOptionError) *BatchPutFieldOptionsOutput { + s.Errors = v + return s +} + +// Details of what case data is published through the case event stream. +type CaseEventIncludedData struct { + _ struct{} `type:"structure"` + + // List of field identifiers. + // + // Fields is a required field + Fields []*FieldIdentifier `locationName:"fields" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CaseEventIncludedData) 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 CaseEventIncludedData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaseEventIncludedData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaseEventIncludedData"} + if s.Fields == nil { + invalidParams.Add(request.NewErrParamRequired("Fields")) + } + if s.Fields != nil { + for i, v := range s.Fields { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Fields", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFields sets the Fields field's value. +func (s *CaseEventIncludedData) SetFields(v []*FieldIdentifier) *CaseEventIncludedData { + s.Fields = v + return s +} + +// A filter for cases. Only one value can be provided. +type CaseFilter struct { + _ struct{} `type:"structure"` + + // Provides "and all" filtering. + AndAll []*CaseFilter `locationName:"andAll" type:"list"` + + // A list of fields to filter on. + Field *FieldFilter `locationName:"field" type:"structure"` + + // A filter for cases. Only one value can be provided. + Not *CaseFilter `locationName:"not" 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 CaseFilter) 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 CaseFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaseFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaseFilter"} + if s.Field != nil { + if err := s.Field.Validate(); err != nil { + invalidParams.AddNested("Field", err.(request.ErrInvalidParams)) + } + } + if s.Not != nil { + if err := s.Not.Validate(); err != nil { + invalidParams.AddNested("Not", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAndAll sets the AndAll field's value. +func (s *CaseFilter) SetAndAll(v []*CaseFilter) *CaseFilter { + s.AndAll = v + return s +} + +// SetField sets the Field field's value. +func (s *CaseFilter) SetField(v *FieldFilter) *CaseFilter { + s.Field = v + return s +} + +// SetNot sets the Not field's value. +func (s *CaseFilter) SetNot(v *CaseFilter) *CaseFilter { + s.Not = v + return s +} + +// Case summary information. +type CaseSummary struct { + _ struct{} `type:"structure"` + + // A unique identifier of the case. + // + // CaseId is a required field + CaseId *string `locationName:"caseId" min:"1" type:"string" required:"true"` + + // A unique identifier of a template. + // + // TemplateId is a required field + TemplateId *string `locationName:"templateId" 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 CaseSummary) 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 CaseSummary) GoString() string { + return s.String() +} + +// SetCaseId sets the CaseId field's value. +func (s *CaseSummary) SetCaseId(v string) *CaseSummary { + s.CaseId = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *CaseSummary) SetTemplateId(v string) *CaseSummary { + s.TemplateId = &v + return s +} + +// Represents the content of a Comment to be returned to agents. +type CommentContent struct { + _ struct{} `type:"structure"` + + // Text in the body of a Comment on a case. + // + // Body is a required field + Body *string `locationName:"body" min:"1" type:"string" required:"true"` + + // Type of the text in the box of a Comment on a case. + // + // ContentType is a required field + ContentType *string `locationName:"contentType" type:"string" required:"true" enum:"CommentBodyTextType"` +} + +// 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 CommentContent) 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 CommentContent) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CommentContent) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CommentContent"} + if s.Body == nil { + invalidParams.Add(request.NewErrParamRequired("Body")) + } + if s.Body != nil && len(*s.Body) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Body", 1)) + } + if s.ContentType == nil { + invalidParams.Add(request.NewErrParamRequired("ContentType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBody sets the Body field's value. +func (s *CommentContent) SetBody(v string) *CommentContent { + s.Body = &v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *CommentContent) SetContentType(v string) *CommentContent { + s.ContentType = &v + return s +} + +// A filter for related items of type Comment. +type CommentFilter 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 CommentFilter) 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 CommentFilter) GoString() string { + return s.String() +} + +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +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 +} + +// An object that represents an Amazon Connect contact object. +type Contact struct { + _ struct{} `type:"structure"` + + // A unique identifier of a contact in Amazon Connect. + // + // ContactArn is a required field + ContactArn *string `locationName:"contactArn" 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 Contact) 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 Contact) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Contact) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Contact"} + if s.ContactArn == nil { + invalidParams.Add(request.NewErrParamRequired("ContactArn")) + } + if s.ContactArn != nil && len(*s.ContactArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactArn sets the ContactArn field's value. +func (s *Contact) SetContactArn(v string) *Contact { + s.ContactArn = &v + return s +} + +// An object that represents a content of an Amazon Connect contact object. +type ContactContent struct { + _ struct{} `type:"structure"` + + // A list of channels to filter on for related items of type Contact. + // + // Channel is a required field + Channel *string `locationName:"channel" min:"1" type:"string" required:"true"` + + // The difference between the InitiationTimestamp and the DisconnectTimestamp + // of the contact. + // + // ConnectedToSystemTime is a required field + ConnectedToSystemTime *time.Time `locationName:"connectedToSystemTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // A unique identifier of a contact in Amazon Connect. + // + // ContactArn is a required field + ContactArn *string `locationName:"contactArn" 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 ContactContent) 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 ContactContent) GoString() string { + return s.String() +} + +// SetChannel sets the Channel field's value. +func (s *ContactContent) SetChannel(v string) *ContactContent { + s.Channel = &v + return s +} + +// SetConnectedToSystemTime sets the ConnectedToSystemTime field's value. +func (s *ContactContent) SetConnectedToSystemTime(v time.Time) *ContactContent { + s.ConnectedToSystemTime = &v + return s +} + +// SetContactArn sets the ContactArn field's value. +func (s *ContactContent) SetContactArn(v string) *ContactContent { + s.ContactArn = &v + return s +} + +// A filter for related items of type Contact. +type ContactFilter struct { + _ struct{} `type:"structure"` + + // A list of channels to filter on for related items of type Contact. + Channel []*string `locationName:"channel" type:"list"` + + // A unique identifier of a contact in Amazon Connect. + ContactArn *string `locationName:"contactArn" 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 ContactFilter) 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 ContactFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContactFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContactFilter"} + if s.ContactArn != nil && len(*s.ContactArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannel sets the Channel field's value. +func (s *ContactFilter) SetChannel(v []*string) *ContactFilter { + s.Channel = v + return s +} + +// SetContactArn sets the ContactArn field's value. +func (s *ContactFilter) SetContactArn(v string) *ContactFilter { + s.ContactArn = &v + return s +} + +type CreateCaseInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // An array of objects with field ID (matching ListFields/DescribeField) and + // value union data. + // + // Fields is a required field + Fields []*FieldValue `locationName:"fields" type:"list" required:"true"` + + // A unique identifier of a template. + // + // TemplateId is a required field + TemplateId *string `locationName:"templateId" 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 CreateCaseInput) 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 CreateCaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCaseInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.Fields == nil { + invalidParams.Add(request.NewErrParamRequired("Fields")) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + if s.Fields != nil { + for i, v := range s.Fields { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Fields", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateCaseInput) SetClientToken(v string) *CreateCaseInput { + s.ClientToken = &v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *CreateCaseInput) SetDomainId(v string) *CreateCaseInput { + s.DomainId = &v + return s +} + +// SetFields sets the Fields field's value. +func (s *CreateCaseInput) SetFields(v []*FieldValue) *CreateCaseInput { + s.Fields = v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *CreateCaseInput) SetTemplateId(v string) *CreateCaseInput { + s.TemplateId = &v + return s +} + +type CreateCaseOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the case. + // + // CaseArn is a required field + CaseArn *string `locationName:"caseArn" min:"1" type:"string" required:"true"` + + // A unique identifier of the case. + // + // CaseId is a required field + CaseId *string `locationName:"caseId" 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 CreateCaseOutput) 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 CreateCaseOutput) GoString() string { + return s.String() +} + +// SetCaseArn sets the CaseArn field's value. +func (s *CreateCaseOutput) SetCaseArn(v string) *CreateCaseOutput { + s.CaseArn = &v + return s +} + +// SetCaseId sets the CaseId field's value. +func (s *CreateCaseOutput) SetCaseId(v string) *CreateCaseOutput { + s.CaseId = &v + return s +} + +type CreateDomainInput struct { + _ struct{} `type:"structure"` + + // The name for your Cases domain. It must be unique for your Amazon Web Services + // account. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateDomainInput) 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 CreateDomainInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *CreateDomainInput) SetName(v string) *CreateDomainInput { + s.Name = &v + return s +} + +type CreateDomainOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the Cases domain. + // + // DomainArn is a required field + DomainArn *string `locationName:"domainArn" min:"1" type:"string" required:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `locationName:"domainId" min:"1" type:"string" required:"true"` + + // The status of the domain. + // + // DomainStatus is a required field + DomainStatus *string `locationName:"domainStatus" type:"string" required:"true" enum:"DomainStatus"` +} + +// 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 CreateDomainOutput) 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 CreateDomainOutput) GoString() string { + return s.String() +} + +// SetDomainArn sets the DomainArn field's value. +func (s *CreateDomainOutput) SetDomainArn(v string) *CreateDomainOutput { + s.DomainArn = &v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *CreateDomainOutput) SetDomainId(v string) *CreateDomainOutput { + s.DomainId = &v + return s +} + +// SetDomainStatus sets the DomainStatus field's value. +func (s *CreateDomainOutput) SetDomainStatus(v string) *CreateDomainOutput { + s.DomainStatus = &v + return s +} + +type CreateFieldInput struct { + _ struct{} `type:"structure"` + + // The description of the field. + Description *string `locationName:"description" type:"string"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // The name of the field. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // Defines the data type, some system constraints, and default display of the + // field. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"FieldType"` +} + +// 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 CreateFieldInput) 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 CreateFieldInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFieldInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFieldInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateFieldInput) SetDescription(v string) *CreateFieldInput { + s.Description = &v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *CreateFieldInput) SetDomainId(v string) *CreateFieldInput { + s.DomainId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateFieldInput) SetName(v string) *CreateFieldInput { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *CreateFieldInput) SetType(v string) *CreateFieldInput { + s.Type = &v + return s +} + +type CreateFieldOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the field. + // + // FieldArn is a required field + FieldArn *string `locationName:"fieldArn" min:"1" type:"string" required:"true"` + + // The unique identifier of a field. + // + // FieldId is a required field + FieldId *string `locationName:"fieldId" 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 CreateFieldOutput) 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 CreateFieldOutput) GoString() string { + return s.String() +} + +// SetFieldArn sets the FieldArn field's value. +func (s *CreateFieldOutput) SetFieldArn(v string) *CreateFieldOutput { + s.FieldArn = &v + return s +} + +// SetFieldId sets the FieldId field's value. +func (s *CreateFieldOutput) SetFieldId(v string) *CreateFieldOutput { + s.FieldId = &v + return s +} + +type CreateLayoutInput struct { + _ struct{} `type:"structure"` + + // Information about which fields will be present in the layout, and information + // about the order of the fields. + // + // Content is a required field + Content *LayoutContent `locationName:"content" type:"structure" required:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // The name of the layout. It must be unique for the Cases domain. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLayoutInput) 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 CreateLayoutInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLayoutInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLayoutInput"} + if s.Content == nil { + invalidParams.Add(request.NewErrParamRequired("Content")) + } + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Content != nil { + if err := s.Content.Validate(); err != nil { + invalidParams.AddNested("Content", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContent sets the Content field's value. +func (s *CreateLayoutInput) SetContent(v *LayoutContent) *CreateLayoutInput { + s.Content = v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *CreateLayoutInput) SetDomainId(v string) *CreateLayoutInput { + s.DomainId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateLayoutInput) SetName(v string) *CreateLayoutInput { + s.Name = &v + return s +} + +type CreateLayoutOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the newly created layout. + // + // LayoutArn is a required field + LayoutArn *string `locationName:"layoutArn" min:"1" type:"string" required:"true"` + + // The unique identifier of the layout. + // + // LayoutId is a required field + LayoutId *string `locationName:"layoutId" 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 CreateLayoutOutput) 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 CreateLayoutOutput) GoString() string { + return s.String() +} + +// SetLayoutArn sets the LayoutArn field's value. +func (s *CreateLayoutOutput) SetLayoutArn(v string) *CreateLayoutOutput { + s.LayoutArn = &v + return s +} + +// SetLayoutId sets the LayoutId field's value. +func (s *CreateLayoutOutput) SetLayoutId(v string) *CreateLayoutOutput { + s.LayoutId = &v + return s +} + +type CreateRelatedItemInput struct { + _ struct{} `type:"structure"` + + // A unique identifier of the case. + // + // CaseId is a required field + CaseId *string `location:"uri" locationName:"caseId" min:"1" type:"string" required:"true"` + + // The content of a related item to be created. + // + // Content is a required field + Content *RelatedItemInputContent `locationName:"content" type:"structure" required:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // The type of a related item. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"RelatedItemType"` +} + +// 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 CreateRelatedItemInput) 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 CreateRelatedItemInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateRelatedItemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRelatedItemInput"} + if s.CaseId == nil { + invalidParams.Add(request.NewErrParamRequired("CaseId")) + } + if s.CaseId != nil && len(*s.CaseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CaseId", 1)) + } + if s.Content == nil { + invalidParams.Add(request.NewErrParamRequired("Content")) + } + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Content != nil { + if err := s.Content.Validate(); err != nil { + invalidParams.AddNested("Content", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCaseId sets the CaseId field's value. +func (s *CreateRelatedItemInput) SetCaseId(v string) *CreateRelatedItemInput { + s.CaseId = &v + return s +} + +// SetContent sets the Content field's value. +func (s *CreateRelatedItemInput) SetContent(v *RelatedItemInputContent) *CreateRelatedItemInput { + s.Content = v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *CreateRelatedItemInput) SetDomainId(v string) *CreateRelatedItemInput { + s.DomainId = &v + return s +} + +// SetType sets the Type field's value. +func (s *CreateRelatedItemInput) SetType(v string) *CreateRelatedItemInput { + s.Type = &v + return s +} + +type CreateRelatedItemOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the related item. + // + // RelatedItemArn is a required field + RelatedItemArn *string `locationName:"relatedItemArn" min:"1" type:"string" required:"true"` + + // The unique identifier of the related item. + // + // RelatedItemId is a required field + RelatedItemId *string `locationName:"relatedItemId" 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 CreateRelatedItemOutput) 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 CreateRelatedItemOutput) GoString() string { + return s.String() +} + +// SetRelatedItemArn sets the RelatedItemArn field's value. +func (s *CreateRelatedItemOutput) SetRelatedItemArn(v string) *CreateRelatedItemOutput { + s.RelatedItemArn = &v + return s +} + +// SetRelatedItemId sets the RelatedItemId field's value. +func (s *CreateRelatedItemOutput) SetRelatedItemId(v string) *CreateRelatedItemOutput { + s.RelatedItemId = &v + return s +} + +type CreateTemplateInput struct { + _ struct{} `type:"structure"` + + // A brief description of the template. + Description *string `locationName:"description" type:"string"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // Configuration of layouts associated to the template. + LayoutConfiguration *LayoutConfiguration `locationName:"layoutConfiguration" type:"structure"` + + // A name for the template. It must be unique per domain. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // A list of fields that must contain a value for a case to be successfully + // created with this template. + RequiredFields []*RequiredField `locationName:"requiredFields" 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 CreateTemplateInput) 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 CreateTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTemplateInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.LayoutConfiguration != nil { + if err := s.LayoutConfiguration.Validate(); err != nil { + invalidParams.AddNested("LayoutConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.RequiredFields != nil { + for i, v := range s.RequiredFields { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RequiredFields", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateTemplateInput) SetDescription(v string) *CreateTemplateInput { + s.Description = &v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *CreateTemplateInput) SetDomainId(v string) *CreateTemplateInput { + s.DomainId = &v + return s +} + +// SetLayoutConfiguration sets the LayoutConfiguration field's value. +func (s *CreateTemplateInput) SetLayoutConfiguration(v *LayoutConfiguration) *CreateTemplateInput { + s.LayoutConfiguration = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateTemplateInput) SetName(v string) *CreateTemplateInput { + s.Name = &v + return s +} + +// SetRequiredFields sets the RequiredFields field's value. +func (s *CreateTemplateInput) SetRequiredFields(v []*RequiredField) *CreateTemplateInput { + s.RequiredFields = v + return s +} + +type CreateTemplateOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the newly created template. + // + // TemplateArn is a required field + TemplateArn *string `locationName:"templateArn" min:"1" type:"string" required:"true"` + + // A unique identifier of a template. + // + // TemplateId is a required field + TemplateId *string `locationName:"templateId" 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 CreateTemplateOutput) 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 CreateTemplateOutput) GoString() string { + return s.String() +} + +// SetTemplateArn sets the TemplateArn field's value. +func (s *CreateTemplateOutput) SetTemplateArn(v string) *CreateTemplateOutput { + s.TemplateArn = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *CreateTemplateOutput) SetTemplateId(v string) *CreateTemplateOutput { + s.TemplateId = &v + return s +} + +// Object for the summarized details of the domain. +type DomainSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the domain. + // + // DomainArn is a required field + DomainArn *string `locationName:"domainArn" min:"1" type:"string" required:"true"` + + // The unique identifier of the domain. + // + // DomainId is a required field + DomainId *string `locationName:"domainId" min:"1" type:"string" required:"true"` + + // The name of the domain. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DomainSummary) 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 DomainSummary) GoString() string { + return s.String() +} + +// SetDomainArn sets the DomainArn field's value. +func (s *DomainSummary) SetDomainArn(v string) *DomainSummary { + s.DomainArn = &v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *DomainSummary) SetDomainId(v string) *DomainSummary { + s.DomainId = &v + return s +} + +// SetName sets the Name field's value. +func (s *DomainSummary) SetName(v string) *DomainSummary { + s.Name = &v + return s +} + +// Configuration to enable EventBridge case event delivery and determine what +// data is delivered. +type EventBridgeConfiguration struct { + _ struct{} `type:"structure"` + + // Indicates whether the to broadcast case event data to the customer. + // + // Enabled is a required field + Enabled *bool `locationName:"enabled" type:"boolean" required:"true"` + + // Details of what case and related item data is published through the case + // event stream. + IncludedData *EventIncludedData `locationName:"includedData" 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 EventBridgeConfiguration) 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 EventBridgeConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EventBridgeConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EventBridgeConfiguration"} + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + if s.IncludedData != nil { + if err := s.IncludedData.Validate(); err != nil { + invalidParams.AddNested("IncludedData", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *EventBridgeConfiguration) SetEnabled(v bool) *EventBridgeConfiguration { + s.Enabled = &v + return s +} + +// SetIncludedData sets the IncludedData field's value. +func (s *EventBridgeConfiguration) SetIncludedData(v *EventIncludedData) *EventBridgeConfiguration { + s.IncludedData = v + return s +} + +// Details of what case and related item data is published through the case +// event stream. +type EventIncludedData struct { + _ struct{} `type:"structure"` + + // Details of what case data is published through the case event stream. + CaseData *CaseEventIncludedData `locationName:"caseData" type:"structure"` + + // Details of what related item data is published through the case event stream. + RelatedItemData *RelatedItemEventIncludedData `locationName:"relatedItemData" 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 EventIncludedData) 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 EventIncludedData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EventIncludedData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EventIncludedData"} + if s.CaseData != nil { + if err := s.CaseData.Validate(); err != nil { + invalidParams.AddNested("CaseData", err.(request.ErrInvalidParams)) + } + } + if s.RelatedItemData != nil { + if err := s.RelatedItemData.Validate(); err != nil { + invalidParams.AddNested("RelatedItemData", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCaseData sets the CaseData field's value. +func (s *EventIncludedData) SetCaseData(v *CaseEventIncludedData) *EventIncludedData { + s.CaseData = v + return s +} + +// SetRelatedItemData sets the RelatedItemData field's value. +func (s *EventIncludedData) SetRelatedItemData(v *RelatedItemEventIncludedData) *EventIncludedData { + s.RelatedItemData = v + return s +} + +// Object for errors on fields. +type FieldError struct { + _ struct{} `type:"structure"` + + // The error code from getting a field. + // + // ErrorCode is a required field + ErrorCode *string `locationName:"errorCode" type:"string" required:"true"` + + // The field identifier that caused the error. + // + // Id is a required field + Id *string `locationName:"id" min:"1" type:"string" required:"true"` + + // The error message from getting a field. + 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 FieldError) 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 FieldError) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *FieldError) SetErrorCode(v string) *FieldError { + s.ErrorCode = &v + return s +} + +// SetId sets the Id field's value. +func (s *FieldError) SetId(v string) *FieldError { + s.Id = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *FieldError) SetMessage(v string) *FieldError { + s.Message = &v + return s +} + +// A filter for fields. Only one value can be provided. +type FieldFilter struct { + _ struct{} `type:"structure"` + + // Object containing field identifier and value information. + Contains *FieldValue `locationName:"contains" type:"structure"` + + // Object containing field identifier and value information. + EqualTo *FieldValue `locationName:"equalTo" type:"structure"` + + // Object containing field identifier and value information. + GreaterThan *FieldValue `locationName:"greaterThan" type:"structure"` + + // Object containing field identifier and value information. + GreaterThanOrEqualTo *FieldValue `locationName:"greaterThanOrEqualTo" type:"structure"` + + // Object containing field identifier and value information. + LessThan *FieldValue `locationName:"lessThan" type:"structure"` + + // Object containing field identifier and value information. + LessThanOrEqualTo *FieldValue `locationName:"lessThanOrEqualTo" 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 FieldFilter) 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 FieldFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FieldFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FieldFilter"} + if s.Contains != nil { + if err := s.Contains.Validate(); err != nil { + invalidParams.AddNested("Contains", err.(request.ErrInvalidParams)) + } + } + if s.EqualTo != nil { + if err := s.EqualTo.Validate(); err != nil { + invalidParams.AddNested("EqualTo", err.(request.ErrInvalidParams)) + } + } + if s.GreaterThan != nil { + if err := s.GreaterThan.Validate(); err != nil { + invalidParams.AddNested("GreaterThan", err.(request.ErrInvalidParams)) + } + } + if s.GreaterThanOrEqualTo != nil { + if err := s.GreaterThanOrEqualTo.Validate(); err != nil { + invalidParams.AddNested("GreaterThanOrEqualTo", err.(request.ErrInvalidParams)) + } + } + if s.LessThan != nil { + if err := s.LessThan.Validate(); err != nil { + invalidParams.AddNested("LessThan", err.(request.ErrInvalidParams)) + } + } + if s.LessThanOrEqualTo != nil { + if err := s.LessThanOrEqualTo.Validate(); err != nil { + invalidParams.AddNested("LessThanOrEqualTo", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContains sets the Contains field's value. +func (s *FieldFilter) SetContains(v *FieldValue) *FieldFilter { + s.Contains = v + return s +} + +// SetEqualTo sets the EqualTo field's value. +func (s *FieldFilter) SetEqualTo(v *FieldValue) *FieldFilter { + s.EqualTo = v + return s +} + +// SetGreaterThan sets the GreaterThan field's value. +func (s *FieldFilter) SetGreaterThan(v *FieldValue) *FieldFilter { + s.GreaterThan = v + return s +} + +// SetGreaterThanOrEqualTo sets the GreaterThanOrEqualTo field's value. +func (s *FieldFilter) SetGreaterThanOrEqualTo(v *FieldValue) *FieldFilter { + s.GreaterThanOrEqualTo = v + return s +} + +// SetLessThan sets the LessThan field's value. +func (s *FieldFilter) SetLessThan(v *FieldValue) *FieldFilter { + s.LessThan = v + return s +} + +// SetLessThanOrEqualTo sets the LessThanOrEqualTo field's value. +func (s *FieldFilter) SetLessThanOrEqualTo(v *FieldValue) *FieldFilter { + s.LessThanOrEqualTo = v + return s +} + +// Object for a group of fields and associated properties. +type FieldGroup struct { + _ struct{} `type:"structure"` + + // Represents an ordered list containing field related information. + // + // Fields is a required field + Fields []*FieldItem `locationName:"fields" type:"list" required:"true"` + + // Name of the field group. + Name *string `locationName:"name" 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 FieldGroup) 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 FieldGroup) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FieldGroup) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FieldGroup"} + if s.Fields == nil { + invalidParams.Add(request.NewErrParamRequired("Fields")) + } + if s.Fields != nil { + for i, v := range s.Fields { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Fields", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFields sets the Fields field's value. +func (s *FieldGroup) SetFields(v []*FieldItem) *FieldGroup { + s.Fields = v + return s +} + +// SetName sets the Name field's value. +func (s *FieldGroup) SetName(v string) *FieldGroup { + s.Name = &v + return s +} + +// Object for unique identifier of a field. +type FieldIdentifier struct { + _ struct{} `type:"structure"` + + // Unique identifier of a field. + // + // Id is a required field + Id *string `locationName:"id" 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 FieldIdentifier) 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 FieldIdentifier) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FieldIdentifier) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FieldIdentifier"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *FieldIdentifier) SetId(v string) *FieldIdentifier { + s.Id = &v + return s +} + +// Object for field related information. +type FieldItem struct { + _ struct{} `type:"structure"` + + // Unique identifier of a field. + // + // Id is a required field + Id *string `locationName:"id" 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 FieldItem) 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 FieldItem) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FieldItem) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FieldItem"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *FieldItem) SetId(v string) *FieldItem { + s.Id = &v + return s +} + +// Object for field Options information. +type FieldOption struct { + _ struct{} `type:"structure"` + + // Describes whether the FieldOption is active (displayed) or inactive. + // + // Active is a required field + Active *bool `locationName:"active" type:"boolean" required:"true"` + + // FieldOptionName has max length 100 and disallows trailing spaces. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // FieldOptionValue has max length 100 and must be alphanumeric with hyphens + // and underscores. + // + // Value is a required field + Value *string `locationName:"value" 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 FieldOption) 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 FieldOption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FieldOption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FieldOption"} + if s.Active == nil { + invalidParams.Add(request.NewErrParamRequired("Active")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActive sets the Active field's value. +func (s *FieldOption) SetActive(v bool) *FieldOption { + s.Active = &v + return s +} + +// SetName sets the Name field's value. +func (s *FieldOption) SetName(v string) *FieldOption { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *FieldOption) SetValue(v string) *FieldOption { + s.Value = &v + return s +} + +// Object for field Options errors. +type FieldOptionError struct { + _ struct{} `type:"structure"` + + // Error code from creating or updating field option. + // + // ErrorCode is a required field + ErrorCode *string `locationName:"errorCode" type:"string" required:"true"` + + // Error message from creating or updating field option. + // + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` + + // The field option value that caused the error. + // + // Value is a required field + Value *string `locationName:"value" 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 FieldOptionError) 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 FieldOptionError) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *FieldOptionError) SetErrorCode(v string) *FieldOptionError { + s.ErrorCode = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *FieldOptionError) SetMessage(v string) *FieldOptionError { + s.Message = &v + return s +} + +// SetValue sets the Value field's value. +func (s *FieldOptionError) SetValue(v string) *FieldOptionError { + s.Value = &v + return s +} + +// Object for the summarized details of the field. +type FieldSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the field. + // + // FieldArn is a required field + FieldArn *string `locationName:"fieldArn" min:"1" type:"string" required:"true"` + + // The unique identifier of a field. + // + // FieldId is a required field + FieldId *string `locationName:"fieldId" min:"1" type:"string" required:"true"` + + // Name of the field. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The namespace of a field. + // + // Namespace is a required field + Namespace *string `locationName:"namespace" type:"string" required:"true" enum:"FieldNamespace"` + + // The type of a field. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"FieldType"` +} + +// 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 FieldSummary) 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 FieldSummary) GoString() string { + return s.String() +} + +// SetFieldArn sets the FieldArn field's value. +func (s *FieldSummary) SetFieldArn(v string) *FieldSummary { + s.FieldArn = &v + return s +} + +// SetFieldId sets the FieldId field's value. +func (s *FieldSummary) SetFieldId(v string) *FieldSummary { + s.FieldId = &v + return s +} + +// SetName sets the Name field's value. +func (s *FieldSummary) SetName(v string) *FieldSummary { + s.Name = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *FieldSummary) SetNamespace(v string) *FieldSummary { + s.Namespace = &v + return s +} + +// SetType sets the Type field's value. +func (s *FieldSummary) SetType(v string) *FieldSummary { + s.Type = &v + return s +} + +// Object for case field values. +type FieldValue struct { + _ struct{} `type:"structure"` + + // Unique identifier of a field. + // + // Id is a required field + Id *string `locationName:"id" min:"1" type:"string" required:"true"` + + // Union of potential field value types. + // + // Value is a required field + Value *FieldValueUnion `locationName:"value" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FieldValue) 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 FieldValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FieldValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FieldValue"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *FieldValue) SetId(v string) *FieldValue { + s.Id = &v + return s +} + +// SetValue sets the Value field's value. +func (s *FieldValue) SetValue(v *FieldValueUnion) *FieldValue { + s.Value = v + return s +} + +// Object to store union of Field values. +type FieldValueUnion struct { + _ struct{} `type:"structure"` + + // Can be either null, or have a Boolean value type. Only one value can be provided. + BooleanValue *bool `locationName:"booleanValue" type:"boolean"` + + // Can be either null, or have a Double number value type. Only one value can + // be provided. + DoubleValue *float64 `locationName:"doubleValue" type:"double"` + + // String value type. + StringValue *string `locationName:"stringValue" 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 FieldValueUnion) 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 FieldValueUnion) GoString() string { + return s.String() +} + +// SetBooleanValue sets the BooleanValue field's value. +func (s *FieldValueUnion) SetBooleanValue(v bool) *FieldValueUnion { + s.BooleanValue = &v + return s +} + +// SetDoubleValue sets the DoubleValue field's value. +func (s *FieldValueUnion) SetDoubleValue(v float64) *FieldValueUnion { + s.DoubleValue = &v + return s +} + +// SetStringValue sets the StringValue field's value. +func (s *FieldValueUnion) SetStringValue(v string) *FieldValueUnion { + s.StringValue = &v + return s +} + +type GetCaseEventConfigurationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" 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 GetCaseEventConfigurationInput) 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 GetCaseEventConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCaseEventConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCaseEventConfigurationInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainId sets the DomainId field's value. +func (s *GetCaseEventConfigurationInput) SetDomainId(v string) *GetCaseEventConfigurationInput { + s.DomainId = &v + return s +} + +type GetCaseEventConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Configuration to enable EventBridge case event delivery and determine what + // data is delivered. + // + // EventBridge is a required field + EventBridge *EventBridgeConfiguration `locationName:"eventBridge" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCaseEventConfigurationOutput) 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 GetCaseEventConfigurationOutput) GoString() string { + return s.String() +} + +// SetEventBridge sets the EventBridge field's value. +func (s *GetCaseEventConfigurationOutput) SetEventBridge(v *EventBridgeConfiguration) *GetCaseEventConfigurationOutput { + s.EventBridge = v + return s +} + +type GetCaseInput struct { + _ struct{} `type:"structure"` + + // A unique identifier of the case. + // + // CaseId is a required field + CaseId *string `location:"uri" locationName:"caseId" min:"1" type:"string" required:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // A list of unique field identifiers. + // + // Fields is a required field + Fields []*FieldIdentifier `locationName:"fields" min:"1" type:"list" required:"true"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCaseInput) 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 GetCaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCaseInput"} + if s.CaseId == nil { + invalidParams.Add(request.NewErrParamRequired("CaseId")) + } + if s.CaseId != nil && len(*s.CaseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CaseId", 1)) + } + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.Fields == nil { + invalidParams.Add(request.NewErrParamRequired("Fields")) + } + if s.Fields != nil && len(s.Fields) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Fields", 1)) + } + if s.Fields != nil { + for i, v := range s.Fields { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Fields", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCaseId sets the CaseId field's value. +func (s *GetCaseInput) SetCaseId(v string) *GetCaseInput { + s.CaseId = &v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *GetCaseInput) SetDomainId(v string) *GetCaseInput { + s.DomainId = &v + return s +} + +// SetFields sets the Fields field's value. +func (s *GetCaseInput) SetFields(v []*FieldIdentifier) *GetCaseInput { + s.Fields = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetCaseInput) SetNextToken(v string) *GetCaseInput { + s.NextToken = &v + return s +} + +type GetCaseOutput struct { + _ struct{} `type:"structure"` + + // A list of detailed field information. + // + // Fields is a required field + Fields []*FieldValue `locationName:"fields" type:"list" required:"true"` + + // The token for the next set of results. This is null if there are no more + // results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // A map of of key-value pairs that represent tags on a resource. Tags are used + // to organize, track, or control access for this resource. + Tags map[string]*string `locationName:"tags" type:"map"` + + // A unique identifier of a template. + // + // TemplateId is a required field + TemplateId *string `locationName:"templateId" 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 GetCaseOutput) 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 GetCaseOutput) GoString() string { + return s.String() +} + +// SetFields sets the Fields field's value. +func (s *GetCaseOutput) SetFields(v []*FieldValue) *GetCaseOutput { + s.Fields = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetCaseOutput) SetNextToken(v string) *GetCaseOutput { + s.NextToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetCaseOutput) SetTags(v map[string]*string) *GetCaseOutput { + s.Tags = v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *GetCaseOutput) SetTemplateId(v string) *GetCaseOutput { + s.TemplateId = &v + return s +} + +type GetDomainInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" 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 GetDomainInput) 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 GetDomainInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDomainInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainId sets the DomainId field's value. +func (s *GetDomainInput) SetDomainId(v string) *GetDomainInput { + s.DomainId = &v + return s +} + +type GetDomainOutput struct { + _ struct{} `type:"structure"` + + // The timestamp when the Cases domain was created. + // + // CreatedTime is a required field + CreatedTime *time.Time `locationName:"createdTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The Amazon Resource Name (ARN) for the Cases domain. + // + // DomainArn is a required field + DomainArn *string `locationName:"domainArn" min:"1" type:"string" required:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `locationName:"domainId" min:"1" type:"string" required:"true"` + + // The status of the Cases domain. + // + // DomainStatus is a required field + DomainStatus *string `locationName:"domainStatus" type:"string" required:"true" enum:"DomainStatus"` + + // The name of the Cases domain. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // A map of of key-value pairs that represent tags on a resource. Tags are used + // to organize, track, or control access for this resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetDomainOutput) 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 GetDomainOutput) GoString() string { + return s.String() +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *GetDomainOutput) SetCreatedTime(v time.Time) *GetDomainOutput { + s.CreatedTime = &v + return s +} + +// SetDomainArn sets the DomainArn field's value. +func (s *GetDomainOutput) SetDomainArn(v string) *GetDomainOutput { + s.DomainArn = &v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *GetDomainOutput) SetDomainId(v string) *GetDomainOutput { + s.DomainId = &v + return s +} + +// SetDomainStatus sets the DomainStatus field's value. +func (s *GetDomainOutput) SetDomainStatus(v string) *GetDomainOutput { + s.DomainStatus = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetDomainOutput) SetName(v string) *GetDomainOutput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetDomainOutput) SetTags(v map[string]*string) *GetDomainOutput { + s.Tags = v + return s +} + +// Object to store detailed field information. +type GetFieldResponse struct { + _ struct{} `type:"structure"` + + // Description of the field. + Description *string `locationName:"description" type:"string"` + + // The Amazon Resource Name (ARN) of the field. + // + // FieldArn is a required field + FieldArn *string `locationName:"fieldArn" min:"1" type:"string" required:"true"` + + // Unique identifier of the field. + // + // FieldId is a required field + FieldId *string `locationName:"fieldId" min:"1" type:"string" required:"true"` + + // Name of the field. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // Namespace of the field. + // + // Namespace is a required field + Namespace *string `locationName:"namespace" type:"string" required:"true" enum:"FieldNamespace"` + + // A map of of key-value pairs that represent tags on a resource. Tags are used + // to organize, track, or control access for this resource. + Tags map[string]*string `locationName:"tags" type:"map"` + + // Type of the field. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"FieldType"` +} + +// 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 GetFieldResponse) 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 GetFieldResponse) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *GetFieldResponse) SetDescription(v string) *GetFieldResponse { + s.Description = &v + return s +} + +// SetFieldArn sets the FieldArn field's value. +func (s *GetFieldResponse) SetFieldArn(v string) *GetFieldResponse { + s.FieldArn = &v + return s +} + +// SetFieldId sets the FieldId field's value. +func (s *GetFieldResponse) SetFieldId(v string) *GetFieldResponse { + s.FieldId = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetFieldResponse) SetName(v string) *GetFieldResponse { + s.Name = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *GetFieldResponse) SetNamespace(v string) *GetFieldResponse { + s.Namespace = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetFieldResponse) SetTags(v map[string]*string) *GetFieldResponse { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *GetFieldResponse) SetType(v string) *GetFieldResponse { + s.Type = &v + return s +} + +type GetLayoutInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // The unique identifier of the layout. + // + // LayoutId is a required field + LayoutId *string `location:"uri" locationName:"layoutId" 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 GetLayoutInput) 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 GetLayoutInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetLayoutInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetLayoutInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.LayoutId == nil { + invalidParams.Add(request.NewErrParamRequired("LayoutId")) + } + if s.LayoutId != nil && len(*s.LayoutId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LayoutId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainId sets the DomainId field's value. +func (s *GetLayoutInput) SetDomainId(v string) *GetLayoutInput { + s.DomainId = &v + return s +} + +// SetLayoutId sets the LayoutId field's value. +func (s *GetLayoutInput) SetLayoutId(v string) *GetLayoutInput { + s.LayoutId = &v + return s +} + +type GetLayoutOutput struct { + _ struct{} `type:"structure"` + + // Information about which fields will be present in the layout, the order of + // the fields, and read-only attribute of the field. + // + // Content is a required field + Content *LayoutContent `locationName:"content" type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the newly created layout. + // + // LayoutArn is a required field + LayoutArn *string `locationName:"layoutArn" min:"1" type:"string" required:"true"` + + // The unique identifier of the layout. + // + // LayoutId is a required field + LayoutId *string `locationName:"layoutId" min:"1" type:"string" required:"true"` + + // The name of the layout. It must be unique. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // A map of of key-value pairs that represent tags on a resource. Tags are used + // to organize, track, or control access for this resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLayoutOutput) 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 GetLayoutOutput) GoString() string { + return s.String() +} + +// SetContent sets the Content field's value. +func (s *GetLayoutOutput) SetContent(v *LayoutContent) *GetLayoutOutput { + s.Content = v + return s +} + +// SetLayoutArn sets the LayoutArn field's value. +func (s *GetLayoutOutput) SetLayoutArn(v string) *GetLayoutOutput { + s.LayoutArn = &v + return s +} + +// SetLayoutId sets the LayoutId field's value. +func (s *GetLayoutOutput) SetLayoutId(v string) *GetLayoutOutput { + s.LayoutId = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetLayoutOutput) SetName(v string) *GetLayoutOutput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetLayoutOutput) SetTags(v map[string]*string) *GetLayoutOutput { + s.Tags = v + return s +} + +type GetTemplateInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // A unique identifier of a template. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"templateId" 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 GetTemplateInput) 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 GetTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTemplateInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainId sets the DomainId field's value. +func (s *GetTemplateInput) SetDomainId(v string) *GetTemplateInput { + s.DomainId = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *GetTemplateInput) SetTemplateId(v string) *GetTemplateInput { + s.TemplateId = &v + return s +} + +type GetTemplateOutput struct { + _ struct{} `type:"structure"` + + // A brief description of the template. + Description *string `locationName:"description" type:"string"` + + // Configuration of layouts associated to the template. + LayoutConfiguration *LayoutConfiguration `locationName:"layoutConfiguration" type:"structure"` + + // The name of the template. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // A list of fields that must contain a value for a case to be successfully + // created with this template. + RequiredFields []*RequiredField `locationName:"requiredFields" type:"list"` + + // A map of of key-value pairs that represent tags on a resource. Tags are used + // to organize, track, or control access for this resource. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The Amazon Resource Name (ARN) of the template. + // + // TemplateArn is a required field + TemplateArn *string `locationName:"templateArn" min:"1" type:"string" required:"true"` + + // A unique identifier of a template. + // + // TemplateId is a required field + TemplateId *string `locationName:"templateId" 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 GetTemplateOutput) 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 GetTemplateOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *GetTemplateOutput) SetDescription(v string) *GetTemplateOutput { + s.Description = &v + return s +} + +// SetLayoutConfiguration sets the LayoutConfiguration field's value. +func (s *GetTemplateOutput) SetLayoutConfiguration(v *LayoutConfiguration) *GetTemplateOutput { + s.LayoutConfiguration = v + return s +} + +// SetName sets the Name field's value. +func (s *GetTemplateOutput) SetName(v string) *GetTemplateOutput { + s.Name = &v + return s +} + +// SetRequiredFields sets the RequiredFields field's value. +func (s *GetTemplateOutput) SetRequiredFields(v []*RequiredField) *GetTemplateOutput { + s.RequiredFields = v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetTemplateOutput) SetTags(v map[string]*string) *GetTemplateOutput { + s.Tags = v + return s +} + +// SetTemplateArn sets the TemplateArn field's value. +func (s *GetTemplateOutput) SetTemplateArn(v string) *GetTemplateOutput { + s.TemplateArn = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *GetTemplateOutput) SetTemplateId(v string) *GetTemplateOutput { + s.TemplateId = &v + return s +} + +// We couldn't process your request because of an issue with the server. Try +// again later. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // Advice to clients on when the call can be safely retried. + RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Object to store configuration of layouts associated to the template. +type LayoutConfiguration struct { + _ struct{} `type:"structure"` + + // Unique identifier of a layout. + DefaultLayout *string `locationName:"defaultLayout" 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 LayoutConfiguration) 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 LayoutConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LayoutConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LayoutConfiguration"} + if s.DefaultLayout != nil && len(*s.DefaultLayout) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DefaultLayout", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultLayout sets the DefaultLayout field's value. +func (s *LayoutConfiguration) SetDefaultLayout(v string) *LayoutConfiguration { + s.DefaultLayout = &v + return s +} + +// Object to store union of different versions of layout content. +type LayoutContent struct { + _ struct{} `type:"structure"` + + // Content specific to BasicLayout type. It configures fields in the top panel + // and More Info tab of Cases user interface. + Basic *BasicLayout `locationName:"basic" 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 LayoutContent) 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 LayoutContent) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LayoutContent) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LayoutContent"} + if s.Basic != nil { + if err := s.Basic.Validate(); err != nil { + invalidParams.AddNested("Basic", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBasic sets the Basic field's value. +func (s *LayoutContent) SetBasic(v *BasicLayout) *LayoutContent { + s.Basic = v + return s +} + +// Ordered list containing different kinds of sections that can be added. A +// LayoutSections object can only contain one section. +type LayoutSections struct { + _ struct{} `type:"structure"` + + // Ordered list containing different kinds of sections that can be added. + Sections []*Section `locationName:"sections" 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 LayoutSections) 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 LayoutSections) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LayoutSections) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LayoutSections"} + if s.Sections != nil { + for i, v := range s.Sections { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sections", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSections sets the Sections field's value. +func (s *LayoutSections) SetSections(v []*Section) *LayoutSections { + s.Sections = v + return s +} + +// Object for the summarized details of the layout. +type LayoutSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the layout. + // + // LayoutArn is a required field + LayoutArn *string `locationName:"layoutArn" min:"1" type:"string" required:"true"` + + // The unique identifier for of the layout. + // + // LayoutId is a required field + LayoutId *string `locationName:"layoutId" min:"1" type:"string" required:"true"` + + // The name of the layout. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LayoutSummary) 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 LayoutSummary) GoString() string { + return s.String() +} + +// SetLayoutArn sets the LayoutArn field's value. +func (s *LayoutSummary) SetLayoutArn(v string) *LayoutSummary { + s.LayoutArn = &v + return s +} + +// SetLayoutId sets the LayoutId field's value. +func (s *LayoutSummary) SetLayoutId(v string) *LayoutSummary { + s.LayoutId = &v + return s +} + +// SetName sets the Name field's value. +func (s *LayoutSummary) SetName(v string) *LayoutSummary { + s.Name = &v + return s +} + +type ListCasesForContactInput struct { + _ struct{} `type:"structure"` + + // A unique identifier of a contact in Amazon Connect. + // + // ContactArn is a required field + ContactArn *string `locationName:"contactArn" min:"1" type:"string" required:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCasesForContactInput) 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 ListCasesForContactInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCasesForContactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCasesForContactInput"} + if s.ContactArn == nil { + invalidParams.Add(request.NewErrParamRequired("ContactArn")) + } + if s.ContactArn != nil && len(*s.ContactArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactArn", 1)) + } + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactArn sets the ContactArn field's value. +func (s *ListCasesForContactInput) SetContactArn(v string) *ListCasesForContactInput { + s.ContactArn = &v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *ListCasesForContactInput) SetDomainId(v string) *ListCasesForContactInput { + s.DomainId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListCasesForContactInput) SetMaxResults(v int64) *ListCasesForContactInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCasesForContactInput) SetNextToken(v string) *ListCasesForContactInput { + s.NextToken = &v + return s +} + +type ListCasesForContactOutput struct { + _ struct{} `type:"structure"` + + // A list of Case summary information. + // + // Cases is a required field + Cases []*CaseSummary `locationName:"cases" type:"list" required:"true"` + + // The token for the next set of results. This is null if there are no more + // results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCasesForContactOutput) 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 ListCasesForContactOutput) GoString() string { + return s.String() +} + +// SetCases sets the Cases field's value. +func (s *ListCasesForContactOutput) SetCases(v []*CaseSummary) *ListCasesForContactOutput { + s.Cases = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCasesForContactOutput) SetNextToken(v string) *ListCasesForContactOutput { + s.NextToken = &v + return s +} + +type ListDomainsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDomainsInput) 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 ListDomainsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDomainsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDomainsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDomainsInput) SetMaxResults(v int64) *ListDomainsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDomainsInput) SetNextToken(v string) *ListDomainsInput { + s.NextToken = &v + return s +} + +type ListDomainsOutput struct { + _ struct{} `type:"structure"` + + // The Cases domain. + // + // Domains is a required field + Domains []*DomainSummary `locationName:"domains" type:"list" required:"true"` + + // The token for the next set of results. This is null if there are no more + // results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDomainsOutput) 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 ListDomainsOutput) GoString() string { + return s.String() +} + +// SetDomains sets the Domains field's value. +func (s *ListDomainsOutput) SetDomains(v []*DomainSummary) *ListDomainsOutput { + s.Domains = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDomainsOutput) SetNextToken(v string) *ListDomainsOutput { + s.NextToken = &v + return s +} + +type ListFieldOptionsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // The unique identifier of a field. + // + // FieldId is a required field + FieldId *string `location:"uri" locationName:"fieldId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // A list of FieldOption values to filter on for ListFieldOptions. + Values []*string `location:"querystring" locationName:"values" 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 ListFieldOptionsInput) 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 ListFieldOptionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFieldOptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFieldOptionsInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.FieldId == nil { + invalidParams.Add(request.NewErrParamRequired("FieldId")) + } + if s.FieldId != nil && len(*s.FieldId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FieldId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainId sets the DomainId field's value. +func (s *ListFieldOptionsInput) SetDomainId(v string) *ListFieldOptionsInput { + s.DomainId = &v + return s +} + +// SetFieldId sets the FieldId field's value. +func (s *ListFieldOptionsInput) SetFieldId(v string) *ListFieldOptionsInput { + s.FieldId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListFieldOptionsInput) SetMaxResults(v int64) *ListFieldOptionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFieldOptionsInput) SetNextToken(v string) *ListFieldOptionsInput { + s.NextToken = &v + return s +} + +// SetValues sets the Values field's value. +func (s *ListFieldOptionsInput) SetValues(v []*string) *ListFieldOptionsInput { + s.Values = v + return s +} + +type ListFieldOptionsOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of results. This is null if there are no more + // results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of FieldOption objects. + // + // Options is a required field + Options []*FieldOption `locationName:"options" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListFieldOptionsOutput) 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 ListFieldOptionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFieldOptionsOutput) SetNextToken(v string) *ListFieldOptionsOutput { + s.NextToken = &v + return s +} + +// SetOptions sets the Options field's value. +func (s *ListFieldOptionsOutput) SetOptions(v []*FieldOption) *ListFieldOptionsOutput { + s.Options = v + return s +} + +type ListFieldsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListFieldsInput) 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 ListFieldsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFieldsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFieldsInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainId sets the DomainId field's value. +func (s *ListFieldsInput) SetDomainId(v string) *ListFieldsInput { + s.DomainId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListFieldsInput) SetMaxResults(v int64) *ListFieldsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFieldsInput) SetNextToken(v string) *ListFieldsInput { + s.NextToken = &v + return s +} + +type ListFieldsOutput struct { + _ struct{} `type:"structure"` + + // List of detailed field information. + // + // Fields is a required field + Fields []*FieldSummary `locationName:"fields" type:"list" required:"true"` + + // The token for the next set of results. This is null if there are no more + // results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListFieldsOutput) 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 ListFieldsOutput) GoString() string { + return s.String() +} + +// SetFields sets the Fields field's value. +func (s *ListFieldsOutput) SetFields(v []*FieldSummary) *ListFieldsOutput { + s.Fields = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFieldsOutput) SetNextToken(v string) *ListFieldsOutput { + s.NextToken = &v + return s +} + +type ListLayoutsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListLayoutsInput) 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 ListLayoutsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListLayoutsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLayoutsInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainId sets the DomainId field's value. +func (s *ListLayoutsInput) SetDomainId(v string) *ListLayoutsInput { + s.DomainId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListLayoutsInput) SetMaxResults(v int64) *ListLayoutsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLayoutsInput) SetNextToken(v string) *ListLayoutsInput { + s.NextToken = &v + return s +} + +type ListLayoutsOutput struct { + _ struct{} `type:"structure"` + + // The layouts for the domain. + // + // Layouts is a required field + Layouts []*LayoutSummary `locationName:"layouts" type:"list" required:"true"` + + // The token for the next set of results. This is null if there are no more + // results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListLayoutsOutput) 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 ListLayoutsOutput) GoString() string { + return s.String() +} + +// SetLayouts sets the Layouts field's value. +func (s *ListLayoutsOutput) SetLayouts(v []*LayoutSummary) *ListLayoutsOutput { + s.Layouts = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLayoutsOutput) SetNextToken(v string) *ListLayoutsOutput { + s.NextToken = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) + // + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" 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 ListTagsForResourceInput) 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 ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *ListTagsForResourceInput) SetArn(v string) *ListTagsForResourceInput { + s.Arn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // A map of of key-value pairs that represent tags on a resource. Tags are used + // to organize, track, or control access for this resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) 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 ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type ListTemplatesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTemplatesInput) 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 ListTemplatesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTemplatesInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainId sets the DomainId field's value. +func (s *ListTemplatesInput) SetDomainId(v string) *ListTemplatesInput { + s.DomainId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTemplatesInput) SetMaxResults(v int64) *ListTemplatesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput { + s.NextToken = &v + return s +} + +type ListTemplatesOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of results. This is null if there are no more + // results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // List of template summary objects. + // + // Templates is a required field + Templates []*TemplateSummary `locationName:"templates" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTemplatesOutput) 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 ListTemplatesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplatesOutput) SetNextToken(v string) *ListTemplatesOutput { + s.NextToken = &v + return s +} + +// SetTemplates sets the Templates field's value. +func (s *ListTemplatesOutput) SetTemplates(v []*TemplateSummary) *ListTemplatesOutput { + s.Templates = v + return s +} + +type PutCaseEventConfigurationInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // Configuration to enable EventBridge case event delivery and determine what + // data is delivered. + // + // EventBridge is a required field + EventBridge *EventBridgeConfiguration `locationName:"eventBridge" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutCaseEventConfigurationInput) 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 PutCaseEventConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutCaseEventConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutCaseEventConfigurationInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.EventBridge == nil { + invalidParams.Add(request.NewErrParamRequired("EventBridge")) + } + if s.EventBridge != nil { + if err := s.EventBridge.Validate(); err != nil { + invalidParams.AddNested("EventBridge", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainId sets the DomainId field's value. +func (s *PutCaseEventConfigurationInput) SetDomainId(v string) *PutCaseEventConfigurationInput { + s.DomainId = &v + return s +} + +// SetEventBridge sets the EventBridge field's value. +func (s *PutCaseEventConfigurationInput) SetEventBridge(v *EventBridgeConfiguration) *PutCaseEventConfigurationInput { + s.EventBridge = v + return s +} + +type PutCaseEventConfigurationOutput 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 PutCaseEventConfigurationOutput) 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 PutCaseEventConfigurationOutput) GoString() string { + return s.String() +} + +// Represents the content of a particular type of related item. +type RelatedItemContent struct { + _ struct{} `type:"structure"` + + // Represents the content of a comment to be returned to agents. + Comment *CommentContent `locationName:"comment" type:"structure"` + + // Represents the content of a contact to be returned to agents. + Contact *ContactContent `locationName:"contact" 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 RelatedItemContent) 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 RelatedItemContent) GoString() string { + return s.String() +} + +// SetComment sets the Comment field's value. +func (s *RelatedItemContent) SetComment(v *CommentContent) *RelatedItemContent { + s.Comment = v + return s +} + +// SetContact sets the Contact field's value. +func (s *RelatedItemContent) SetContact(v *ContactContent) *RelatedItemContent { + s.Contact = v + return s +} + +// Details of what related item data is published through the case event stream. +type RelatedItemEventIncludedData struct { + _ struct{} `type:"structure"` + + // Details of what related item data is published through the case event stream. + // + // IncludeContent is a required field + IncludeContent *bool `locationName:"includeContent" type:"boolean" 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 RelatedItemEventIncludedData) 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 RelatedItemEventIncludedData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RelatedItemEventIncludedData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RelatedItemEventIncludedData"} + if s.IncludeContent == nil { + invalidParams.Add(request.NewErrParamRequired("IncludeContent")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIncludeContent sets the IncludeContent field's value. +func (s *RelatedItemEventIncludedData) SetIncludeContent(v bool) *RelatedItemEventIncludedData { + s.IncludeContent = &v + return s +} + +// Represents the content of a related item to be created. +type RelatedItemInputContent struct { + _ struct{} `type:"structure"` + + // Represents the content of a comment to be returned to agents. + Comment *CommentContent `locationName:"comment" type:"structure"` + + // Object representing a contact in Amazon Connect as an API request field. + Contact *Contact `locationName:"contact" 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 RelatedItemInputContent) 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 RelatedItemInputContent) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RelatedItemInputContent) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RelatedItemInputContent"} + if s.Comment != nil { + if err := s.Comment.Validate(); err != nil { + invalidParams.AddNested("Comment", err.(request.ErrInvalidParams)) + } + } + if s.Contact != nil { + if err := s.Contact.Validate(); err != nil { + invalidParams.AddNested("Contact", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComment sets the Comment field's value. +func (s *RelatedItemInputContent) SetComment(v *CommentContent) *RelatedItemInputContent { + s.Comment = v + return s +} + +// SetContact sets the Contact field's value. +func (s *RelatedItemInputContent) SetContact(v *Contact) *RelatedItemInputContent { + s.Contact = v + return s +} + +// The list of types of related items and their parameters to use for filtering. +type RelatedItemTypeFilter struct { + _ struct{} `type:"structure"` + + // A filter for related items of type Comment. + Comment *CommentFilter `locationName:"comment" type:"structure"` + + // A filter for related items of type Contact. + Contact *ContactFilter `locationName:"contact" 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 RelatedItemTypeFilter) 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 RelatedItemTypeFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RelatedItemTypeFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RelatedItemTypeFilter"} + if s.Contact != nil { + if err := s.Contact.Validate(); err != nil { + invalidParams.AddNested("Contact", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComment sets the Comment field's value. +func (s *RelatedItemTypeFilter) SetComment(v *CommentFilter) *RelatedItemTypeFilter { + s.Comment = v + return s +} + +// SetContact sets the Contact field's value. +func (s *RelatedItemTypeFilter) SetContact(v *ContactFilter) *RelatedItemTypeFilter { + s.Contact = v + return s +} + +// List of fields that must have a value provided to create a case. +type RequiredField struct { + _ struct{} `type:"structure"` + + // Unique identifier of a field. + // + // FieldId is a required field + FieldId *string `locationName:"fieldId" 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 RequiredField) 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 RequiredField) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RequiredField) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RequiredField"} + if s.FieldId == nil { + invalidParams.Add(request.NewErrParamRequired("FieldId")) + } + if s.FieldId != nil && len(*s.FieldId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FieldId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFieldId sets the FieldId field's value. +func (s *RequiredField) SetFieldId(v string) *RequiredField { + s.FieldId = &v + return s +} + +// We couldn't find the requested resource. Check that your resources exists +// and were created in the same Amazon Web Services Region as your request, +// and try your request again. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // Unique identifier of the resource affected. + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" type:"string" required:"true"` + + // Type of the resource affected. + // + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API 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\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +type SearchCasesInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // The list of field identifiers to be returned as part of the response. + Fields []*FieldIdentifier `locationName:"fields" type:"list"` + + // A list of filter objects. + Filter *CaseFilter `locationName:"filter" type:"structure"` + + // The maximum number of cases to return. The current maximum supported value + // is 25. This is also the default value when no other value is provided. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // A word or phrase used to perform a quick search. + SearchTerm *string `locationName:"searchTerm" type:"string"` + + // A list of sorts where each sort specifies a field and their sort order to + // be applied to the results. + Sorts []*Sort `locationName:"sorts" 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 SearchCasesInput) 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 SearchCasesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchCasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchCasesInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Fields != nil { + for i, v := range s.Fields { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Fields", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } + if s.Sorts != nil { + for i, v := range s.Sorts { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sorts", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainId sets the DomainId field's value. +func (s *SearchCasesInput) SetDomainId(v string) *SearchCasesInput { + s.DomainId = &v + return s +} + +// SetFields sets the Fields field's value. +func (s *SearchCasesInput) SetFields(v []*FieldIdentifier) *SearchCasesInput { + s.Fields = v + return s +} + +// SetFilter sets the Filter field's value. +func (s *SearchCasesInput) SetFilter(v *CaseFilter) *SearchCasesInput { + s.Filter = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *SearchCasesInput) SetMaxResults(v int64) *SearchCasesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchCasesInput) SetNextToken(v string) *SearchCasesInput { + s.NextToken = &v + return s +} + +// SetSearchTerm sets the SearchTerm field's value. +func (s *SearchCasesInput) SetSearchTerm(v string) *SearchCasesInput { + s.SearchTerm = &v + return s +} + +// SetSorts sets the Sorts field's value. +func (s *SearchCasesInput) SetSorts(v []*Sort) *SearchCasesInput { + s.Sorts = v + return s +} + +type SearchCasesOutput struct { + _ struct{} `type:"structure"` + + // A list of case documents where each case contains the properties CaseId and + // Fields where each field is a complex union structure. + // + // Cases is a required field + Cases []*SearchCasesResponseItem `locationName:"cases" type:"list" required:"true"` + + // The token for the next set of results. This is null if there are no more + // results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchCasesOutput) 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 SearchCasesOutput) GoString() string { + return s.String() +} + +// SetCases sets the Cases field's value. +func (s *SearchCasesOutput) SetCases(v []*SearchCasesResponseItem) *SearchCasesOutput { + s.Cases = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchCasesOutput) SetNextToken(v string) *SearchCasesOutput { + s.NextToken = &v + return s +} + +// A list of items that represent cases. +type SearchCasesResponseItem struct { + _ struct{} `type:"structure"` + + // A unique identifier of the case. + // + // CaseId is a required field + CaseId *string `locationName:"caseId" min:"1" type:"string" required:"true"` + + // List of case field values. + // + // Fields is a required field + Fields []*FieldValue `locationName:"fields" type:"list" required:"true"` + + // A map of of key-value pairs that represent tags on a resource. Tags are used + // to organize, track, or control access for this resource. + Tags map[string]*string `locationName:"tags" type:"map"` + + // A unique identifier of a template. + // + // TemplateId is a required field + TemplateId *string `locationName:"templateId" 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 SearchCasesResponseItem) 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 SearchCasesResponseItem) GoString() string { + return s.String() +} + +// SetCaseId sets the CaseId field's value. +func (s *SearchCasesResponseItem) SetCaseId(v string) *SearchCasesResponseItem { + s.CaseId = &v + return s +} + +// SetFields sets the Fields field's value. +func (s *SearchCasesResponseItem) SetFields(v []*FieldValue) *SearchCasesResponseItem { + s.Fields = v + return s +} + +// SetTags sets the Tags field's value. +func (s *SearchCasesResponseItem) SetTags(v map[string]*string) *SearchCasesResponseItem { + s.Tags = v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *SearchCasesResponseItem) SetTemplateId(v string) *SearchCasesResponseItem { + s.TemplateId = &v + return s +} + +type SearchRelatedItemsInput struct { + _ struct{} `type:"structure"` + + // A unique identifier of the case. + // + // CaseId is a required field + CaseId *string `location:"uri" locationName:"caseId" min:"1" type:"string" required:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // The list of types of related items and their parameters to use for filtering. + Filters []*RelatedItemTypeFilter `locationName:"filters" type:"list"` + + // The maximum number of results to return per page. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchRelatedItemsInput) 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 SearchRelatedItemsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchRelatedItemsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchRelatedItemsInput"} + if s.CaseId == nil { + invalidParams.Add(request.NewErrParamRequired("CaseId")) + } + if s.CaseId != nil && len(*s.CaseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CaseId", 1)) + } + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCaseId sets the CaseId field's value. +func (s *SearchRelatedItemsInput) SetCaseId(v string) *SearchRelatedItemsInput { + s.CaseId = &v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *SearchRelatedItemsInput) SetDomainId(v string) *SearchRelatedItemsInput { + s.DomainId = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *SearchRelatedItemsInput) SetFilters(v []*RelatedItemTypeFilter) *SearchRelatedItemsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *SearchRelatedItemsInput) SetMaxResults(v int64) *SearchRelatedItemsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchRelatedItemsInput) SetNextToken(v string) *SearchRelatedItemsInput { + s.NextToken = &v + return s +} + +type SearchRelatedItemsOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of results. This is null if there are no more + // results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of items related to a case. + // + // RelatedItems is a required field + RelatedItems []*SearchRelatedItemsResponseItem `locationName:"relatedItems" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchRelatedItemsOutput) 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 SearchRelatedItemsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchRelatedItemsOutput) SetNextToken(v string) *SearchRelatedItemsOutput { + s.NextToken = &v + return s +} + +// SetRelatedItems sets the RelatedItems field's value. +func (s *SearchRelatedItemsOutput) SetRelatedItems(v []*SearchRelatedItemsResponseItem) *SearchRelatedItemsOutput { + s.RelatedItems = v + return s +} + +// A list of items that represent RelatedItems. +type SearchRelatedItemsResponseItem struct { + _ struct{} `type:"structure"` + + // Time at which a related item was associated with a case. + // + // AssociationTime is a required field + AssociationTime *time.Time `locationName:"associationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // Represents the content of a particular type of related item. + // + // Content is a required field + Content *RelatedItemContent `locationName:"content" type:"structure" required:"true"` + + // Unique identifier of a related item. + // + // RelatedItemId is a required field + RelatedItemId *string `locationName:"relatedItemId" min:"1" type:"string" required:"true"` + + // A map of of key-value pairs that represent tags on a resource. Tags are used + // to organize, track, or control access for this resource. + Tags map[string]*string `locationName:"tags" type:"map"` + + // Type of a related item. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"RelatedItemType"` +} + +// 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 SearchRelatedItemsResponseItem) 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 SearchRelatedItemsResponseItem) GoString() string { + return s.String() +} + +// SetAssociationTime sets the AssociationTime field's value. +func (s *SearchRelatedItemsResponseItem) SetAssociationTime(v time.Time) *SearchRelatedItemsResponseItem { + s.AssociationTime = &v + return s +} + +// SetContent sets the Content field's value. +func (s *SearchRelatedItemsResponseItem) SetContent(v *RelatedItemContent) *SearchRelatedItemsResponseItem { + s.Content = v + return s +} + +// SetRelatedItemId sets the RelatedItemId field's value. +func (s *SearchRelatedItemsResponseItem) SetRelatedItemId(v string) *SearchRelatedItemsResponseItem { + s.RelatedItemId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *SearchRelatedItemsResponseItem) SetTags(v map[string]*string) *SearchRelatedItemsResponseItem { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *SearchRelatedItemsResponseItem) SetType(v string) *SearchRelatedItemsResponseItem { + s.Type = &v + return s +} + +// This represents a sections within a panel or tab of the page layout. +type Section struct { + _ struct{} `type:"structure"` + + // Consists of a group of fields and associated properties. + FieldGroup *FieldGroup `locationName:"fieldGroup" 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 Section) 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 Section) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Section) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Section"} + if s.FieldGroup != nil { + if err := s.FieldGroup.Validate(); err != nil { + invalidParams.AddNested("FieldGroup", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFieldGroup sets the FieldGroup field's value. +func (s *Section) SetFieldGroup(v *FieldGroup) *Section { + s.FieldGroup = v + return s +} + +// The service quota has been exceeded. For a list of service quotas, see Amazon +// Connect Service Quotas (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) +// in the Amazon Connect Administrator Guide. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A structured set of sort terms. +type Sort struct { + _ struct{} `type:"structure"` + + // Unique identifier of a field. + // + // FieldId is a required field + FieldId *string `locationName:"fieldId" min:"1" type:"string" required:"true"` + + // A structured set of sort terms + // + // SortOrder is a required field + SortOrder *string `locationName:"sortOrder" type:"string" required:"true" enum:"Order"` +} + +// 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 Sort) 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 Sort) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Sort) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Sort"} + if s.FieldId == nil { + invalidParams.Add(request.NewErrParamRequired("FieldId")) + } + if s.FieldId != nil && len(*s.FieldId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FieldId", 1)) + } + if s.SortOrder == nil { + invalidParams.Add(request.NewErrParamRequired("SortOrder")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFieldId sets the FieldId field's value. +func (s *Sort) SetFieldId(v string) *Sort { + s.FieldId = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *Sort) SetSortOrder(v string) *Sort { + s.SortOrder = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) + // + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" min:"1" type:"string" required:"true"` + + // A map of of key-value pairs that represent tags on a resource. Tags are used + // to organize, track, or control access for this resource. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" 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 TagResourceInput) 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 TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *TagResourceInput) SetArn(v string) *TagResourceInput { + s.Arn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) 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 TagResourceOutput) GoString() string { + return s.String() +} + +// Template summary information. +type TemplateSummary struct { + _ struct{} `type:"structure"` + + // The template name. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the template. + // + // TemplateArn is a required field + TemplateArn *string `locationName:"templateArn" min:"1" type:"string" required:"true"` + + // The unique identifier for the template. + // + // TemplateId is a required field + TemplateId *string `locationName:"templateId" 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 TemplateSummary) 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 TemplateSummary) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *TemplateSummary) SetName(v string) *TemplateSummary { + s.Name = &v + return s +} + +// SetTemplateArn sets the TemplateArn field's value. +func (s *TemplateSummary) SetTemplateArn(v string) *TemplateSummary { + s.TemplateArn = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *TemplateSummary) SetTemplateId(v string) *TemplateSummary { + s.TemplateId = &v + return s +} + +// The rate has been exceeded for this API. Please try again after a few minutes. +type ThrottlingException 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 ThrottlingException) 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 ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) + // + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" min:"1" type:"string" required:"true"` + + // List of tag keys. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) 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 UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *UntagResourceInput) SetArn(v string) *UntagResourceInput { + s.Arn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) 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 UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateCaseInput struct { + _ struct{} `type:"structure"` + + // A unique identifier of the case. + // + // CaseId is a required field + CaseId *string `location:"uri" locationName:"caseId" min:"1" type:"string" required:"true"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // An array of objects with fieldId (matching ListFields/DescribeField) and + // value union data, structured identical to CreateCase. + // + // Fields is a required field + Fields []*FieldValue `locationName:"fields" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateCaseInput) 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 UpdateCaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCaseInput"} + if s.CaseId == nil { + invalidParams.Add(request.NewErrParamRequired("CaseId")) + } + if s.CaseId != nil && len(*s.CaseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CaseId", 1)) + } + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.Fields == nil { + invalidParams.Add(request.NewErrParamRequired("Fields")) + } + if s.Fields != nil { + for i, v := range s.Fields { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Fields", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCaseId sets the CaseId field's value. +func (s *UpdateCaseInput) SetCaseId(v string) *UpdateCaseInput { + s.CaseId = &v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *UpdateCaseInput) SetDomainId(v string) *UpdateCaseInput { + s.DomainId = &v + return s +} + +// SetFields sets the Fields field's value. +func (s *UpdateCaseInput) SetFields(v []*FieldValue) *UpdateCaseInput { + s.Fields = v + return s +} + +type UpdateCaseOutput 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 UpdateCaseOutput) 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 UpdateCaseOutput) GoString() string { + return s.String() +} + +type UpdateFieldInput struct { + _ struct{} `type:"structure"` + + // The description of a field. + Description *string `locationName:"description" type:"string"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // The unique identifier of a field. + // + // FieldId is a required field + FieldId *string `location:"uri" locationName:"fieldId" min:"1" type:"string" required:"true"` + + // The name of the field. + Name *string `locationName:"name" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateFieldInput) 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 UpdateFieldInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFieldInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFieldInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.FieldId == nil { + invalidParams.Add(request.NewErrParamRequired("FieldId")) + } + if s.FieldId != nil && len(*s.FieldId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FieldId", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateFieldInput) SetDescription(v string) *UpdateFieldInput { + s.Description = &v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *UpdateFieldInput) SetDomainId(v string) *UpdateFieldInput { + s.DomainId = &v + return s +} + +// SetFieldId sets the FieldId field's value. +func (s *UpdateFieldInput) SetFieldId(v string) *UpdateFieldInput { + s.FieldId = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateFieldInput) SetName(v string) *UpdateFieldInput { + s.Name = &v + return s +} + +type UpdateFieldOutput 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 UpdateFieldOutput) 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 UpdateFieldOutput) GoString() string { + return s.String() +} + +type UpdateLayoutInput struct { + _ struct{} `type:"structure"` + + // Information about which fields will be present in the layout, the order of + // the fields, and a read-only attribute of the field. + Content *LayoutContent `locationName:"content" type:"structure"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // The unique identifier of the layout. + // + // LayoutId is a required field + LayoutId *string `location:"uri" locationName:"layoutId" min:"1" type:"string" required:"true"` + + // The name of the layout. It must be unique per domain. + Name *string `locationName:"name" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateLayoutInput) 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 UpdateLayoutInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateLayoutInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateLayoutInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.LayoutId == nil { + invalidParams.Add(request.NewErrParamRequired("LayoutId")) + } + if s.LayoutId != nil && len(*s.LayoutId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LayoutId", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Content != nil { + if err := s.Content.Validate(); err != nil { + invalidParams.AddNested("Content", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContent sets the Content field's value. +func (s *UpdateLayoutInput) SetContent(v *LayoutContent) *UpdateLayoutInput { + s.Content = v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *UpdateLayoutInput) SetDomainId(v string) *UpdateLayoutInput { + s.DomainId = &v + return s +} + +// SetLayoutId sets the LayoutId field's value. +func (s *UpdateLayoutInput) SetLayoutId(v string) *UpdateLayoutInput { + s.LayoutId = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateLayoutInput) SetName(v string) *UpdateLayoutInput { + s.Name = &v + return s +} + +type UpdateLayoutOutput 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 UpdateLayoutOutput) 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 UpdateLayoutOutput) GoString() string { + return s.String() +} + +type UpdateTemplateInput struct { + _ struct{} `type:"structure"` + + // A brief description of the template. + Description *string `locationName:"description" type:"string"` + + // The unique identifier of the Cases domain. + // + // DomainId is a required field + DomainId *string `location:"uri" locationName:"domainId" min:"1" type:"string" required:"true"` + + // Configuration of layouts associated to the template. + LayoutConfiguration *LayoutConfiguration `locationName:"layoutConfiguration" type:"structure"` + + // The name of the template. It must be unique per domain. + Name *string `locationName:"name" min:"1" type:"string"` + + // A list of fields that must contain a value for a case to be successfully + // created with this template. + RequiredFields []*RequiredField `locationName:"requiredFields" type:"list"` + + // A unique identifier for the template. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"templateId" 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 UpdateTemplateInput) 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 UpdateTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateInput"} + if s.DomainId == nil { + invalidParams.Add(request.NewErrParamRequired("DomainId")) + } + if s.DomainId != nil && len(*s.DomainId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainId", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + if s.LayoutConfiguration != nil { + if err := s.LayoutConfiguration.Validate(); err != nil { + invalidParams.AddNested("LayoutConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.RequiredFields != nil { + for i, v := range s.RequiredFields { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RequiredFields", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateTemplateInput) SetDescription(v string) *UpdateTemplateInput { + s.Description = &v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *UpdateTemplateInput) SetDomainId(v string) *UpdateTemplateInput { + s.DomainId = &v + return s +} + +// SetLayoutConfiguration sets the LayoutConfiguration field's value. +func (s *UpdateTemplateInput) SetLayoutConfiguration(v *LayoutConfiguration) *UpdateTemplateInput { + s.LayoutConfiguration = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateTemplateInput) SetName(v string) *UpdateTemplateInput { + s.Name = &v + return s +} + +// SetRequiredFields sets the RequiredFields field's value. +func (s *UpdateTemplateInput) SetRequiredFields(v []*RequiredField) *UpdateTemplateInput { + s.RequiredFields = v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplateInput) SetTemplateId(v string) *UpdateTemplateInput { + s.TemplateId = &v + return s +} + +type UpdateTemplateOutput 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 UpdateTemplateOutput) 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 UpdateTemplateOutput) GoString() string { + return s.String() +} + +// The request isn't valid. Check the syntax and try again. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +const ( + // CommentBodyTextTypeTextPlain is a CommentBodyTextType enum value + CommentBodyTextTypeTextPlain = "Text/Plain" +) + +// CommentBodyTextType_Values returns all elements of the CommentBodyTextType enum +func CommentBodyTextType_Values() []string { + return []string{ + CommentBodyTextTypeTextPlain, + } +} + +const ( + // DomainStatusActive is a DomainStatus enum value + DomainStatusActive = "Active" + + // DomainStatusCreationInProgress is a DomainStatus enum value + DomainStatusCreationInProgress = "CreationInProgress" + + // DomainStatusCreationFailed is a DomainStatus enum value + DomainStatusCreationFailed = "CreationFailed" +) + +// DomainStatus_Values returns all elements of the DomainStatus enum +func DomainStatus_Values() []string { + return []string{ + DomainStatusActive, + DomainStatusCreationInProgress, + DomainStatusCreationFailed, + } +} + +const ( + // FieldNamespaceSystem is a FieldNamespace enum value + FieldNamespaceSystem = "System" + + // FieldNamespaceCustom is a FieldNamespace enum value + FieldNamespaceCustom = "Custom" +) + +// FieldNamespace_Values returns all elements of the FieldNamespace enum +func FieldNamespace_Values() []string { + return []string{ + FieldNamespaceSystem, + FieldNamespaceCustom, + } +} + +const ( + // FieldTypeText is a FieldType enum value + FieldTypeText = "Text" + + // FieldTypeNumber is a FieldType enum value + FieldTypeNumber = "Number" + + // FieldTypeBoolean is a FieldType enum value + FieldTypeBoolean = "Boolean" + + // FieldTypeDateTime is a FieldType enum value + FieldTypeDateTime = "DateTime" + + // FieldTypeSingleSelect is a FieldType enum value + FieldTypeSingleSelect = "SingleSelect" +) + +// FieldType_Values returns all elements of the FieldType enum +func FieldType_Values() []string { + return []string{ + FieldTypeText, + FieldTypeNumber, + FieldTypeBoolean, + FieldTypeDateTime, + FieldTypeSingleSelect, + } +} + +const ( + // OrderAsc is a Order enum value + OrderAsc = "Asc" + + // OrderDesc is a Order enum value + OrderDesc = "Desc" +) + +// Order_Values returns all elements of the Order enum +func Order_Values() []string { + return []string{ + OrderAsc, + OrderDesc, + } +} + +const ( + // RelatedItemTypeContact is a RelatedItemType enum value + RelatedItemTypeContact = "Contact" + + // RelatedItemTypeComment is a RelatedItemType enum value + RelatedItemTypeComment = "Comment" +) + +// RelatedItemType_Values returns all elements of the RelatedItemType enum +func RelatedItemType_Values() []string { + return []string{ + RelatedItemTypeContact, + RelatedItemTypeComment, + } +} diff --git a/service/connectcases/connectcasesiface/interface.go b/service/connectcases/connectcasesiface/interface.go new file mode 100644 index 00000000000..f8f77fbc54d --- /dev/null +++ b/service/connectcases/connectcasesiface/interface.go @@ -0,0 +1,207 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package connectcasesiface provides an interface to enable mocking the Amazon Connect Cases 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 connectcasesiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/connectcases" +) + +// ConnectCasesAPI provides an interface to enable mocking the +// connectcases.ConnectCases service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // Amazon Connect Cases. +// func myFunc(svc connectcasesiface.ConnectCasesAPI) bool { +// // Make svc.BatchGetField request +// } +// +// func main() { +// sess := session.New() +// svc := connectcases.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockConnectCasesClient struct { +// connectcasesiface.ConnectCasesAPI +// } +// func (m *mockConnectCasesClient) BatchGetField(input *connectcases.BatchGetFieldInput) (*connectcases.BatchGetFieldOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockConnectCasesClient{} +// +// 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 ConnectCasesAPI interface { + BatchGetField(*connectcases.BatchGetFieldInput) (*connectcases.BatchGetFieldOutput, error) + BatchGetFieldWithContext(aws.Context, *connectcases.BatchGetFieldInput, ...request.Option) (*connectcases.BatchGetFieldOutput, error) + BatchGetFieldRequest(*connectcases.BatchGetFieldInput) (*request.Request, *connectcases.BatchGetFieldOutput) + + BatchPutFieldOptions(*connectcases.BatchPutFieldOptionsInput) (*connectcases.BatchPutFieldOptionsOutput, error) + BatchPutFieldOptionsWithContext(aws.Context, *connectcases.BatchPutFieldOptionsInput, ...request.Option) (*connectcases.BatchPutFieldOptionsOutput, error) + BatchPutFieldOptionsRequest(*connectcases.BatchPutFieldOptionsInput) (*request.Request, *connectcases.BatchPutFieldOptionsOutput) + + CreateCase(*connectcases.CreateCaseInput) (*connectcases.CreateCaseOutput, error) + CreateCaseWithContext(aws.Context, *connectcases.CreateCaseInput, ...request.Option) (*connectcases.CreateCaseOutput, error) + CreateCaseRequest(*connectcases.CreateCaseInput) (*request.Request, *connectcases.CreateCaseOutput) + + CreateDomain(*connectcases.CreateDomainInput) (*connectcases.CreateDomainOutput, error) + CreateDomainWithContext(aws.Context, *connectcases.CreateDomainInput, ...request.Option) (*connectcases.CreateDomainOutput, error) + CreateDomainRequest(*connectcases.CreateDomainInput) (*request.Request, *connectcases.CreateDomainOutput) + + CreateField(*connectcases.CreateFieldInput) (*connectcases.CreateFieldOutput, error) + CreateFieldWithContext(aws.Context, *connectcases.CreateFieldInput, ...request.Option) (*connectcases.CreateFieldOutput, error) + CreateFieldRequest(*connectcases.CreateFieldInput) (*request.Request, *connectcases.CreateFieldOutput) + + CreateLayout(*connectcases.CreateLayoutInput) (*connectcases.CreateLayoutOutput, error) + CreateLayoutWithContext(aws.Context, *connectcases.CreateLayoutInput, ...request.Option) (*connectcases.CreateLayoutOutput, error) + CreateLayoutRequest(*connectcases.CreateLayoutInput) (*request.Request, *connectcases.CreateLayoutOutput) + + CreateRelatedItem(*connectcases.CreateRelatedItemInput) (*connectcases.CreateRelatedItemOutput, error) + CreateRelatedItemWithContext(aws.Context, *connectcases.CreateRelatedItemInput, ...request.Option) (*connectcases.CreateRelatedItemOutput, error) + CreateRelatedItemRequest(*connectcases.CreateRelatedItemInput) (*request.Request, *connectcases.CreateRelatedItemOutput) + + CreateTemplate(*connectcases.CreateTemplateInput) (*connectcases.CreateTemplateOutput, error) + CreateTemplateWithContext(aws.Context, *connectcases.CreateTemplateInput, ...request.Option) (*connectcases.CreateTemplateOutput, error) + CreateTemplateRequest(*connectcases.CreateTemplateInput) (*request.Request, *connectcases.CreateTemplateOutput) + + GetCase(*connectcases.GetCaseInput) (*connectcases.GetCaseOutput, error) + GetCaseWithContext(aws.Context, *connectcases.GetCaseInput, ...request.Option) (*connectcases.GetCaseOutput, error) + GetCaseRequest(*connectcases.GetCaseInput) (*request.Request, *connectcases.GetCaseOutput) + + GetCasePages(*connectcases.GetCaseInput, func(*connectcases.GetCaseOutput, bool) bool) error + GetCasePagesWithContext(aws.Context, *connectcases.GetCaseInput, func(*connectcases.GetCaseOutput, bool) bool, ...request.Option) error + + GetCaseEventConfiguration(*connectcases.GetCaseEventConfigurationInput) (*connectcases.GetCaseEventConfigurationOutput, error) + GetCaseEventConfigurationWithContext(aws.Context, *connectcases.GetCaseEventConfigurationInput, ...request.Option) (*connectcases.GetCaseEventConfigurationOutput, error) + GetCaseEventConfigurationRequest(*connectcases.GetCaseEventConfigurationInput) (*request.Request, *connectcases.GetCaseEventConfigurationOutput) + + GetDomain(*connectcases.GetDomainInput) (*connectcases.GetDomainOutput, error) + GetDomainWithContext(aws.Context, *connectcases.GetDomainInput, ...request.Option) (*connectcases.GetDomainOutput, error) + GetDomainRequest(*connectcases.GetDomainInput) (*request.Request, *connectcases.GetDomainOutput) + + GetLayout(*connectcases.GetLayoutInput) (*connectcases.GetLayoutOutput, error) + GetLayoutWithContext(aws.Context, *connectcases.GetLayoutInput, ...request.Option) (*connectcases.GetLayoutOutput, error) + GetLayoutRequest(*connectcases.GetLayoutInput) (*request.Request, *connectcases.GetLayoutOutput) + + GetTemplate(*connectcases.GetTemplateInput) (*connectcases.GetTemplateOutput, error) + GetTemplateWithContext(aws.Context, *connectcases.GetTemplateInput, ...request.Option) (*connectcases.GetTemplateOutput, error) + GetTemplateRequest(*connectcases.GetTemplateInput) (*request.Request, *connectcases.GetTemplateOutput) + + ListCasesForContact(*connectcases.ListCasesForContactInput) (*connectcases.ListCasesForContactOutput, error) + ListCasesForContactWithContext(aws.Context, *connectcases.ListCasesForContactInput, ...request.Option) (*connectcases.ListCasesForContactOutput, error) + ListCasesForContactRequest(*connectcases.ListCasesForContactInput) (*request.Request, *connectcases.ListCasesForContactOutput) + + ListCasesForContactPages(*connectcases.ListCasesForContactInput, func(*connectcases.ListCasesForContactOutput, bool) bool) error + ListCasesForContactPagesWithContext(aws.Context, *connectcases.ListCasesForContactInput, func(*connectcases.ListCasesForContactOutput, bool) bool, ...request.Option) error + + ListDomains(*connectcases.ListDomainsInput) (*connectcases.ListDomainsOutput, error) + ListDomainsWithContext(aws.Context, *connectcases.ListDomainsInput, ...request.Option) (*connectcases.ListDomainsOutput, error) + ListDomainsRequest(*connectcases.ListDomainsInput) (*request.Request, *connectcases.ListDomainsOutput) + + ListDomainsPages(*connectcases.ListDomainsInput, func(*connectcases.ListDomainsOutput, bool) bool) error + ListDomainsPagesWithContext(aws.Context, *connectcases.ListDomainsInput, func(*connectcases.ListDomainsOutput, bool) bool, ...request.Option) error + + ListFieldOptions(*connectcases.ListFieldOptionsInput) (*connectcases.ListFieldOptionsOutput, error) + ListFieldOptionsWithContext(aws.Context, *connectcases.ListFieldOptionsInput, ...request.Option) (*connectcases.ListFieldOptionsOutput, error) + ListFieldOptionsRequest(*connectcases.ListFieldOptionsInput) (*request.Request, *connectcases.ListFieldOptionsOutput) + + ListFieldOptionsPages(*connectcases.ListFieldOptionsInput, func(*connectcases.ListFieldOptionsOutput, bool) bool) error + ListFieldOptionsPagesWithContext(aws.Context, *connectcases.ListFieldOptionsInput, func(*connectcases.ListFieldOptionsOutput, bool) bool, ...request.Option) error + + ListFields(*connectcases.ListFieldsInput) (*connectcases.ListFieldsOutput, error) + ListFieldsWithContext(aws.Context, *connectcases.ListFieldsInput, ...request.Option) (*connectcases.ListFieldsOutput, error) + ListFieldsRequest(*connectcases.ListFieldsInput) (*request.Request, *connectcases.ListFieldsOutput) + + ListFieldsPages(*connectcases.ListFieldsInput, func(*connectcases.ListFieldsOutput, bool) bool) error + ListFieldsPagesWithContext(aws.Context, *connectcases.ListFieldsInput, func(*connectcases.ListFieldsOutput, bool) bool, ...request.Option) error + + ListLayouts(*connectcases.ListLayoutsInput) (*connectcases.ListLayoutsOutput, error) + ListLayoutsWithContext(aws.Context, *connectcases.ListLayoutsInput, ...request.Option) (*connectcases.ListLayoutsOutput, error) + ListLayoutsRequest(*connectcases.ListLayoutsInput) (*request.Request, *connectcases.ListLayoutsOutput) + + ListLayoutsPages(*connectcases.ListLayoutsInput, func(*connectcases.ListLayoutsOutput, bool) bool) error + ListLayoutsPagesWithContext(aws.Context, *connectcases.ListLayoutsInput, func(*connectcases.ListLayoutsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*connectcases.ListTagsForResourceInput) (*connectcases.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *connectcases.ListTagsForResourceInput, ...request.Option) (*connectcases.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*connectcases.ListTagsForResourceInput) (*request.Request, *connectcases.ListTagsForResourceOutput) + + ListTemplates(*connectcases.ListTemplatesInput) (*connectcases.ListTemplatesOutput, error) + ListTemplatesWithContext(aws.Context, *connectcases.ListTemplatesInput, ...request.Option) (*connectcases.ListTemplatesOutput, error) + ListTemplatesRequest(*connectcases.ListTemplatesInput) (*request.Request, *connectcases.ListTemplatesOutput) + + ListTemplatesPages(*connectcases.ListTemplatesInput, func(*connectcases.ListTemplatesOutput, bool) bool) error + ListTemplatesPagesWithContext(aws.Context, *connectcases.ListTemplatesInput, func(*connectcases.ListTemplatesOutput, bool) bool, ...request.Option) error + + PutCaseEventConfiguration(*connectcases.PutCaseEventConfigurationInput) (*connectcases.PutCaseEventConfigurationOutput, error) + PutCaseEventConfigurationWithContext(aws.Context, *connectcases.PutCaseEventConfigurationInput, ...request.Option) (*connectcases.PutCaseEventConfigurationOutput, error) + PutCaseEventConfigurationRequest(*connectcases.PutCaseEventConfigurationInput) (*request.Request, *connectcases.PutCaseEventConfigurationOutput) + + SearchCases(*connectcases.SearchCasesInput) (*connectcases.SearchCasesOutput, error) + SearchCasesWithContext(aws.Context, *connectcases.SearchCasesInput, ...request.Option) (*connectcases.SearchCasesOutput, error) + SearchCasesRequest(*connectcases.SearchCasesInput) (*request.Request, *connectcases.SearchCasesOutput) + + SearchCasesPages(*connectcases.SearchCasesInput, func(*connectcases.SearchCasesOutput, bool) bool) error + SearchCasesPagesWithContext(aws.Context, *connectcases.SearchCasesInput, func(*connectcases.SearchCasesOutput, bool) bool, ...request.Option) error + + SearchRelatedItems(*connectcases.SearchRelatedItemsInput) (*connectcases.SearchRelatedItemsOutput, error) + SearchRelatedItemsWithContext(aws.Context, *connectcases.SearchRelatedItemsInput, ...request.Option) (*connectcases.SearchRelatedItemsOutput, error) + SearchRelatedItemsRequest(*connectcases.SearchRelatedItemsInput) (*request.Request, *connectcases.SearchRelatedItemsOutput) + + SearchRelatedItemsPages(*connectcases.SearchRelatedItemsInput, func(*connectcases.SearchRelatedItemsOutput, bool) bool) error + SearchRelatedItemsPagesWithContext(aws.Context, *connectcases.SearchRelatedItemsInput, func(*connectcases.SearchRelatedItemsOutput, bool) bool, ...request.Option) error + + TagResource(*connectcases.TagResourceInput) (*connectcases.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *connectcases.TagResourceInput, ...request.Option) (*connectcases.TagResourceOutput, error) + TagResourceRequest(*connectcases.TagResourceInput) (*request.Request, *connectcases.TagResourceOutput) + + UntagResource(*connectcases.UntagResourceInput) (*connectcases.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *connectcases.UntagResourceInput, ...request.Option) (*connectcases.UntagResourceOutput, error) + UntagResourceRequest(*connectcases.UntagResourceInput) (*request.Request, *connectcases.UntagResourceOutput) + + UpdateCase(*connectcases.UpdateCaseInput) (*connectcases.UpdateCaseOutput, error) + UpdateCaseWithContext(aws.Context, *connectcases.UpdateCaseInput, ...request.Option) (*connectcases.UpdateCaseOutput, error) + UpdateCaseRequest(*connectcases.UpdateCaseInput) (*request.Request, *connectcases.UpdateCaseOutput) + + UpdateField(*connectcases.UpdateFieldInput) (*connectcases.UpdateFieldOutput, error) + UpdateFieldWithContext(aws.Context, *connectcases.UpdateFieldInput, ...request.Option) (*connectcases.UpdateFieldOutput, error) + UpdateFieldRequest(*connectcases.UpdateFieldInput) (*request.Request, *connectcases.UpdateFieldOutput) + + UpdateLayout(*connectcases.UpdateLayoutInput) (*connectcases.UpdateLayoutOutput, error) + UpdateLayoutWithContext(aws.Context, *connectcases.UpdateLayoutInput, ...request.Option) (*connectcases.UpdateLayoutOutput, error) + UpdateLayoutRequest(*connectcases.UpdateLayoutInput) (*request.Request, *connectcases.UpdateLayoutOutput) + + UpdateTemplate(*connectcases.UpdateTemplateInput) (*connectcases.UpdateTemplateOutput, error) + UpdateTemplateWithContext(aws.Context, *connectcases.UpdateTemplateInput, ...request.Option) (*connectcases.UpdateTemplateOutput, error) + UpdateTemplateRequest(*connectcases.UpdateTemplateInput) (*request.Request, *connectcases.UpdateTemplateOutput) +} + +var _ ConnectCasesAPI = (*connectcases.ConnectCases)(nil) diff --git a/service/connectcases/doc.go b/service/connectcases/doc.go new file mode 100644 index 00000000000..1b7b3c19a8e --- /dev/null +++ b/service/connectcases/doc.go @@ -0,0 +1,34 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package connectcases provides the client and types for making API +// requests to Amazon Connect Cases. +// +// Welcome to the Amazon Connect Cases API Reference. This guide provides information +// about the Amazon Connect Cases API, which you can use to create, update, +// get, and list Cases domains, fields, field options, layouts, templates, cases, +// related items, and tags. +// +//For more information about Amazon Connect Cases, see Amazon +// Connect Cases in the Amazon Connect Administrator Guide.
+// +// See https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03 for more information on this service. +// +// See connectcases package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/connectcases/ +// +// # Using the Client +// +// To contact Amazon Connect Cases with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the Amazon Connect Cases client ConnectCases for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/connectcases/#New +package connectcases diff --git a/service/connectcases/errors.go b/service/connectcases/errors.go new file mode 100644 index 00000000000..c8e0a63fc5c --- /dev/null +++ b/service/connectcases/errors.go @@ -0,0 +1,69 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package connectcases + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You do not have sufficient access to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The requested operation would cause a conflict with the current state of + // a service resource associated with the request. Resolve the conflict before + // retrying this request. See the accompanying error message for details. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // We couldn't process your request because of an issue with the server. Try + // again later. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // We couldn't find the requested resource. Check that your resources exists + // and were created in the same Amazon Web Services Region as your request, + // and try your request again. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // The service quota has been exceeded. For a list of service quotas, see Amazon + // Connect Service Quotas (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) + // in the Amazon Connect Administrator Guide. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // The rate has been exceeded for this API. Please try again after a few minutes. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The request isn't valid. Check the syntax and try again. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ThrottlingException": newErrorThrottlingException, + "ValidationException": newErrorValidationException, +} diff --git a/service/connectcases/service.go b/service/connectcases/service.go new file mode 100644 index 00000000000..f0087cbdbb8 --- /dev/null +++ b/service/connectcases/service.go @@ -0,0 +1,106 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package connectcases + +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" +) + +// ConnectCases provides the API operation methods for making requests to +// Amazon Connect Cases. See this package's package overview docs +// for details on the service. +// +// ConnectCases methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type ConnectCases 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 = "ConnectCases" // Name of service. + EndpointsID = "cases" // ID to lookup a service endpoint with. + ServiceID = "ConnectCases" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the ConnectCases 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 ConnectCases client from just a session. +// svc := connectcases.New(mySession) +// +// // Create a ConnectCases client with additional configuration +// svc := connectcases.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *ConnectCases { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "cases" + } + 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) *ConnectCases { + svc := &ConnectCases{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2022-10-03", + 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 ConnectCases operation and runs any +// custom request initialization. +func (c *ConnectCases) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/ec2/api.go b/service/ec2/api.go index 2bf30147e04..c13d0c3d3ad 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -97913,6 +97913,9 @@ type DescribeVpcAttributeOutput struct { // to their corresponding IP addresses; otherwise, it does not. EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"` + // Indicates whether Network Address Usage metrics are enabled for your VPC. + EnableNetworkAddressUsageMetrics *AttributeBooleanValue `locationName:"enableNetworkAddressUsageMetrics" type:"structure"` + // The ID of the VPC. VpcId *string `locationName:"vpcId" type:"string"` } @@ -97947,6 +97950,12 @@ func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValu return s } +// SetEnableNetworkAddressUsageMetrics sets the EnableNetworkAddressUsageMetrics field's value. +func (s *DescribeVpcAttributeOutput) SetEnableNetworkAddressUsageMetrics(v *AttributeBooleanValue) *DescribeVpcAttributeOutput { + s.EnableNetworkAddressUsageMetrics = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput { s.VpcId = &v @@ -134104,6 +134113,9 @@ type ModifyVpcAttributeInput struct { // same request. Use separate requests for each attribute. EnableDnsSupport *AttributeBooleanValue `type:"structure"` + // Indicates whether Network Address Usage metrics are enabled for your VPC. + EnableNetworkAddressUsageMetrics *AttributeBooleanValue `type:"structure"` + // The ID of the VPC. // // VpcId is a required field @@ -134153,6 +134165,12 @@ func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) return s } +// SetEnableNetworkAddressUsageMetrics sets the EnableNetworkAddressUsageMetrics field's value. +func (s *ModifyVpcAttributeInput) SetEnableNetworkAddressUsageMetrics(v *AttributeBooleanValue) *ModifyVpcAttributeInput { + s.EnableNetworkAddressUsageMetrics = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput { s.VpcId = &v @@ -174230,6 +174248,9 @@ const ( // VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames" + + // VpcAttributeNameEnableNetworkAddressUsageMetrics is a VpcAttributeName enum value + VpcAttributeNameEnableNetworkAddressUsageMetrics = "enableNetworkAddressUsageMetrics" ) // VpcAttributeName_Values returns all elements of the VpcAttributeName enum @@ -174237,6 +174258,7 @@ func VpcAttributeName_Values() []string { return []string{ VpcAttributeNameEnableDnsSupport, VpcAttributeNameEnableDnsHostnames, + VpcAttributeNameEnableNetworkAddressUsageMetrics, } } diff --git a/service/ecs/api.go b/service/ecs/api.go index 7b4dd2a1fb9..36e3c733f4a 100644 --- a/service/ecs/api.go +++ b/service/ecs/api.go @@ -16706,9 +16706,6 @@ type PortMapping struct { // range as these are reserved for automatic assignment. In general, ports below // 32768 are outside of the ephemeral port range. // - // The default ephemeral port range from 49153 through 65535 is always used - // for Docker versions before 1.6.0. - // // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, // and the Amazon ECS container agent ports 51678-51680. Any host port that // was previously specified in a running task is also reserved while the task @@ -16872,6 +16869,12 @@ type PutAccountSettingDefaultInput struct { // is specified, the default setting for CloudWatch Container Insights for your // clusters is affected. // + // Fargate is transitioning from task count-based quotas to vCPU-based quotas. + // You can set the name to fargateVCPULimit to opt in or opt out of the vCPU-based + // quotas. For information about the opt in timeline, see Fargate vCPU-based + // quotas timeline (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#fargate-quota-timeline) + // in the Amazon ECS Developer Guide. + // // Name is a required field Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` @@ -17584,8 +17587,6 @@ type RegisterTaskDefinitionInput struct { // platform versions: // // * Linux platform version 1.4.0 or later. - // - // * Windows platform version 1.0.0 or later. EphemeralStorage *EphemeralStorage `locationName:"ephemeralStorage" type:"structure"` // The Amazon Resource Name (ARN) of the task execution role that grants the diff --git a/service/s3control/api.go b/service/s3control/api.go index e5e442f633b..dbb40b753e7 100644 --- a/service/s3control/api.go +++ b/service/s3control/api.go @@ -20065,6 +20065,12 @@ const ( // ObjectLambdaAllowedFeatureGetObjectPartNumber is a ObjectLambdaAllowedFeature enum value ObjectLambdaAllowedFeatureGetObjectPartNumber = "GetObject-PartNumber" + + // ObjectLambdaAllowedFeatureHeadObjectRange is a ObjectLambdaAllowedFeature enum value + ObjectLambdaAllowedFeatureHeadObjectRange = "HeadObject-Range" + + // ObjectLambdaAllowedFeatureHeadObjectPartNumber is a ObjectLambdaAllowedFeature enum value + ObjectLambdaAllowedFeatureHeadObjectPartNumber = "HeadObject-PartNumber" ) // ObjectLambdaAllowedFeature_Values returns all elements of the ObjectLambdaAllowedFeature enum @@ -20072,18 +20078,32 @@ func ObjectLambdaAllowedFeature_Values() []string { return []string{ ObjectLambdaAllowedFeatureGetObjectRange, ObjectLambdaAllowedFeatureGetObjectPartNumber, + ObjectLambdaAllowedFeatureHeadObjectRange, + ObjectLambdaAllowedFeatureHeadObjectPartNumber, } } const ( // ObjectLambdaTransformationConfigurationActionGetObject is a ObjectLambdaTransformationConfigurationAction enum value ObjectLambdaTransformationConfigurationActionGetObject = "GetObject" + + // ObjectLambdaTransformationConfigurationActionHeadObject is a ObjectLambdaTransformationConfigurationAction enum value + ObjectLambdaTransformationConfigurationActionHeadObject = "HeadObject" + + // ObjectLambdaTransformationConfigurationActionListObjects is a ObjectLambdaTransformationConfigurationAction enum value + ObjectLambdaTransformationConfigurationActionListObjects = "ListObjects" + + // ObjectLambdaTransformationConfigurationActionListObjectsV2 is a ObjectLambdaTransformationConfigurationAction enum value + ObjectLambdaTransformationConfigurationActionListObjectsV2 = "ListObjectsV2" ) // ObjectLambdaTransformationConfigurationAction_Values returns all elements of the ObjectLambdaTransformationConfigurationAction enum func ObjectLambdaTransformationConfigurationAction_Values() []string { return []string{ ObjectLambdaTransformationConfigurationActionGetObject, + ObjectLambdaTransformationConfigurationActionHeadObject, + ObjectLambdaTransformationConfigurationActionListObjects, + ObjectLambdaTransformationConfigurationActionListObjectsV2, } } diff --git a/service/workmail/api.go b/service/workmail/api.go index ff17d81932a..42a99457318 100644 --- a/service/workmail/api.go +++ b/service/workmail/api.go @@ -214,6 +214,97 @@ func (c *WorkMail) AssociateMemberToGroupWithContext(ctx aws.Context, input *Ass return out, req.Send() } +const opAssumeImpersonationRole = "AssumeImpersonationRole" + +// AssumeImpersonationRoleRequest generates a "aws/request.Request" representing the +// client's request for the AssumeImpersonationRole operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssumeImpersonationRole for more information on using the AssumeImpersonationRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the AssumeImpersonationRoleRequest method. +// req, resp := client.AssumeImpersonationRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AssumeImpersonationRole +func (c *WorkMail) AssumeImpersonationRoleRequest(input *AssumeImpersonationRoleInput) (req *request.Request, output *AssumeImpersonationRoleOutput) { + op := &request.Operation{ + Name: opAssumeImpersonationRole, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssumeImpersonationRoleInput{} + } + + output = &AssumeImpersonationRoleOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssumeImpersonationRole API operation for Amazon WorkMail. +// +// Assumes an impersonation role for the given WorkMail organization. This method +// returns an authentication token you can use to make impersonated calls. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkMail's +// API operation AssumeImpersonationRole for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// - OrganizationNotFoundException +// An operation received a valid organization identifier that either doesn't +// belong or exist in the system. +// +// - OrganizationStateException +// The organization must have a valid state to perform certain operations on +// the organization or its members. +// +// - ResourceNotFoundException +// The resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AssumeImpersonationRole +func (c *WorkMail) AssumeImpersonationRole(input *AssumeImpersonationRoleInput) (*AssumeImpersonationRoleOutput, error) { + req, out := c.AssumeImpersonationRoleRequest(input) + return out, req.Send() +} + +// AssumeImpersonationRoleWithContext is the same as AssumeImpersonationRole with the addition of +// the ability to pass a context and additional request options. +// +// See AssumeImpersonationRole for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkMail) AssumeImpersonationRoleWithContext(ctx aws.Context, input *AssumeImpersonationRoleInput, opts ...request.Option) (*AssumeImpersonationRoleOutput, error) { + req, out := c.AssumeImpersonationRoleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCancelMailboxExportJob = "CancelMailboxExportJob" // CancelMailboxExportJobRequest generates a "aws/request.Request" representing the @@ -353,7 +444,7 @@ func (c *WorkMail) CreateAliasRequest(input *CreateAliasInput) (req *request.Req // CreateAlias API operation for Amazon WorkMail. // -// Adds an alias to the set of a given member (user or group) of Amazon WorkMail. +// Adds an alias to the set of a given member (user or group) of WorkMail. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -484,7 +575,7 @@ func (c *WorkMail) CreateAvailabilityConfigurationRequest(input *CreateAvailabil // the organization or its members. // // - NameAvailabilityException -// The user, group, or resource name isn't unique in Amazon WorkMail. +// The user, group, or resource name isn't unique in WorkMail. // // - InvalidParameterException // One or more of the input parameters don't match the service's restrictions. @@ -557,7 +648,7 @@ func (c *WorkMail) CreateGroupRequest(input *CreateGroupInput) (req *request.Req // CreateGroup API operation for Amazon WorkMail. // -// Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail +// Creates a group that can be used in WorkMail by calling the RegisterToWorkMail // operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -579,7 +670,7 @@ func (c *WorkMail) CreateGroupRequest(input *CreateGroupInput) (req *request.Req // One or more of the input parameters don't match the service's restrictions. // // - NameAvailabilityException -// The user, group, or resource name isn't unique in Amazon WorkMail. +// The user, group, or resource name isn't unique in WorkMail. // // - OrganizationNotFoundException // An operation received a valid organization identifier that either doesn't @@ -590,7 +681,7 @@ func (c *WorkMail) CreateGroupRequest(input *CreateGroupInput) (req *request.Req // the organization or its members. // // - ReservedNameException -// This user, group, or resource name is not allowed in Amazon WorkMail. +// This user, group, or resource name is not allowed in WorkMail. // // - UnsupportedOperationException // You can't perform a write operation against a read-only directory. @@ -617,6 +708,109 @@ func (c *WorkMail) CreateGroupWithContext(ctx aws.Context, input *CreateGroupInp return out, req.Send() } +const opCreateImpersonationRole = "CreateImpersonationRole" + +// CreateImpersonationRoleRequest generates a "aws/request.Request" representing the +// client's request for the CreateImpersonationRole operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateImpersonationRole for more information on using the CreateImpersonationRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateImpersonationRoleRequest method. +// req, resp := client.CreateImpersonationRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateImpersonationRole +func (c *WorkMail) CreateImpersonationRoleRequest(input *CreateImpersonationRoleInput) (req *request.Request, output *CreateImpersonationRoleOutput) { + op := &request.Operation{ + Name: opCreateImpersonationRole, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateImpersonationRoleInput{} + } + + output = &CreateImpersonationRoleOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateImpersonationRole API operation for Amazon WorkMail. +// +// Creates an impersonation role for the given WorkMail organization. +// +// Idempotency ensures that an API request completes no more than one time. +// With an idempotent request, if the original request completes successfully, +// any subsequent retries also complete successfully without performing any +// further actions. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkMail's +// API operation CreateImpersonationRole for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// - OrganizationNotFoundException +// An operation received a valid organization identifier that either doesn't +// belong or exist in the system. +// +// - OrganizationStateException +// The organization must have a valid state to perform certain operations on +// the organization or its members. +// +// - EntityNotFoundException +// The identifier supplied for the user, group, or resource does not exist in +// your organization. +// +// - EntityStateException +// You are performing an operation on a user, group, or resource that isn't +// in the expected state, such as trying to delete an active user. +// +// - LimitExceededException +// The request exceeds the limit of the resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateImpersonationRole +func (c *WorkMail) CreateImpersonationRole(input *CreateImpersonationRoleInput) (*CreateImpersonationRoleOutput, error) { + req, out := c.CreateImpersonationRoleRequest(input) + return out, req.Send() +} + +// CreateImpersonationRoleWithContext is the same as CreateImpersonationRole with the addition of +// the ability to pass a context and additional request options. +// +// See CreateImpersonationRole for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkMail) CreateImpersonationRoleWithContext(ctx aws.Context, input *CreateImpersonationRoleInput, opts ...request.Option) (*CreateImpersonationRoleOutput, error) { + req, out := c.CreateImpersonationRoleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateMobileDeviceAccessRule = "CreateMobileDeviceAccessRule" // CreateMobileDeviceAccessRuleRequest generates a "aws/request.Request" representing the @@ -660,8 +854,7 @@ func (c *WorkMail) CreateMobileDeviceAccessRuleRequest(input *CreateMobileDevice // CreateMobileDeviceAccessRule API operation for Amazon WorkMail. // -// Creates a new mobile device access rule for the specified Amazon WorkMail -// organization. +// Creates a new mobile device access rule for the specified WorkMail organization. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -751,25 +944,24 @@ func (c *WorkMail) CreateOrganizationRequest(input *CreateOrganizationInput) (re // CreateOrganization API operation for Amazon WorkMail. // -// Creates a new Amazon WorkMail organization. Optionally, you can choose to -// associate an existing AWS Directory Service directory with your organization. -// If an AWS Directory Service directory ID is specified, the organization alias -// must match the directory alias. If you choose not to associate an existing -// directory with your organization, then we create a new Amazon WorkMail directory -// for you. For more information, see Adding an organization (https://docs.aws.amazon.com/workmail/latest/adminguide/add_new_organization.html) -// in the Amazon WorkMail Administrator Guide. +// Creates a new WorkMail organization. Optionally, you can choose to associate +// an existing AWS Directory Service directory with your organization. If an +// AWS Directory Service directory ID is specified, the organization alias must +// match the directory alias. If you choose not to associate an existing directory +// with your organization, then we create a new WorkMail directory for you. +// For more information, see Adding an organization (https://docs.aws.amazon.com/workmail/latest/adminguide/add_new_organization.html) +// in the WorkMail Administrator Guide. // -// You can associate multiple email domains with an organization, then set your -// default email domain from the Amazon WorkMail console. You can also associate +// You can associate multiple email domains with an organization, then choose +// your default email domain from the WorkMail console. You can also associate // a domain that is managed in an Amazon Route 53 public hosted zone. For more // information, see Adding a domain (https://docs.aws.amazon.com/workmail/latest/adminguide/add_domain.html) // and Choosing the default domain (https://docs.aws.amazon.com/workmail/latest/adminguide/default_domain.html) -// in the Amazon WorkMail Administrator Guide. +// in the WorkMail Administrator Guide. // -// Optionally, you can use a customer managed master key from AWS Key Management -// Service (AWS KMS) to encrypt email for your organization. If you don't associate -// an AWS KMS key, Amazon WorkMail creates a default AWS managed master key -// for you. +// Optionally, you can use a customer managed key from AWS Key Management Service +// (AWS KMS) to encrypt email for your organization. If you don't associate +// an AWS KMS key, WorkMail creates a default, AWS managed key for you. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -794,7 +986,7 @@ func (c *WorkMail) CreateOrganizationRequest(input *CreateOrganizationInput) (re // The request exceeds the limit of the resource. // // - NameAvailabilityException -// The user, group, or resource name isn't unique in Amazon WorkMail. +// The user, group, or resource name isn't unique in WorkMail. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateOrganization func (c *WorkMail) CreateOrganization(input *CreateOrganizationInput) (*CreateOrganizationOutput, error) { @@ -861,7 +1053,7 @@ func (c *WorkMail) CreateResourceRequest(input *CreateResourceInput) (req *reque // CreateResource API operation for Amazon WorkMail. // -// Creates a new Amazon WorkMail resource. +// Creates a new WorkMail resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -882,7 +1074,7 @@ func (c *WorkMail) CreateResourceRequest(input *CreateResourceInput) (req *reque // One or more of the input parameters don't match the service's restrictions. // // - NameAvailabilityException -// The user, group, or resource name isn't unique in Amazon WorkMail. +// The user, group, or resource name isn't unique in WorkMail. // // - OrganizationNotFoundException // An operation received a valid organization identifier that either doesn't @@ -893,7 +1085,7 @@ func (c *WorkMail) CreateResourceRequest(input *CreateResourceInput) (req *reque // the organization or its members. // // - ReservedNameException -// This user, group, or resource name is not allowed in Amazon WorkMail. +// This user, group, or resource name is not allowed in WorkMail. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateResource func (c *WorkMail) CreateResource(input *CreateResourceInput) (*CreateResourceOutput, error) { @@ -960,7 +1152,7 @@ func (c *WorkMail) CreateUserRequest(input *CreateUserInput) (req *request.Reque // CreateUser API operation for Amazon WorkMail. // -// Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail +// Creates a user who can be used in WorkMail by calling the RegisterToWorkMail // operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -986,7 +1178,7 @@ func (c *WorkMail) CreateUserRequest(input *CreateUserInput) (req *request.Reque // as length or use of special characters. // // - NameAvailabilityException -// The user, group, or resource name isn't unique in Amazon WorkMail. +// The user, group, or resource name isn't unique in WorkMail. // // - OrganizationNotFoundException // An operation received a valid organization identifier that either doesn't @@ -997,7 +1189,7 @@ func (c *WorkMail) CreateUserRequest(input *CreateUserInput) (req *request.Reque // the organization or its members. // // - ReservedNameException -// This user, group, or resource name is not allowed in Amazon WorkMail. +// This user, group, or resource name is not allowed in WorkMail. // // - UnsupportedOperationException // You can't perform a write operation against a read-only directory. @@ -1427,7 +1619,7 @@ func (c *WorkMail) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Req // DeleteGroup API operation for Amazon WorkMail. // -// Deletes a group from Amazon WorkMail. +// Deletes a group from WorkMail. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1484,6 +1676,94 @@ func (c *WorkMail) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInp return out, req.Send() } +const opDeleteImpersonationRole = "DeleteImpersonationRole" + +// DeleteImpersonationRoleRequest generates a "aws/request.Request" representing the +// client's request for the DeleteImpersonationRole operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteImpersonationRole for more information on using the DeleteImpersonationRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteImpersonationRoleRequest method. +// req, resp := client.DeleteImpersonationRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteImpersonationRole +func (c *WorkMail) DeleteImpersonationRoleRequest(input *DeleteImpersonationRoleInput) (req *request.Request, output *DeleteImpersonationRoleOutput) { + op := &request.Operation{ + Name: opDeleteImpersonationRole, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteImpersonationRoleInput{} + } + + output = &DeleteImpersonationRoleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteImpersonationRole API operation for Amazon WorkMail. +// +// Deletes an impersonation role for the given WorkMail organization. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkMail's +// API operation DeleteImpersonationRole for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// - OrganizationNotFoundException +// An operation received a valid organization identifier that either doesn't +// belong or exist in the system. +// +// - OrganizationStateException +// The organization must have a valid state to perform certain operations on +// the organization or its members. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteImpersonationRole +func (c *WorkMail) DeleteImpersonationRole(input *DeleteImpersonationRoleInput) (*DeleteImpersonationRoleOutput, error) { + req, out := c.DeleteImpersonationRoleRequest(input) + return out, req.Send() +} + +// DeleteImpersonationRoleWithContext is the same as DeleteImpersonationRole with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteImpersonationRole for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkMail) DeleteImpersonationRoleWithContext(ctx aws.Context, input *DeleteImpersonationRoleInput, opts ...request.Option) (*DeleteImpersonationRoleOutput, error) { + req, out := c.DeleteImpersonationRoleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteMailboxPermissions = "DeleteMailboxPermissions" // DeleteMailboxPermissionsRequest generates a "aws/request.Request" representing the @@ -1721,7 +2001,7 @@ func (c *WorkMail) DeleteMobileDeviceAccessRuleRequest(input *DeleteMobileDevice // DeleteMobileDeviceAccessRule API operation for Amazon WorkMail. // -// Deletes a mobile device access rule for the specified Amazon WorkMail organization. +// Deletes a mobile device access rule for the specified WorkMail organization. // // Deleting already deleted and non-existing rules does not produce an error. // In those cases, the service sends back an HTTP 200 response with an empty @@ -1812,11 +2092,11 @@ func (c *WorkMail) DeleteOrganizationRequest(input *DeleteOrganizationInput) (re // DeleteOrganization API operation for Amazon WorkMail. // -// Deletes an Amazon WorkMail organization and all underlying AWS resources -// managed by Amazon WorkMail as part of the organization. You can choose whether -// to delete the associated directory. For more information, see Removing an -// organization (https://docs.aws.amazon.com/workmail/latest/adminguide/remove_organization.html) -// in the Amazon WorkMail Administrator Guide. +// Deletes an WorkMail organization and all underlying AWS resources managed +// by WorkMail as part of the organization. You can choose whether to delete +// the associated directory. For more information, see Removing an organization +// (https://docs.aws.amazon.com/workmail/latest/adminguide/remove_organization.html) +// in the WorkMail Administrator Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2084,9 +2364,9 @@ func (c *WorkMail) DeleteUserRequest(input *DeleteUserInput) (req *request.Reque // DeleteUser API operation for Amazon WorkMail. // -// Deletes a user from Amazon WorkMail and all subsequent systems. Before you -// can delete a user, the user state must be DISABLED. Use the DescribeUser -// action to confirm the user state. +// Deletes a user from WorkMail and all subsequent systems. Before you can delete +// a user, the user state must be DISABLED. Use the DescribeUser action to confirm +// the user state. // // Deleting a user is permanent and cannot be undone. WorkMail archives user // mailboxes for 30 days before they are permanently removed. @@ -2190,10 +2470,10 @@ func (c *WorkMail) DeregisterFromWorkMailRequest(input *DeregisterFromWorkMailIn // DeregisterFromWorkMail API operation for Amazon WorkMail. // -// Mark a user, group, or resource as no longer used in Amazon WorkMail. This -// action disassociates the mailbox and schedules it for clean-up. WorkMail -// keeps mailboxes for 30 days before they are permanently removed. The functionality -// in the console is Disable. +// Mark a user, group, or resource as no longer used in WorkMail. This action +// disassociates the mailbox and schedules it for clean-up. WorkMail keeps mailboxes +// for 30 days before they are permanently removed. The functionality in the +// console is Disable. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2289,10 +2569,10 @@ func (c *WorkMail) DeregisterMailDomainRequest(input *DeregisterMailDomainInput) // DeregisterMailDomain API operation for Amazon WorkMail. // -// Removes a domain from Amazon WorkMail, stops email routing to WorkMail, and -// removes the authorization allowing WorkMail use. SES keeps the domain because -// other applications may use it. You must first remove any email address used -// by WorkMail entities before you remove the domain. +// Removes a domain from WorkMail, stops email routing to WorkMail, and removes +// the authorization allowing WorkMail use. SES keeps the domain because other +// applications may use it. You must first remove any email address used by +// WorkMail entities before you remove the domain. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2319,9 +2599,9 @@ func (c *WorkMail) DeregisterMailDomainRequest(input *DeregisterMailDomainInput) // One or more of the input parameters don't match the service's restrictions. // // - InvalidCustomSesConfigurationException -// You SES configuration has customizations that Amazon WorkMail cannot save. -// The error message lists the invalid setting. For examples of invalid settings, -// refer to CreateReceiptRule (https://docs.aws.amazon.com/ses/latest/APIReference/API_CreateReceiptRule.html). +// You SES configuration has customizations that WorkMail cannot save. The error +// message lists the invalid setting. For examples of invalid settings, refer +// to CreateReceiptRule (https://docs.aws.amazon.com/ses/latest/APIReference/API_CreateReceiptRule.html). // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeregisterMailDomain func (c *WorkMail) DeregisterMailDomain(input *DeregisterMailDomainInput) (*DeregisterMailDomainOutput, error) { @@ -3211,7 +3491,9 @@ func (c *WorkMail) GetAccessControlEffectRequest(input *GetAccessControlEffectIn // GetAccessControlEffect API operation for Amazon WorkMail. // // Gets the effects of an organization's access control rules as they apply -// to a specified IPv4 address, access protocol action, or user ID. +// to a specified IPv4 address, access protocol action, and user ID or impersonation +// role ID. You must provide either the user ID or impersonation role ID. Impersonation +// role ID can only be used with Action EWS. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3226,6 +3508,9 @@ func (c *WorkMail) GetAccessControlEffectRequest(input *GetAccessControlEffectIn // The identifier supplied for the user, group, or resource does not exist in // your organization. // +// - ResourceNotFoundException +// The resource cannot be found. +// // - InvalidParameterException // One or more of the input parameters don't match the service's restrictions. // @@ -3350,63 +3635,62 @@ func (c *WorkMail) GetDefaultRetentionPolicyWithContext(ctx aws.Context, input * return out, req.Send() } -const opGetMailDomain = "GetMailDomain" +const opGetImpersonationRole = "GetImpersonationRole" -// GetMailDomainRequest generates a "aws/request.Request" representing the -// client's request for the GetMailDomain operation. The "output" return +// GetImpersonationRoleRequest generates a "aws/request.Request" representing the +// client's request for the GetImpersonationRole operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetMailDomain for more information on using the GetMailDomain +// See GetImpersonationRole for more information on using the GetImpersonationRole // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetMailDomainRequest method. -// req, resp := client.GetMailDomainRequest(params) +// // Example sending a request using the GetImpersonationRoleRequest method. +// req, resp := client.GetImpersonationRoleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetMailDomain -func (c *WorkMail) GetMailDomainRequest(input *GetMailDomainInput) (req *request.Request, output *GetMailDomainOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetImpersonationRole +func (c *WorkMail) GetImpersonationRoleRequest(input *GetImpersonationRoleInput) (req *request.Request, output *GetImpersonationRoleOutput) { op := &request.Operation{ - Name: opGetMailDomain, + Name: opGetImpersonationRole, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetMailDomainInput{} + input = &GetImpersonationRoleInput{} } - output = &GetMailDomainOutput{} + output = &GetImpersonationRoleOutput{} req = c.newRequest(op, input, output) return } -// GetMailDomain API operation for Amazon WorkMail. +// GetImpersonationRole API operation for Amazon WorkMail. // -// Gets details for a mail domain, including domain records required to configure -// your domain with recommended security. +// Gets the impersonation role details for the given WorkMail organization. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon WorkMail's -// API operation GetMailDomain for usage and error information. +// API operation GetImpersonationRole for usage and error information. // // Returned Error Types: // -// - MailDomainNotFoundException -// The domain specified is not found in your organization. +// - InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. // // - OrganizationNotFoundException // An operation received a valid organization identifier that either doesn't @@ -3416,59 +3700,248 @@ func (c *WorkMail) GetMailDomainRequest(input *GetMailDomainInput) (req *request // The organization must have a valid state to perform certain operations on // the organization or its members. // -// - InvalidParameterException -// One or more of the input parameters don't match the service's restrictions. +// - ResourceNotFoundException +// The resource cannot be found. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetMailDomain -func (c *WorkMail) GetMailDomain(input *GetMailDomainInput) (*GetMailDomainOutput, error) { - req, out := c.GetMailDomainRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetImpersonationRole +func (c *WorkMail) GetImpersonationRole(input *GetImpersonationRoleInput) (*GetImpersonationRoleOutput, error) { + req, out := c.GetImpersonationRoleRequest(input) return out, req.Send() } -// GetMailDomainWithContext is the same as GetMailDomain with the addition of +// GetImpersonationRoleWithContext is the same as GetImpersonationRole with the addition of // the ability to pass a context and additional request options. // -// See GetMailDomain for details on how to use this API operation. +// See GetImpersonationRole for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *WorkMail) GetMailDomainWithContext(ctx aws.Context, input *GetMailDomainInput, opts ...request.Option) (*GetMailDomainOutput, error) { - req, out := c.GetMailDomainRequest(input) +func (c *WorkMail) GetImpersonationRoleWithContext(ctx aws.Context, input *GetImpersonationRoleInput, opts ...request.Option) (*GetImpersonationRoleOutput, error) { + req, out := c.GetImpersonationRoleRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetMailboxDetails = "GetMailboxDetails" +const opGetImpersonationRoleEffect = "GetImpersonationRoleEffect" -// GetMailboxDetailsRequest generates a "aws/request.Request" representing the -// client's request for the GetMailboxDetails operation. The "output" return +// GetImpersonationRoleEffectRequest generates a "aws/request.Request" representing the +// client's request for the GetImpersonationRoleEffect operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetMailboxDetails for more information on using the GetMailboxDetails +// See GetImpersonationRoleEffect for more information on using the GetImpersonationRoleEffect // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetMailboxDetailsRequest method. -// req, resp := client.GetMailboxDetailsRequest(params) +// // Example sending a request using the GetImpersonationRoleEffectRequest method. +// req, resp := client.GetImpersonationRoleEffectRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetMailboxDetails -func (c *WorkMail) GetMailboxDetailsRequest(input *GetMailboxDetailsInput) (req *request.Request, output *GetMailboxDetailsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetImpersonationRoleEffect +func (c *WorkMail) GetImpersonationRoleEffectRequest(input *GetImpersonationRoleEffectInput) (req *request.Request, output *GetImpersonationRoleEffectOutput) { op := &request.Operation{ - Name: opGetMailboxDetails, + Name: opGetImpersonationRoleEffect, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetImpersonationRoleEffectInput{} + } + + output = &GetImpersonationRoleEffectOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetImpersonationRoleEffect API operation for Amazon WorkMail. +// +// Tests whether the given impersonation role can impersonate a target user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkMail's +// API operation GetImpersonationRoleEffect for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// - OrganizationNotFoundException +// An operation received a valid organization identifier that either doesn't +// belong or exist in the system. +// +// - OrganizationStateException +// The organization must have a valid state to perform certain operations on +// the organization or its members. +// +// - ResourceNotFoundException +// The resource cannot be found. +// +// - EntityNotFoundException +// The identifier supplied for the user, group, or resource does not exist in +// your organization. +// +// - EntityStateException +// You are performing an operation on a user, group, or resource that isn't +// in the expected state, such as trying to delete an active user. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetImpersonationRoleEffect +func (c *WorkMail) GetImpersonationRoleEffect(input *GetImpersonationRoleEffectInput) (*GetImpersonationRoleEffectOutput, error) { + req, out := c.GetImpersonationRoleEffectRequest(input) + return out, req.Send() +} + +// GetImpersonationRoleEffectWithContext is the same as GetImpersonationRoleEffect with the addition of +// the ability to pass a context and additional request options. +// +// See GetImpersonationRoleEffect for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkMail) GetImpersonationRoleEffectWithContext(ctx aws.Context, input *GetImpersonationRoleEffectInput, opts ...request.Option) (*GetImpersonationRoleEffectOutput, error) { + req, out := c.GetImpersonationRoleEffectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetMailDomain = "GetMailDomain" + +// GetMailDomainRequest generates a "aws/request.Request" representing the +// client's request for the GetMailDomain operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetMailDomain for more information on using the GetMailDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetMailDomainRequest method. +// req, resp := client.GetMailDomainRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetMailDomain +func (c *WorkMail) GetMailDomainRequest(input *GetMailDomainInput) (req *request.Request, output *GetMailDomainOutput) { + op := &request.Operation{ + Name: opGetMailDomain, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetMailDomainInput{} + } + + output = &GetMailDomainOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMailDomain API operation for Amazon WorkMail. +// +// Gets details for a mail domain, including domain records required to configure +// your domain with recommended security. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkMail's +// API operation GetMailDomain for usage and error information. +// +// Returned Error Types: +// +// - MailDomainNotFoundException +// The domain specified is not found in your organization. +// +// - OrganizationNotFoundException +// An operation received a valid organization identifier that either doesn't +// belong or exist in the system. +// +// - OrganizationStateException +// The organization must have a valid state to perform certain operations on +// the organization or its members. +// +// - InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetMailDomain +func (c *WorkMail) GetMailDomain(input *GetMailDomainInput) (*GetMailDomainOutput, error) { + req, out := c.GetMailDomainRequest(input) + return out, req.Send() +} + +// GetMailDomainWithContext is the same as GetMailDomain with the addition of +// the ability to pass a context and additional request options. +// +// See GetMailDomain for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkMail) GetMailDomainWithContext(ctx aws.Context, input *GetMailDomainInput, opts ...request.Option) (*GetMailDomainOutput, error) { + req, out := c.GetMailDomainRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetMailboxDetails = "GetMailboxDetails" + +// GetMailboxDetailsRequest generates a "aws/request.Request" representing the +// client's request for the GetMailboxDetails operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetMailboxDetails for more information on using the GetMailboxDetails +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetMailboxDetailsRequest method. +// req, resp := client.GetMailboxDetailsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetMailboxDetails +func (c *WorkMail) GetMailboxDetailsRequest(input *GetMailboxDetailsInput) (req *request.Request, output *GetMailboxDetailsOutput) { + op := &request.Operation{ + Name: opGetMailboxDetails, HTTPMethod: "POST", HTTPPath: "/", } @@ -3574,8 +4047,8 @@ func (c *WorkMail) GetMobileDeviceAccessEffectRequest(input *GetMobileDeviceAcce // // Simulates the effect of the mobile device access rules for the given attributes // of a sample access event. Use this method to test the effects of the current -// set of mobile device access rules for the Amazon WorkMail organization for -// a particular user's attributes. +// set of mobile device access rules for the WorkMail organization for a particular +// user's attributes. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4392,34 +4865,34 @@ func (c *WorkMail) ListGroupsPagesWithContext(ctx aws.Context, input *ListGroups return p.Err() } -const opListMailDomains = "ListMailDomains" +const opListImpersonationRoles = "ListImpersonationRoles" -// ListMailDomainsRequest generates a "aws/request.Request" representing the -// client's request for the ListMailDomains operation. The "output" return +// ListImpersonationRolesRequest generates a "aws/request.Request" representing the +// client's request for the ListImpersonationRoles operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListMailDomains for more information on using the ListMailDomains +// See ListImpersonationRoles for more information on using the ListImpersonationRoles // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListMailDomainsRequest method. -// req, resp := client.ListMailDomainsRequest(params) +// // Example sending a request using the ListImpersonationRolesRequest method. +// req, resp := client.ListImpersonationRolesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMailDomains -func (c *WorkMail) ListMailDomainsRequest(input *ListMailDomainsInput) (req *request.Request, output *ListMailDomainsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListImpersonationRoles +func (c *WorkMail) ListImpersonationRolesRequest(input *ListImpersonationRolesInput) (req *request.Request, output *ListImpersonationRolesOutput) { op := &request.Operation{ - Name: opListMailDomains, + Name: opListImpersonationRoles, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -4431,24 +4904,24 @@ func (c *WorkMail) ListMailDomainsRequest(input *ListMailDomainsInput) (req *req } if input == nil { - input = &ListMailDomainsInput{} + input = &ListImpersonationRolesInput{} } - output = &ListMailDomainsOutput{} + output = &ListImpersonationRolesOutput{} req = c.newRequest(op, input, output) return } -// ListMailDomains API operation for Amazon WorkMail. +// ListImpersonationRoles API operation for Amazon WorkMail. // -// Lists the mail domains in a given Amazon WorkMail organization. +// Lists all the impersonation roles for the given WorkMail organization. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon WorkMail's -// API operation ListMailDomains for usage and error information. +// API operation ListImpersonationRoles for usage and error information. // // Returned Error Types: // @@ -4463,64 +4936,64 @@ func (c *WorkMail) ListMailDomainsRequest(input *ListMailDomainsInput) (req *req // The organization must have a valid state to perform certain operations on // the organization or its members. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMailDomains -func (c *WorkMail) ListMailDomains(input *ListMailDomainsInput) (*ListMailDomainsOutput, error) { - req, out := c.ListMailDomainsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListImpersonationRoles +func (c *WorkMail) ListImpersonationRoles(input *ListImpersonationRolesInput) (*ListImpersonationRolesOutput, error) { + req, out := c.ListImpersonationRolesRequest(input) return out, req.Send() } -// ListMailDomainsWithContext is the same as ListMailDomains with the addition of +// ListImpersonationRolesWithContext is the same as ListImpersonationRoles with the addition of // the ability to pass a context and additional request options. // -// See ListMailDomains for details on how to use this API operation. +// See ListImpersonationRoles for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *WorkMail) ListMailDomainsWithContext(ctx aws.Context, input *ListMailDomainsInput, opts ...request.Option) (*ListMailDomainsOutput, error) { - req, out := c.ListMailDomainsRequest(input) +func (c *WorkMail) ListImpersonationRolesWithContext(ctx aws.Context, input *ListImpersonationRolesInput, opts ...request.Option) (*ListImpersonationRolesOutput, error) { + req, out := c.ListImpersonationRolesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListMailDomainsPages iterates over the pages of a ListMailDomains operation, +// ListImpersonationRolesPages iterates over the pages of a ListImpersonationRoles operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListMailDomains method for more information on how to use this operation. +// See ListImpersonationRoles 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 ListMailDomains operation. +// // Example iterating over at most 3 pages of a ListImpersonationRoles operation. // pageNum := 0 -// err := client.ListMailDomainsPages(params, -// func(page *workmail.ListMailDomainsOutput, lastPage bool) bool { +// err := client.ListImpersonationRolesPages(params, +// func(page *workmail.ListImpersonationRolesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *WorkMail) ListMailDomainsPages(input *ListMailDomainsInput, fn func(*ListMailDomainsOutput, bool) bool) error { - return c.ListMailDomainsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *WorkMail) ListImpersonationRolesPages(input *ListImpersonationRolesInput, fn func(*ListImpersonationRolesOutput, bool) bool) error { + return c.ListImpersonationRolesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListMailDomainsPagesWithContext same as ListMailDomainsPages except +// ListImpersonationRolesPagesWithContext same as ListImpersonationRolesPages 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 *WorkMail) ListMailDomainsPagesWithContext(ctx aws.Context, input *ListMailDomainsInput, fn func(*ListMailDomainsOutput, bool) bool, opts ...request.Option) error { +func (c *WorkMail) ListImpersonationRolesPagesWithContext(ctx aws.Context, input *ListImpersonationRolesInput, fn func(*ListImpersonationRolesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListMailDomainsInput + var inCpy *ListImpersonationRolesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListMailDomainsRequest(inCpy) + req, _ := c.ListImpersonationRolesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -4528,7 +5001,7 @@ func (c *WorkMail) ListMailDomainsPagesWithContext(ctx aws.Context, input *ListM } for p.Next() { - if !fn(p.Page().(*ListMailDomainsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListImpersonationRolesOutput), !p.HasNextPage()) { break } } @@ -4536,34 +5009,34 @@ func (c *WorkMail) ListMailDomainsPagesWithContext(ctx aws.Context, input *ListM return p.Err() } -const opListMailboxExportJobs = "ListMailboxExportJobs" +const opListMailDomains = "ListMailDomains" -// ListMailboxExportJobsRequest generates a "aws/request.Request" representing the -// client's request for the ListMailboxExportJobs operation. The "output" return +// ListMailDomainsRequest generates a "aws/request.Request" representing the +// client's request for the ListMailDomains operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListMailboxExportJobs for more information on using the ListMailboxExportJobs +// See ListMailDomains for more information on using the ListMailDomains // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListMailboxExportJobsRequest method. -// req, resp := client.ListMailboxExportJobsRequest(params) +// // Example sending a request using the ListMailDomainsRequest method. +// req, resp := client.ListMailDomainsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMailboxExportJobs -func (c *WorkMail) ListMailboxExportJobsRequest(input *ListMailboxExportJobsInput) (req *request.Request, output *ListMailboxExportJobsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMailDomains +func (c *WorkMail) ListMailDomainsRequest(input *ListMailDomainsInput) (req *request.Request, output *ListMailDomainsOutput) { op := &request.Operation{ - Name: opListMailboxExportJobs, + Name: opListMailDomains, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -4575,25 +5048,24 @@ func (c *WorkMail) ListMailboxExportJobsRequest(input *ListMailboxExportJobsInpu } if input == nil { - input = &ListMailboxExportJobsInput{} + input = &ListMailDomainsInput{} } - output = &ListMailboxExportJobsOutput{} + output = &ListMailDomainsOutput{} req = c.newRequest(op, input, output) return } -// ListMailboxExportJobs API operation for Amazon WorkMail. +// ListMailDomains API operation for Amazon WorkMail. // -// Lists the mailbox export jobs started for the specified organization within -// the last seven days. +// Lists the mail domains in a given WorkMail organization. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon WorkMail's -// API operation ListMailboxExportJobs for usage and error information. +// API operation ListMailDomains for usage and error information. // // Returned Error Types: // @@ -4608,37 +5080,182 @@ func (c *WorkMail) ListMailboxExportJobsRequest(input *ListMailboxExportJobsInpu // The organization must have a valid state to perform certain operations on // the organization or its members. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMailboxExportJobs -func (c *WorkMail) ListMailboxExportJobs(input *ListMailboxExportJobsInput) (*ListMailboxExportJobsOutput, error) { - req, out := c.ListMailboxExportJobsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMailDomains +func (c *WorkMail) ListMailDomains(input *ListMailDomainsInput) (*ListMailDomainsOutput, error) { + req, out := c.ListMailDomainsRequest(input) return out, req.Send() } -// ListMailboxExportJobsWithContext is the same as ListMailboxExportJobs with the addition of +// ListMailDomainsWithContext is the same as ListMailDomains with the addition of // the ability to pass a context and additional request options. // -// See ListMailboxExportJobs for details on how to use this API operation. +// See ListMailDomains for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *WorkMail) ListMailboxExportJobsWithContext(ctx aws.Context, input *ListMailboxExportJobsInput, opts ...request.Option) (*ListMailboxExportJobsOutput, error) { - req, out := c.ListMailboxExportJobsRequest(input) +func (c *WorkMail) ListMailDomainsWithContext(ctx aws.Context, input *ListMailDomainsInput, opts ...request.Option) (*ListMailDomainsOutput, error) { + req, out := c.ListMailDomainsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListMailboxExportJobsPages iterates over the pages of a ListMailboxExportJobs operation, +// ListMailDomainsPages iterates over the pages of a ListMailDomains operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListMailboxExportJobs method for more information on how to use this operation. +// See ListMailDomains 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 ListMailboxExportJobs operation. +// // Example iterating over at most 3 pages of a ListMailDomains operation. +// pageNum := 0 +// err := client.ListMailDomainsPages(params, +// func(page *workmail.ListMailDomainsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *WorkMail) ListMailDomainsPages(input *ListMailDomainsInput, fn func(*ListMailDomainsOutput, bool) bool) error { + return c.ListMailDomainsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListMailDomainsPagesWithContext same as ListMailDomainsPages 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 *WorkMail) ListMailDomainsPagesWithContext(ctx aws.Context, input *ListMailDomainsInput, fn func(*ListMailDomainsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListMailDomainsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListMailDomainsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListMailDomainsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListMailboxExportJobs = "ListMailboxExportJobs" + +// ListMailboxExportJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListMailboxExportJobs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListMailboxExportJobs for more information on using the ListMailboxExportJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListMailboxExportJobsRequest method. +// req, resp := client.ListMailboxExportJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMailboxExportJobs +func (c *WorkMail) ListMailboxExportJobsRequest(input *ListMailboxExportJobsInput) (req *request.Request, output *ListMailboxExportJobsOutput) { + op := &request.Operation{ + Name: opListMailboxExportJobs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListMailboxExportJobsInput{} + } + + output = &ListMailboxExportJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListMailboxExportJobs API operation for Amazon WorkMail. +// +// Lists the mailbox export jobs started for the specified organization within +// the last seven days. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkMail's +// API operation ListMailboxExportJobs for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// - OrganizationNotFoundException +// An operation received a valid organization identifier that either doesn't +// belong or exist in the system. +// +// - OrganizationStateException +// The organization must have a valid state to perform certain operations on +// the organization or its members. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMailboxExportJobs +func (c *WorkMail) ListMailboxExportJobs(input *ListMailboxExportJobsInput) (*ListMailboxExportJobsOutput, error) { + req, out := c.ListMailboxExportJobsRequest(input) + return out, req.Send() +} + +// ListMailboxExportJobsWithContext is the same as ListMailboxExportJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListMailboxExportJobs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkMail) ListMailboxExportJobsWithContext(ctx aws.Context, input *ListMailboxExportJobsInput, opts ...request.Option) (*ListMailboxExportJobsOutput, error) { + req, out := c.ListMailboxExportJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListMailboxExportJobsPages iterates over the pages of a ListMailboxExportJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListMailboxExportJobs 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 ListMailboxExportJobs operation. // pageNum := 0 // err := client.ListMailboxExportJobsPages(params, // func(page *workmail.ListMailboxExportJobsOutput, lastPage bool) bool { @@ -5022,7 +5639,7 @@ func (c *WorkMail) ListMobileDeviceAccessRulesRequest(input *ListMobileDeviceAcc // ListMobileDeviceAccessRules API operation for Amazon WorkMail. // -// Lists the mobile device access rules for the specified Amazon WorkMail organization. +// Lists the mobile device access rules for the specified WorkMail organization. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5541,7 +6158,7 @@ func (c *WorkMail) ListTagsForResourceRequest(input *ListTagsForResourceInput) ( // ListTagsForResource API operation for Amazon WorkMail. // -// Lists the tags applied to an Amazon WorkMail organization resource. +// Lists the tags applied to an WorkMail organization resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5766,8 +6383,8 @@ func (c *WorkMail) PutAccessControlRuleRequest(input *PutAccessControlRuleInput) // // Adds a new access control rule for the specified organization. The rule allows // or denies access to the organization for the specified IPv4 addresses, access -// protocol actions, and user IDs. Adding a new rule with the same name as an -// existing rule replaces the older rule. +// protocol actions, user IDs and impersonation IDs. Adding a new rule with +// the same name as an existing rule replaces the older rule. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5788,6 +6405,9 @@ func (c *WorkMail) PutAccessControlRuleRequest(input *PutAccessControlRuleInput) // The identifier supplied for the user, group, or resource does not exist in // your organization. // +// - ResourceNotFoundException +// The resource cannot be found. +// // - OrganizationNotFoundException // An operation received a valid organization identifier that either doesn't // belong or exist in the system. @@ -6323,10 +6943,10 @@ func (c *WorkMail) RegisterMailDomainRequest(input *RegisterMailDomainInput) (re // RegisterMailDomain API operation for Amazon WorkMail. // -// Registers a new domain in Amazon WorkMail and SES, and configures it for -// use by WorkMail. Emails received by SES for this domain are routed to the -// specified WorkMail organization, and WorkMail has permanent permission to -// use the specified domain for sending your users' emails. +// Registers a new domain in WorkMail and SES, and configures it for use by +// WorkMail. Emails received by SES for this domain are routed to the specified +// WorkMail organization, and WorkMail has permanent permission to use the specified +// domain for sending your users' emails. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6421,7 +7041,7 @@ func (c *WorkMail) RegisterToWorkMailRequest(input *RegisterToWorkMailInput) (re // RegisterToWorkMail API operation for Amazon WorkMail. // -// Registers an existing and disabled user, group, or resource for Amazon WorkMail +// Registers an existing and disabled user, group, or resource for WorkMail // use by associating a mailbox and calendaring capabilities. It performs no // change if the user, group, or resource is enabled and fails if the user, // group, or resource is deleted. This operation results in the accumulation @@ -6656,7 +7276,7 @@ func (c *WorkMail) StartMailboxExportJobRequest(input *StartMailboxExportJobInpu // Starts a mailbox export job to export MIME-format email messages and calendar // items from the specified mailbox to the specified Amazon Simple Storage Service // (Amazon S3) bucket. For more information, see Exporting mailbox content (https://docs.aws.amazon.com/workmail/latest/adminguide/mail-export.html) -// in the Amazon WorkMail Administrator Guide. +// in the WorkMail Administrator Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6751,8 +7371,7 @@ func (c *WorkMail) TagResourceRequest(input *TagResourceInput) (req *request.Req // TagResource API operation for Amazon WorkMail. // -// Applies the specified tags to the specified Amazon WorkMail organization -// resource. +// Applies the specified tags to the specified WorkMailorganization resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6938,8 +7557,7 @@ func (c *WorkMail) UntagResourceRequest(input *UntagResourceInput) (req *request // UntagResource API operation for Amazon WorkMail. // -// Untags the specified tags from the specified Amazon WorkMail organization -// resource. +// Untags the specified tags from the specified WorkMail organization resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7163,6 +7781,108 @@ func (c *WorkMail) UpdateDefaultMailDomainWithContext(ctx aws.Context, input *Up return out, req.Send() } +const opUpdateImpersonationRole = "UpdateImpersonationRole" + +// UpdateImpersonationRoleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateImpersonationRole operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateImpersonationRole for more information on using the UpdateImpersonationRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateImpersonationRoleRequest method. +// req, resp := client.UpdateImpersonationRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateImpersonationRole +func (c *WorkMail) UpdateImpersonationRoleRequest(input *UpdateImpersonationRoleInput) (req *request.Request, output *UpdateImpersonationRoleOutput) { + op := &request.Operation{ + Name: opUpdateImpersonationRole, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateImpersonationRoleInput{} + } + + output = &UpdateImpersonationRoleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateImpersonationRole API operation for Amazon WorkMail. +// +// Updates an impersonation role for the given WorkMail organization. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkMail's +// API operation UpdateImpersonationRole for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// - OrganizationNotFoundException +// An operation received a valid organization identifier that either doesn't +// belong or exist in the system. +// +// - OrganizationStateException +// The organization must have a valid state to perform certain operations on +// the organization or its members. +// +// - ResourceNotFoundException +// The resource cannot be found. +// +// - EntityNotFoundException +// The identifier supplied for the user, group, or resource does not exist in +// your organization. +// +// - EntityStateException +// You are performing an operation on a user, group, or resource that isn't +// in the expected state, such as trying to delete an active user. +// +// - LimitExceededException +// The request exceeds the limit of the resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateImpersonationRole +func (c *WorkMail) UpdateImpersonationRole(input *UpdateImpersonationRoleInput) (*UpdateImpersonationRoleOutput, error) { + req, out := c.UpdateImpersonationRoleRequest(input) + return out, req.Send() +} + +// UpdateImpersonationRoleWithContext is the same as UpdateImpersonationRole with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateImpersonationRole for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkMail) UpdateImpersonationRoleWithContext(ctx aws.Context, input *UpdateImpersonationRoleInput, opts ...request.Option) (*UpdateImpersonationRoleOutput, error) { + req, out := c.UpdateImpersonationRoleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateMailboxQuota = "UpdateMailboxQuota" // UpdateMailboxQuotaRequest generates a "aws/request.Request" representing the @@ -7303,7 +8023,7 @@ func (c *WorkMail) UpdateMobileDeviceAccessRuleRequest(input *UpdateMobileDevice // UpdateMobileDeviceAccessRule API operation for Amazon WorkMail. // -// Updates a mobile device access rule for the specified Amazon WorkMail organization. +// Updates a mobile device access rule for the specified WorkMail organization. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7558,7 +8278,7 @@ func (c *WorkMail) UpdateResourceRequest(input *UpdateResourceInput) (req *reque // domain is not yet verified. // // - NameAvailabilityException -// The user, group, or resource name isn't unique in Amazon WorkMail. +// The user, group, or resource name isn't unique in WorkMail. // // - OrganizationNotFoundException // An operation received a valid organization identifier that either doesn't @@ -7590,7 +8310,7 @@ func (c *WorkMail) UpdateResourceWithContext(ctx aws.Context, input *UpdateResou return out, req.Send() } -// A rule that controls access to an Amazon WorkMail organization. +// A rule that controls access to an WorkMail organization. type AccessControlRule struct { _ struct{} `type:"structure"` @@ -7610,6 +8330,9 @@ type AccessControlRule struct { // The rule effect. Effect *string `type:"string" enum:"AccessControlRuleEffect"` + // Impersonation role IDs to include in the rule. + ImpersonationRoleIds []*string `type:"list"` + // IPv4 CIDR ranges to include in the rule. IpRanges []*string `type:"list"` @@ -7620,6 +8343,9 @@ type AccessControlRule struct { // AutoDiscover, EWS, IMAP, SMTP, WindowsOutlook, and WebMail. NotActions []*string `type:"list"` + // Impersonation role IDs to exclude from the rule. + NotImpersonationRoleIds []*string `type:"list"` + // IPv4 CIDR ranges to exclude from the rule. NotIpRanges []*string `type:"list"` @@ -7678,6 +8404,12 @@ func (s *AccessControlRule) SetEffect(v string) *AccessControlRule { return s } +// SetImpersonationRoleIds sets the ImpersonationRoleIds field's value. +func (s *AccessControlRule) SetImpersonationRoleIds(v []*string) *AccessControlRule { + s.ImpersonationRoleIds = v + return s +} + // SetIpRanges sets the IpRanges field's value. func (s *AccessControlRule) SetIpRanges(v []*string) *AccessControlRule { s.IpRanges = v @@ -7696,6 +8428,12 @@ func (s *AccessControlRule) SetNotActions(v []*string) *AccessControlRule { return s } +// SetNotImpersonationRoleIds sets the NotImpersonationRoleIds field's value. +func (s *AccessControlRule) SetNotImpersonationRoleIds(v []*string) *AccessControlRule { + s.NotImpersonationRoleIds = v + return s +} + // SetNotIpRanges sets the NotIpRanges field's value. func (s *AccessControlRule) SetNotIpRanges(v []*string) *AccessControlRule { s.NotIpRanges = v @@ -7924,24 +8662,130 @@ func (s AssociateMemberToGroupOutput) GoString() string { return s.String() } -// List all the AvailabilityConfiguration's for the given WorkMail organization. -type AvailabilityConfiguration struct { +type AssumeImpersonationRoleInput struct { _ struct{} `type:"structure"` - // The date and time at which the availability configuration was created. - DateCreated *time.Time `type:"timestamp"` - - // The date and time at which the availability configuration was last modified. - DateModified *time.Time `type:"timestamp"` - - // Displays the domain to which the provider applies. - DomainName *string `min:"3" type:"string"` + // The impersonation role ID to assume. + // + // ImpersonationRoleId is a required field + ImpersonationRoleId *string `min:"1" type:"string" required:"true"` - // If ProviderType is EWS, then this field contains RedactedEwsAvailabilityProvider. - // Otherwise, it is not requried. - EwsProvider *RedactedEwsAvailabilityProvider `type:"structure"` + // The WorkMail organization under which the impersonation role will be assumed. + // + // OrganizationId is a required field + OrganizationId *string `min:"34" type:"string" required:"true"` +} - // If ProviderType is LAMBDA then this field contains LambdaAvailabilityProvider. +// 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 AssumeImpersonationRoleInput) 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 AssumeImpersonationRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssumeImpersonationRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssumeImpersonationRoleInput"} + if s.ImpersonationRoleId == nil { + invalidParams.Add(request.NewErrParamRequired("ImpersonationRoleId")) + } + if s.ImpersonationRoleId != nil && len(*s.ImpersonationRoleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImpersonationRoleId", 1)) + } + if s.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImpersonationRoleId sets the ImpersonationRoleId field's value. +func (s *AssumeImpersonationRoleInput) SetImpersonationRoleId(v string) *AssumeImpersonationRoleInput { + s.ImpersonationRoleId = &v + return s +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *AssumeImpersonationRoleInput) SetOrganizationId(v string) *AssumeImpersonationRoleInput { + s.OrganizationId = &v + return s +} + +type AssumeImpersonationRoleOutput struct { + _ struct{} `type:"structure"` + + // The authentication token's validity, in seconds. + ExpiresIn *int64 `type:"long"` + + // The authentication token for the impersonation role. + Token *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 AssumeImpersonationRoleOutput) 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 AssumeImpersonationRoleOutput) GoString() string { + return s.String() +} + +// SetExpiresIn sets the ExpiresIn field's value. +func (s *AssumeImpersonationRoleOutput) SetExpiresIn(v int64) *AssumeImpersonationRoleOutput { + s.ExpiresIn = &v + return s +} + +// SetToken sets the Token field's value. +func (s *AssumeImpersonationRoleOutput) SetToken(v string) *AssumeImpersonationRoleOutput { + s.Token = &v + return s +} + +// List all the AvailabilityConfiguration's for the given WorkMail organization. +type AvailabilityConfiguration struct { + _ struct{} `type:"structure"` + + // The date and time at which the availability configuration was created. + DateCreated *time.Time `type:"timestamp"` + + // The date and time at which the availability configuration was last modified. + DateModified *time.Time `type:"timestamp"` + + // Displays the domain to which the provider applies. + DomainName *string `min:"3" type:"string"` + + // If ProviderType is EWS, then this field contains RedactedEwsAvailabilityProvider. + // Otherwise, it is not required. + EwsProvider *RedactedEwsAvailabilityProvider `type:"structure"` + + // If ProviderType is LAMBDA then this field contains LambdaAvailabilityProvider. // Otherwise, it is not required. LambdaProvider *LambdaAvailabilityProvider `type:"structure"` @@ -8279,8 +9123,8 @@ type CreateAvailabilityConfigurationInput struct { // one provider definition, either EwsProvider or LambdaProvider. LambdaProvider *LambdaAvailabilityProvider `type:"structure"` - // The Amazon WorkMail organization for which the AvailabilityConfiguration - // will be created. + // The WorkMail organization for which the AvailabilityConfiguration will be + // created. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -8488,6 +9332,166 @@ func (s *CreateGroupOutput) SetGroupId(v string) *CreateGroupOutput { return s } +type CreateImpersonationRoleInput struct { + _ struct{} `type:"structure"` + + // The idempotency token for the client request. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The description of the new impersonation role. + Description *string `min:"1" type:"string"` + + // The name of the new impersonation role. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The WorkMail organization to create the new impersonation role within. + // + // OrganizationId is a required field + OrganizationId *string `min:"34" type:"string" required:"true"` + + // The list of rules for the impersonation role. + // + // Rules is a required field + Rules []*ImpersonationRule `type:"list" required:"true"` + + // The impersonation role's type. The available impersonation role types are + // READ_ONLY or FULL_ACCESS. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ImpersonationRoleType"` +} + +// 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 CreateImpersonationRoleInput) 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 CreateImpersonationRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateImpersonationRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateImpersonationRoleInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } + if s.Rules == nil { + invalidParams.Add(request.NewErrParamRequired("Rules")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Rules != nil { + for i, v := range s.Rules { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateImpersonationRoleInput) SetClientToken(v string) *CreateImpersonationRoleInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateImpersonationRoleInput) SetDescription(v string) *CreateImpersonationRoleInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateImpersonationRoleInput) SetName(v string) *CreateImpersonationRoleInput { + s.Name = &v + return s +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *CreateImpersonationRoleInput) SetOrganizationId(v string) *CreateImpersonationRoleInput { + s.OrganizationId = &v + return s +} + +// SetRules sets the Rules field's value. +func (s *CreateImpersonationRoleInput) SetRules(v []*ImpersonationRule) *CreateImpersonationRoleInput { + s.Rules = v + return s +} + +// SetType sets the Type field's value. +func (s *CreateImpersonationRoleInput) SetType(v string) *CreateImpersonationRoleInput { + s.Type = &v + return s +} + +type CreateImpersonationRoleOutput struct { + _ struct{} `type:"structure"` + + // The new impersonation role ID. + ImpersonationRoleId *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 CreateImpersonationRoleOutput) 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 CreateImpersonationRoleOutput) GoString() string { + return s.String() +} + +// SetImpersonationRoleId sets the ImpersonationRoleId field's value. +func (s *CreateImpersonationRoleOutput) SetImpersonationRoleId(v string) *CreateImpersonationRoleOutput { + s.ImpersonationRoleId = &v + return s +} + type CreateMobileDeviceAccessRuleInput struct { _ struct{} `type:"structure"` @@ -8534,7 +9538,7 @@ type CreateMobileDeviceAccessRuleInput struct { // will match. NotDeviceUserAgents []*string `min:"1" type:"list"` - // The Amazon WorkMail organization under which the rule will be created. + // The WorkMail organization under which the rule will be created. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -8739,13 +9743,11 @@ type CreateOrganizationInput struct { // The email domains to associate with the organization. Domains []*Domain `type:"list"` - // When true, allows organization interoperability between Amazon WorkMail and - // Microsoft Exchange. Can only be set to true if an AD Connector directory - // ID is included in the request. + // When true, allows organization interoperability between WorkMail and Microsoft + // Exchange. If true, you must include a AD Connector directory ID in the request. EnableInteroperability *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of a customer managed master key from AWS - // KMS. + // The Amazon Resource Name (ARN) of a customer managed key from AWS KMS. KmsKeyArn *string `min:"20" type:"string"` } @@ -9361,8 +10363,8 @@ type DeleteAvailabilityConfigurationInput struct { // DomainName is a required field DomainName *string `min:"3" type:"string" required:"true"` - // The Amazon WorkMail organization for which the AvailabilityConfiguration - // will be deleted. + // The WorkMail organization for which the AvailabilityConfiguration will be + // deleted. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -9602,22 +10604,15 @@ func (s DeleteGroupOutput) GoString() string { return s.String() } -type DeleteMailboxPermissionsInput struct { +type DeleteImpersonationRoleInput struct { _ struct{} `type:"structure"` - // The identifier of the member (user or group) that owns the mailbox. - // - // EntityId is a required field - EntityId *string `min:"12" type:"string" required:"true"` - - // The identifier of the member (user or group) for which to delete granted - // permissions. + // The ID of the impersonation role to delete. // - // GranteeId is a required field - GranteeId *string `min:"12" type:"string" required:"true"` + // ImpersonationRoleId is a required field + ImpersonationRoleId *string `min:"1" type:"string" required:"true"` - // The identifier of the organization under which the member (user or group) - // exists. + // The WorkMail organization from which to delete the impersonation role. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -9628,7 +10623,7 @@ type DeleteMailboxPermissionsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteMailboxPermissionsInput) String() string { +func (s DeleteImpersonationRoleInput) String() string { return awsutil.Prettify(s) } @@ -9637,24 +10632,18 @@ func (s DeleteMailboxPermissionsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteMailboxPermissionsInput) GoString() string { +func (s DeleteImpersonationRoleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteMailboxPermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteMailboxPermissionsInput"} - if s.EntityId == nil { - invalidParams.Add(request.NewErrParamRequired("EntityId")) +func (s *DeleteImpersonationRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteImpersonationRoleInput"} + if s.ImpersonationRoleId == nil { + invalidParams.Add(request.NewErrParamRequired("ImpersonationRoleId")) } - if s.EntityId != nil && len(*s.EntityId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("EntityId", 12)) - } - if s.GranteeId == nil { - invalidParams.Add(request.NewErrParamRequired("GranteeId")) - } - if s.GranteeId != nil && len(*s.GranteeId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("GranteeId", 12)) + if s.ImpersonationRoleId != nil && len(*s.ImpersonationRoleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImpersonationRoleId", 1)) } if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) @@ -9669,25 +10658,19 @@ func (s *DeleteMailboxPermissionsInput) Validate() error { return nil } -// SetEntityId sets the EntityId field's value. -func (s *DeleteMailboxPermissionsInput) SetEntityId(v string) *DeleteMailboxPermissionsInput { - s.EntityId = &v - return s -} - -// SetGranteeId sets the GranteeId field's value. -func (s *DeleteMailboxPermissionsInput) SetGranteeId(v string) *DeleteMailboxPermissionsInput { - s.GranteeId = &v +// SetImpersonationRoleId sets the ImpersonationRoleId field's value. +func (s *DeleteImpersonationRoleInput) SetImpersonationRoleId(v string) *DeleteImpersonationRoleInput { + s.ImpersonationRoleId = &v return s } // SetOrganizationId sets the OrganizationId field's value. -func (s *DeleteMailboxPermissionsInput) SetOrganizationId(v string) *DeleteMailboxPermissionsInput { +func (s *DeleteImpersonationRoleInput) SetOrganizationId(v string) *DeleteImpersonationRoleInput { s.OrganizationId = &v return s } -type DeleteMailboxPermissionsOutput struct { +type DeleteImpersonationRoleOutput struct { _ struct{} `type:"structure"` } @@ -9696,7 +10679,7 @@ type DeleteMailboxPermissionsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteMailboxPermissionsOutput) String() string { +func (s DeleteImpersonationRoleOutput) String() string { return awsutil.Prettify(s) } @@ -9705,19 +10688,126 @@ func (s DeleteMailboxPermissionsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteMailboxPermissionsOutput) GoString() string { +func (s DeleteImpersonationRoleOutput) GoString() string { return s.String() } -type DeleteMobileDeviceAccessOverrideInput struct { +type DeleteMailboxPermissionsInput struct { _ struct{} `type:"structure"` - // The mobile device for which you delete the override. DeviceId is case insensitive. + // The identifier of the member (user or group) that owns the mailbox. + // + // EntityId is a required field + EntityId *string `min:"12" type:"string" required:"true"` + + // The identifier of the member (user or group) for which to delete granted + // permissions. + // + // GranteeId is a required field + GranteeId *string `min:"12" type:"string" required:"true"` + + // The identifier of the organization under which the member (user or group) + // exists. + // + // OrganizationId is a required field + OrganizationId *string `min:"34" 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 DeleteMailboxPermissionsInput) 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 DeleteMailboxPermissionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMailboxPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMailboxPermissionsInput"} + if s.EntityId == nil { + invalidParams.Add(request.NewErrParamRequired("EntityId")) + } + if s.EntityId != nil && len(*s.EntityId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 12)) + } + if s.GranteeId == nil { + invalidParams.Add(request.NewErrParamRequired("GranteeId")) + } + if s.GranteeId != nil && len(*s.GranteeId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("GranteeId", 12)) + } + if s.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEntityId sets the EntityId field's value. +func (s *DeleteMailboxPermissionsInput) SetEntityId(v string) *DeleteMailboxPermissionsInput { + s.EntityId = &v + return s +} + +// SetGranteeId sets the GranteeId field's value. +func (s *DeleteMailboxPermissionsInput) SetGranteeId(v string) *DeleteMailboxPermissionsInput { + s.GranteeId = &v + return s +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *DeleteMailboxPermissionsInput) SetOrganizationId(v string) *DeleteMailboxPermissionsInput { + s.OrganizationId = &v + return s +} + +type DeleteMailboxPermissionsOutput 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 DeleteMailboxPermissionsOutput) 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 DeleteMailboxPermissionsOutput) GoString() string { + return s.String() +} + +type DeleteMobileDeviceAccessOverrideInput struct { + _ struct{} `type:"structure"` + + // The mobile device for which you delete the override. DeviceId is case insensitive. // // DeviceId is a required field DeviceId *string `min:"1" type:"string" required:"true"` - // The Amazon WorkMail organization for which the access override will be deleted. + // The WorkMail organization for which the access override will be deleted. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -9829,7 +10919,7 @@ type DeleteMobileDeviceAccessRuleInput struct { // MobileDeviceAccessRuleId is a required field MobileDeviceAccessRuleId *string `min:"1" type:"string" required:"true"` - // The Amazon WorkMail organization under which the rule will be deleted. + // The WorkMail organization under which the rule will be deleted. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -10298,8 +11388,7 @@ type DeregisterFromWorkMailInput struct { // EntityId is a required field EntityId *string `min:"12" type:"string" required:"true"` - // The identifier for the organization under which the Amazon WorkMail entity - // exists. + // The identifier for the organization under which the WorkMail entity exists. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -10387,7 +11476,7 @@ type DeregisterMailDomainInput struct { // DomainName is a required field DomainName *string `min:"3" type:"string" required:"true"` - // The Amazon WorkMail organization for which the domain will be deregistered. + // The WorkMail organization for which the domain will be deregistered. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -10645,8 +11734,8 @@ type DescribeGroupOutput struct { // The name of the described group. Name *string `min:"1" type:"string"` - // The state of the user: enabled (registered to Amazon WorkMail) or disabled - // (deregistered or never registered to WorkMail). + // The state of the user: enabled (registered to WorkMail) or disabled (deregistered + // or never registered to WorkMail). State *string `type:"string" enum:"EntityState"` } @@ -11048,7 +12137,7 @@ type DescribeOrganizationOutput struct { // The default mail domain associated with the organization. DefaultMailDomain *string `type:"string"` - // The identifier for the directory associated with an Amazon WorkMail organization. + // The identifier for the directory associated with an WorkMail organization. DirectoryId *string `type:"string"` // The type of directory associated with the WorkMail organization. @@ -11227,8 +12316,8 @@ type DescribeResourceOutput struct { // The identifier of the described resource. ResourceId *string `min:"34" type:"string"` - // The state of the resource: enabled (registered to Amazon WorkMail), disabled - // (deregistered or never registered to WorkMail), or deleted. + // The state of the resource: enabled (registered to WorkMail), disabled (deregistered + // or never registered to WorkMail), or deleted. State *string `type:"string" enum:"EntityState"` // The type of the described resource. @@ -11370,8 +12459,8 @@ func (s *DescribeUserInput) SetUserId(v string) *DescribeUserInput { type DescribeUserOutput struct { _ struct{} `type:"structure"` - // The date and time at which the user was disabled for Amazon WorkMail usage, - // in UNIX epoch time format. + // The date and time at which the user was disabled for WorkMail usage, in UNIX + // epoch time format. DisabledDate *time.Time `type:"timestamp"` // The display name of the user. @@ -11380,23 +12469,23 @@ type DescribeUserOutput struct { // The email of the user. Email *string `min:"1" type:"string"` - // The date and time at which the user was enabled for Amazon WorkMail usage, - // in UNIX epoch time format. + // The date and time at which the user was enabled for WorkMailusage, in UNIX + // epoch time format. EnabledDate *time.Time `type:"timestamp"` // The name for the user. Name *string `min:"1" type:"string"` - // The state of a user: enabled (registered to Amazon WorkMail) or disabled - // (deregistered or never registered to WorkMail). + // The state of a user: enabled (registered to WorkMail) or disabled (deregistered + // or never registered to WorkMail). State *string `type:"string" enum:"EntityState"` // The identifier for the described user. UserId *string `min:"12" type:"string"` // In certain cases, other entities are modeled as users. If interoperability - // is enabled, resources are imported into Amazon WorkMail as users. Because - // different WorkMail organizations rely on different directory types, administrators + // is enabled, resources are imported into WorkMail as users. Because different + // WorkMail organizations rely on different directory types, administrators // can distinguish between an unregistered user (account is disabled and has // a user role) and the directory administrators. The values are USER, RESOURCE, // and SYSTEM_USER. @@ -11923,12 +13012,12 @@ func (s *DnsRecord) SetValue(v string) *DnsRecord { return s } -// The domain to associate with an Amazon WorkMail organization. +// The domain to associate with an WorkMail organization. // // When you configure a domain hosted in Amazon Route 53 (Route 53), all recommended // DNS records are added to the organization when you create it. For more information, // see Adding a domain (https://docs.aws.amazon.com/workmail/latest/adminguide/add_domain.html) -// in the Amazon WorkMail Administrator Guide. +// in the WorkMail Administrator Guide. type Domain struct { _ struct{} `type:"structure"` @@ -12408,6 +13497,9 @@ type GetAccessControlEffectInput struct { // Action is a required field Action *string `min:"1" type:"string" required:"true"` + // The impersonation role ID. + ImpersonationRoleId *string `min:"1" type:"string"` + // The IPv4 address. // // IpAddress is a required field @@ -12419,9 +13511,7 @@ type GetAccessControlEffectInput struct { OrganizationId *string `min:"34" type:"string" required:"true"` // The user ID. - // - // UserId is a required field - UserId *string `min:"12" type:"string" required:"true"` + UserId *string `min:"12" type:"string"` } // String returns the string representation. @@ -12451,6 +13541,9 @@ func (s *GetAccessControlEffectInput) Validate() error { if s.Action != nil && len(*s.Action) < 1 { invalidParams.Add(request.NewErrParamMinLen("Action", 1)) } + if s.ImpersonationRoleId != nil && len(*s.ImpersonationRoleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImpersonationRoleId", 1)) + } if s.IpAddress == nil { invalidParams.Add(request.NewErrParamRequired("IpAddress")) } @@ -12463,9 +13556,6 @@ func (s *GetAccessControlEffectInput) Validate() error { if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) } - if s.UserId == nil { - invalidParams.Add(request.NewErrParamRequired("UserId")) - } if s.UserId != nil && len(*s.UserId) < 12 { invalidParams.Add(request.NewErrParamMinLen("UserId", 12)) } @@ -12482,6 +13572,12 @@ func (s *GetAccessControlEffectInput) SetAction(v string) *GetAccessControlEffec return s } +// SetImpersonationRoleId sets the ImpersonationRoleId field's value. +func (s *GetAccessControlEffectInput) SetImpersonationRoleId(v string) *GetAccessControlEffectInput { + s.ImpersonationRoleId = &v + return s +} + // SetIpAddress sets the IpAddress field's value. func (s *GetAccessControlEffectInput) SetIpAddress(v string) *GetAccessControlEffectInput { s.IpAddress = &v @@ -12647,6 +13743,297 @@ func (s *GetDefaultRetentionPolicyOutput) SetName(v string) *GetDefaultRetention return s } +type GetImpersonationRoleEffectInput struct { + _ struct{} `type:"structure"` + + // The impersonation role ID to test. + // + // ImpersonationRoleId is a required field + ImpersonationRoleId *string `min:"1" type:"string" required:"true"` + + // The WorkMail organization where the impersonation role is defined. + // + // OrganizationId is a required field + OrganizationId *string `min:"34" type:"string" required:"true"` + + // The WorkMail organization user chosen to test the impersonation role. The + // following identity formats are available: + // + // * User ID: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234 + // + // * Email address: user@domain.tld + // + // * User name: user + // + // TargetUser is a required field + TargetUser *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 GetImpersonationRoleEffectInput) 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 GetImpersonationRoleEffectInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetImpersonationRoleEffectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetImpersonationRoleEffectInput"} + if s.ImpersonationRoleId == nil { + invalidParams.Add(request.NewErrParamRequired("ImpersonationRoleId")) + } + if s.ImpersonationRoleId != nil && len(*s.ImpersonationRoleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImpersonationRoleId", 1)) + } + if s.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } + if s.TargetUser == nil { + invalidParams.Add(request.NewErrParamRequired("TargetUser")) + } + if s.TargetUser != nil && len(*s.TargetUser) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetUser", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImpersonationRoleId sets the ImpersonationRoleId field's value. +func (s *GetImpersonationRoleEffectInput) SetImpersonationRoleId(v string) *GetImpersonationRoleEffectInput { + s.ImpersonationRoleId = &v + return s +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *GetImpersonationRoleEffectInput) SetOrganizationId(v string) *GetImpersonationRoleEffectInput { + s.OrganizationId = &v + return s +} + +// SetTargetUser sets the TargetUser field's value. +func (s *GetImpersonationRoleEffectInput) SetTargetUser(v string) *GetImpersonationRoleEffectInput { + s.TargetUser = &v + return s +} + +type GetImpersonationRoleEffectOutput struct { + _ struct{} `type:"structure"` + + // Effect of the impersonation role on the target user based on its rules. Available + // effects are ALLOW or DENY. + Effect *string `type:"string" enum:"AccessEffect"` + + // A list of the rules that match the input and produce the configured effect. + MatchedRules []*ImpersonationMatchedRule `type:"list"` + + // The impersonation role type. + Type *string `type:"string" enum:"ImpersonationRoleType"` +} + +// 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 GetImpersonationRoleEffectOutput) 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 GetImpersonationRoleEffectOutput) GoString() string { + return s.String() +} + +// SetEffect sets the Effect field's value. +func (s *GetImpersonationRoleEffectOutput) SetEffect(v string) *GetImpersonationRoleEffectOutput { + s.Effect = &v + return s +} + +// SetMatchedRules sets the MatchedRules field's value. +func (s *GetImpersonationRoleEffectOutput) SetMatchedRules(v []*ImpersonationMatchedRule) *GetImpersonationRoleEffectOutput { + s.MatchedRules = v + return s +} + +// SetType sets the Type field's value. +func (s *GetImpersonationRoleEffectOutput) SetType(v string) *GetImpersonationRoleEffectOutput { + s.Type = &v + return s +} + +type GetImpersonationRoleInput struct { + _ struct{} `type:"structure"` + + // The impersonation role ID to retrieve. + // + // ImpersonationRoleId is a required field + ImpersonationRoleId *string `min:"1" type:"string" required:"true"` + + // The WorkMail organization from which to retrieve the impersonation role. + // + // OrganizationId is a required field + OrganizationId *string `min:"34" 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 GetImpersonationRoleInput) 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 GetImpersonationRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetImpersonationRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetImpersonationRoleInput"} + if s.ImpersonationRoleId == nil { + invalidParams.Add(request.NewErrParamRequired("ImpersonationRoleId")) + } + if s.ImpersonationRoleId != nil && len(*s.ImpersonationRoleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImpersonationRoleId", 1)) + } + if s.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImpersonationRoleId sets the ImpersonationRoleId field's value. +func (s *GetImpersonationRoleInput) SetImpersonationRoleId(v string) *GetImpersonationRoleInput { + s.ImpersonationRoleId = &v + return s +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *GetImpersonationRoleInput) SetOrganizationId(v string) *GetImpersonationRoleInput { + s.OrganizationId = &v + return s +} + +type GetImpersonationRoleOutput struct { + _ struct{} `type:"structure"` + + // The date when the impersonation role was created. + DateCreated *time.Time `type:"timestamp"` + + // The date when the impersonation role was last modified. + DateModified *time.Time `type:"timestamp"` + + // The impersonation role description. + Description *string `min:"1" type:"string"` + + // The impersonation role ID. + ImpersonationRoleId *string `min:"1" type:"string"` + + // The impersonation role name. + Name *string `min:"1" type:"string"` + + // The list of rules for the given impersonation role. + Rules []*ImpersonationRule `type:"list"` + + // The impersonation role type. + Type *string `type:"string" enum:"ImpersonationRoleType"` +} + +// 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 GetImpersonationRoleOutput) 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 GetImpersonationRoleOutput) GoString() string { + return s.String() +} + +// SetDateCreated sets the DateCreated field's value. +func (s *GetImpersonationRoleOutput) SetDateCreated(v time.Time) *GetImpersonationRoleOutput { + s.DateCreated = &v + return s +} + +// SetDateModified sets the DateModified field's value. +func (s *GetImpersonationRoleOutput) SetDateModified(v time.Time) *GetImpersonationRoleOutput { + s.DateModified = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetImpersonationRoleOutput) SetDescription(v string) *GetImpersonationRoleOutput { + s.Description = &v + return s +} + +// SetImpersonationRoleId sets the ImpersonationRoleId field's value. +func (s *GetImpersonationRoleOutput) SetImpersonationRoleId(v string) *GetImpersonationRoleOutput { + s.ImpersonationRoleId = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetImpersonationRoleOutput) SetName(v string) *GetImpersonationRoleOutput { + s.Name = &v + return s +} + +// SetRules sets the Rules field's value. +func (s *GetImpersonationRoleOutput) SetRules(v []*ImpersonationRule) *GetImpersonationRoleOutput { + s.Rules = v + return s +} + +// SetType sets the Type field's value. +func (s *GetImpersonationRoleOutput) SetType(v string) *GetImpersonationRoleOutput { + s.Type = &v + return s +} + type GetMailDomainInput struct { _ struct{} `type:"structure"` @@ -12655,7 +14042,7 @@ type GetMailDomainInput struct { // DomainName is a required field DomainName *string `min:"3" type:"string" required:"true"` - // The Amazon WorkMail organization for which the domain is retrieved. + // The WorkMail organization for which the domain is retrieved. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -12729,10 +14116,10 @@ type GetMailDomainOutput struct { // Indicates the status of the domain ownership verification. OwnershipVerificationStatus *string `type:"string" enum:"DnsRecordVerificationStatus"` - // A list of the DNS records that Amazon WorkMail recommends adding in your - // DNS provider for the best user experience. The records configure your domain - // with DMARC, SPF, DKIM, and direct incoming email traffic to SES. See admin - // guide for more details. + // A list of the DNS records that WorkMail recommends adding in your DNS provider + // for the best user experience. The records configure your domain with DMARC, + // SPF, DKIM, and direct incoming email traffic to SES. See admin guide for + // more details. Records []*DnsRecord `type:"list"` } @@ -12906,7 +14293,7 @@ type GetMobileDeviceAccessEffectInput struct { // Device user agent the simulated user will report. DeviceUserAgent *string `min:"1" type:"string"` - // The Amazon WorkMail organization to simulate the access effect for. + // The WorkMail organization to simulate the access effect for. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -12992,8 +14379,7 @@ type GetMobileDeviceAccessEffectOutput struct { _ struct{} `type:"structure"` // The effect of the simulated access, ALLOW or DENY, after evaluating mobile - // device access rules in the Amazon WorkMail organization for the simulated - // user parameters. + // device access rules in the WorkMail organization for the simulated user parameters. Effect *string `type:"string" enum:"MobileDeviceAccessRuleEffect"` // A list of the rules which matched the simulated user input and produced the @@ -13039,7 +14425,7 @@ type GetMobileDeviceAccessOverrideInput struct { // DeviceId is a required field DeviceId *string `min:"1" type:"string" required:"true"` - // The Amazon WorkMail organization to which you want to apply the override. + // The WorkMail organization to which you want to apply the override. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -13197,17 +14583,17 @@ func (s *GetMobileDeviceAccessOverrideOutput) SetUserId(v string) *GetMobileDevi return s } -// The representation of an Amazon WorkMail group. +// The representation of an WorkMail group. type Group struct { _ struct{} `type:"structure"` - // The date indicating when the group was disabled from Amazon WorkMail use. + // The date indicating when the group was disabled from WorkMail use. DisabledDate *time.Time `type:"timestamp"` // The email of the group. Email *string `min:"1" type:"string"` - // The date indicating when the group was enabled for Amazon WorkMail use. + // The date indicating when the group was enabled for WorkMail use. EnabledDate *time.Time `type:"timestamp"` // The identifier of the group. @@ -13250,27 +14636,249 @@ func (s *Group) SetEmail(v string) *Group { return s } -// SetEnabledDate sets the EnabledDate field's value. -func (s *Group) SetEnabledDate(v time.Time) *Group { - s.EnabledDate = &v +// SetEnabledDate sets the EnabledDate field's value. +func (s *Group) SetEnabledDate(v time.Time) *Group { + s.EnabledDate = &v + return s +} + +// SetId sets the Id field's value. +func (s *Group) SetId(v string) *Group { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *Group) SetName(v string) *Group { + s.Name = &v + return s +} + +// SetState sets the State field's value. +func (s *Group) SetState(v string) *Group { + s.State = &v + return s +} + +// The impersonation rule that matched the input. +type ImpersonationMatchedRule struct { + _ struct{} `type:"structure"` + + // The ID of the rule that matched the input + ImpersonationRuleId *string `min:"1" type:"string"` + + // The name of the rule that matched the input. + Name *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 ImpersonationMatchedRule) 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 ImpersonationMatchedRule) GoString() string { + return s.String() +} + +// SetImpersonationRuleId sets the ImpersonationRuleId field's value. +func (s *ImpersonationMatchedRule) SetImpersonationRuleId(v string) *ImpersonationMatchedRule { + s.ImpersonationRuleId = &v + return s +} + +// SetName sets the Name field's value. +func (s *ImpersonationMatchedRule) SetName(v string) *ImpersonationMatchedRule { + s.Name = &v + return s +} + +// An impersonation role for the given WorkMail organization. +type ImpersonationRole struct { + _ struct{} `type:"structure"` + + // The date when the impersonation role was created. + DateCreated *time.Time `type:"timestamp"` + + // The date when the impersonation role was last modified. + DateModified *time.Time `type:"timestamp"` + + // The identifier of the impersonation role. + ImpersonationRoleId *string `min:"1" type:"string"` + + // The impersonation role name. + Name *string `min:"1" type:"string"` + + // The impersonation role type. + Type *string `type:"string" enum:"ImpersonationRoleType"` +} + +// 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 ImpersonationRole) 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 ImpersonationRole) GoString() string { + return s.String() +} + +// SetDateCreated sets the DateCreated field's value. +func (s *ImpersonationRole) SetDateCreated(v time.Time) *ImpersonationRole { + s.DateCreated = &v + return s +} + +// SetDateModified sets the DateModified field's value. +func (s *ImpersonationRole) SetDateModified(v time.Time) *ImpersonationRole { + s.DateModified = &v + return s +} + +// SetImpersonationRoleId sets the ImpersonationRoleId field's value. +func (s *ImpersonationRole) SetImpersonationRoleId(v string) *ImpersonationRole { + s.ImpersonationRoleId = &v + return s +} + +// SetName sets the Name field's value. +func (s *ImpersonationRole) SetName(v string) *ImpersonationRole { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *ImpersonationRole) SetType(v string) *ImpersonationRole { + s.Type = &v + return s +} + +// The rules for the given impersonation role. +type ImpersonationRule struct { + _ struct{} `type:"structure"` + + // The rule description. + Description *string `min:"1" type:"string"` + + // The effect of the rule when it matches the input. Allowed effect values are + // ALLOW or DENY. + // + // Effect is a required field + Effect *string `type:"string" required:"true" enum:"AccessEffect"` + + // The identifier of the rule. + // + // ImpersonationRuleId is a required field + ImpersonationRuleId *string `min:"1" type:"string" required:"true"` + + // The rule name. + Name *string `min:"1" type:"string"` + + // A list of user IDs that don't match the rule. + NotTargetUsers []*string `min:"1" type:"list"` + + // A list of user IDs that match the rule. + TargetUsers []*string `min:"1" 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 ImpersonationRule) 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 ImpersonationRule) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImpersonationRule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImpersonationRule"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Effect == nil { + invalidParams.Add(request.NewErrParamRequired("Effect")) + } + if s.ImpersonationRuleId == nil { + invalidParams.Add(request.NewErrParamRequired("ImpersonationRuleId")) + } + if s.ImpersonationRuleId != nil && len(*s.ImpersonationRuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImpersonationRuleId", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.NotTargetUsers != nil && len(s.NotTargetUsers) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NotTargetUsers", 1)) + } + if s.TargetUsers != nil && len(s.TargetUsers) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetUsers", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *ImpersonationRule) SetDescription(v string) *ImpersonationRule { + s.Description = &v + return s +} + +// SetEffect sets the Effect field's value. +func (s *ImpersonationRule) SetEffect(v string) *ImpersonationRule { + s.Effect = &v return s } -// SetId sets the Id field's value. -func (s *Group) SetId(v string) *Group { - s.Id = &v +// SetImpersonationRuleId sets the ImpersonationRuleId field's value. +func (s *ImpersonationRule) SetImpersonationRuleId(v string) *ImpersonationRule { + s.ImpersonationRuleId = &v return s } // SetName sets the Name field's value. -func (s *Group) SetName(v string) *Group { +func (s *ImpersonationRule) SetName(v string) *ImpersonationRule { s.Name = &v return s } -// SetState sets the State field's value. -func (s *Group) SetState(v string) *Group { - s.State = &v +// SetNotTargetUsers sets the NotTargetUsers field's value. +func (s *ImpersonationRule) SetNotTargetUsers(v []*string) *ImpersonationRule { + s.NotTargetUsers = v + return s +} + +// SetTargetUsers sets the TargetUsers field's value. +func (s *ImpersonationRule) SetTargetUsers(v []*string) *ImpersonationRule { + s.TargetUsers = v return s } @@ -13340,9 +14948,9 @@ func (s *InvalidConfigurationException) RequestID() string { return s.RespMetadata.RequestID } -// You SES configuration has customizations that Amazon WorkMail cannot save. -// The error message lists the invalid setting. For examples of invalid settings, -// refer to CreateReceiptRule (https://docs.aws.amazon.com/ses/latest/APIReference/API_CreateReceiptRule.html). +// You SES configuration has customizations that WorkMail cannot save. The error +// message lists the invalid setting. For examples of invalid settings, refer +// to CreateReceiptRule (https://docs.aws.amazon.com/ses/latest/APIReference/API_CreateReceiptRule.html). type InvalidCustomSesConfigurationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -13872,8 +15480,8 @@ type ListAvailabilityConfigurationsInput struct { // not require a token. NextToken *string `min:"1" type:"string"` - // The Amazon WorkMail organization for which the AvailabilityConfiguration's - // will be listed. + // The WorkMail organization for which the AvailabilityConfiguration's will + // be listed. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -13940,8 +15548,8 @@ func (s *ListAvailabilityConfigurationsInput) SetOrganizationId(v string) *ListA type ListAvailabilityConfigurationsOutput struct { _ struct{} `type:"structure"` - // The list of AvailabilityConfiguration's that exist for the specified Amazon - // WorkMail organization. + // The list of AvailabilityConfiguration's that exist for the specified WorkMail + // organization. AvailabilityConfigurations []*AvailabilityConfiguration `type:"list"` // The token to use to retrieve the next page of results. The value is null @@ -14226,6 +15834,121 @@ func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput { return s } +type ListImpersonationRolesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results returned in a single call. + MaxResults *int64 `min:"1" type:"integer"` + + // The token used to retrieve the next page of results. The first call doesn't + // require a token. + NextToken *string `min:"1" type:"string"` + + // The WorkMail organization to which the listed impersonation roles belong. + // + // OrganizationId is a required field + OrganizationId *string `min:"34" 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 ListImpersonationRolesInput) 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 ListImpersonationRolesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListImpersonationRolesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListImpersonationRolesInput"} + 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.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListImpersonationRolesInput) SetMaxResults(v int64) *ListImpersonationRolesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListImpersonationRolesInput) SetNextToken(v string) *ListImpersonationRolesInput { + s.NextToken = &v + return s +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *ListImpersonationRolesInput) SetOrganizationId(v string) *ListImpersonationRolesInput { + s.OrganizationId = &v + return s +} + +type ListImpersonationRolesOutput struct { + _ struct{} `type:"structure"` + + // The token to retrieve the next page of results. The value is null when there + // are no results to return. + NextToken *string `min:"1" type:"string"` + + // The list of impersonation roles under the given WorkMail organization. + Roles []*ImpersonationRole `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 ListImpersonationRolesOutput) 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 ListImpersonationRolesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListImpersonationRolesOutput) SetNextToken(v string) *ListImpersonationRolesOutput { + s.NextToken = &v + return s +} + +// SetRoles sets the Roles field's value. +func (s *ListImpersonationRolesOutput) SetRoles(v []*ImpersonationRole) *ListImpersonationRolesOutput { + s.Roles = v + return s +} + type ListMailDomainsInput struct { _ struct{} `type:"structure"` @@ -14236,7 +15959,7 @@ type ListMailDomainsInput struct { // not require a token. NextToken *string `min:"1" type:"string"` - // The Amazon WorkMail organization for which to list domains. + // The WorkMail organization for which to list domains. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -14304,8 +16027,8 @@ type ListMailDomainsOutput struct { _ struct{} `type:"structure"` // The list of mail domain summaries, specifying domains that exist in the specified - // Amazon WorkMail organization, along with the information about whether the - // domain is or isn't the default. + // WorkMail organization, along with the information about whether the domain + // is or isn't the default. MailDomains []*MailDomainSummary `type:"list"` // The token to use to retrieve the next page of results. The value becomes @@ -14603,8 +16326,7 @@ type ListMobileDeviceAccessOverridesInput struct { // not require a token. NextToken *string `min:"1" type:"string"` - // The Amazon WorkMail organization under which to list mobile device access - // overrides. + // The WorkMail organization under which to list mobile device access overrides. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -14703,8 +16425,8 @@ type ListMobileDeviceAccessOverridesOutput struct { // when there are no more results to return. NextToken *string `min:"1" type:"string"` - // The list of mobile device access overrides that exist for the specified Amazon - // WorkMail organization and user. + // The list of mobile device access overrides that exist for the specified WorkMail + // organization and user. Overrides []*MobileDeviceAccessOverride `type:"list"` } @@ -14741,7 +16463,7 @@ func (s *ListMobileDeviceAccessOverridesOutput) SetOverrides(v []*MobileDeviceAc type ListMobileDeviceAccessRulesInput struct { _ struct{} `type:"structure"` - // The Amazon WorkMail organization for which to list the rules. + // The WorkMail organization for which to list the rules. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -14790,8 +16512,8 @@ func (s *ListMobileDeviceAccessRulesInput) SetOrganizationId(v string) *ListMobi type ListMobileDeviceAccessRulesOutput struct { _ struct{} `type:"structure"` - // The list of mobile device access rules that exist under the specified Amazon - // WorkMail organization. + // The list of mobile device access rules that exist under the specified WorkMail + // organization. Rules []*MobileDeviceAccessRule `type:"list"` } @@ -15706,10 +17428,10 @@ func (s *MailboxExportJob) SetState(v string) *MailboxExportJob { type Member struct { _ struct{} `type:"structure"` - // The date indicating when the member was disabled from Amazon WorkMail use. + // The date indicating when the member was disabled from WorkMail use. DisabledDate *time.Time `type:"timestamp"` - // The date indicating when the member was enabled for Amazon WorkMail use. + // The date indicating when the member was enabled for WorkMail use. EnabledDate *time.Time `type:"timestamp"` // The identifier of the member. @@ -15897,7 +17619,7 @@ func (s *MobileDeviceAccessOverride) SetUserId(v string) *MobileDeviceAccessOver return s } -// A rule that controls access to mobile devices for an Amazon WorkMail group. +// A rule that controls access to mobile devices for an WorkMail group. type MobileDeviceAccessRule struct { _ struct{} `type:"structure"` @@ -16048,7 +17770,7 @@ func (s *MobileDeviceAccessRule) SetNotDeviceUserAgents(v []*string) *MobileDevi return s } -// The user, group, or resource name isn't unique in Amazon WorkMail. +// The user, group, or resource name isn't unique in WorkMail. type NameAvailabilityException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -16392,6 +18114,9 @@ type PutAccessControlRuleInput struct { // Effect is a required field Effect *string `type:"string" required:"true" enum:"AccessControlRuleEffect"` + // Impersonation role IDs to include in the rule. + ImpersonationRoleIds []*string `type:"list"` + // IPv4 CIDR ranges to include in the rule. IpRanges []*string `type:"list"` @@ -16404,6 +18129,9 @@ type PutAccessControlRuleInput struct { // AutoDiscover, EWS, IMAP, SMTP, WindowsOutlook, and WebMail. NotActions []*string `type:"list"` + // Impersonation role IDs to exclude from the rule. + NotImpersonationRoleIds []*string `type:"list"` + // IPv4 CIDR ranges to exclude from the rule. NotIpRanges []*string `type:"list"` @@ -16483,6 +18211,12 @@ func (s *PutAccessControlRuleInput) SetEffect(v string) *PutAccessControlRuleInp return s } +// SetImpersonationRoleIds sets the ImpersonationRoleIds field's value. +func (s *PutAccessControlRuleInput) SetImpersonationRoleIds(v []*string) *PutAccessControlRuleInput { + s.ImpersonationRoleIds = v + return s +} + // SetIpRanges sets the IpRanges field's value. func (s *PutAccessControlRuleInput) SetIpRanges(v []*string) *PutAccessControlRuleInput { s.IpRanges = v @@ -16501,6 +18235,12 @@ func (s *PutAccessControlRuleInput) SetNotActions(v []*string) *PutAccessControl return s } +// SetNotImpersonationRoleIds sets the NotImpersonationRoleIds field's value. +func (s *PutAccessControlRuleInput) SetNotImpersonationRoleIds(v []*string) *PutAccessControlRuleInput { + s.NotImpersonationRoleIds = v + return s +} + // SetNotIpRanges sets the NotIpRanges field's value. func (s *PutAccessControlRuleInput) SetNotIpRanges(v []*string) *PutAccessControlRuleInput { s.NotIpRanges = v @@ -16882,7 +18622,7 @@ type PutMobileDeviceAccessOverrideInput struct { // Effect is a required field Effect *string `type:"string" required:"true" enum:"MobileDeviceAccessRuleEffect"` - // Identifies the Amazon WorkMail organization for which you create the override. + // Identifies the WorkMail organization for which you create the override. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -17189,12 +18929,12 @@ type RegisterMailDomainInput struct { // Idempotency token used when retrying requests. ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` - // The name of the mail domain to create in Amazon WorkMail and SES. + // The name of the mail domain to create in WorkMail and SES. // // DomainName is a required field DomainName *string `min:"3" type:"string" required:"true"` - // The Amazon WorkMail organization under which you're creating the domain. + // The WorkMail organization under which you're creating the domain. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -17389,7 +19129,7 @@ func (s RegisterToWorkMailOutput) GoString() string { return s.String() } -// This user, group, or resource name is not allowed in Amazon WorkMail. +// This user, group, or resource name is not allowed in WorkMail. type ReservedNameException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -17564,13 +19304,13 @@ func (s ResetPasswordOutput) GoString() string { type Resource struct { _ struct{} `type:"structure"` - // The date indicating when the resource was disabled from Amazon WorkMail use. + // The date indicating when the resource was disabled from WorkMail use. DisabledDate *time.Time `type:"timestamp"` // The email of the resource. Email *string `min:"1" type:"string"` - // The date indicating when the resource was enabled for Amazon WorkMail use. + // The date indicating when the resource was enabled for WorkMail use. EnabledDate *time.Time `type:"timestamp"` // The identifier of the resource. @@ -18071,8 +19811,7 @@ type TestAvailabilityConfigurationInput struct { // Describes a Lambda based availability provider. LambdaProvider *LambdaAvailabilityProvider `type:"structure"` - // The Amazon WorkMail organization where the availability provider will be - // tested. + // The WorkMail organization where the availability provider will be tested. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -18420,8 +20159,8 @@ type UpdateAvailabilityConfigurationInput struct { // stored provider will be overridden by the one provided. LambdaProvider *LambdaAvailabilityProvider `type:"structure"` - // The Amazon WorkMail organization for which the AvailabilityConfiguration - // will be updated. + // The WorkMail organization for which the AvailabilityConfiguration will be + // updated. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -18531,7 +20270,7 @@ type UpdateDefaultMailDomainInput struct { // DomainName is a required field DomainName *string `min:"3" type:"string" required:"true"` - // The Amazon WorkMail organization for which to list domains. + // The WorkMail organization for which to list domains. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -18611,6 +20350,161 @@ func (s UpdateDefaultMailDomainOutput) GoString() string { return s.String() } +type UpdateImpersonationRoleInput struct { + _ struct{} `type:"structure"` + + // The updated impersonation role description. + Description *string `min:"1" type:"string"` + + // The ID of the impersonation role to update. + // + // ImpersonationRoleId is a required field + ImpersonationRoleId *string `min:"1" type:"string" required:"true"` + + // The updated impersonation role name. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The WorkMail organization that contains the impersonation role to update. + // + // OrganizationId is a required field + OrganizationId *string `min:"34" type:"string" required:"true"` + + // The updated list of rules. + // + // Rules is a required field + Rules []*ImpersonationRule `type:"list" required:"true"` + + // The updated impersonation role type. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ImpersonationRoleType"` +} + +// 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 UpdateImpersonationRoleInput) 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 UpdateImpersonationRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateImpersonationRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateImpersonationRoleInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.ImpersonationRoleId == nil { + invalidParams.Add(request.NewErrParamRequired("ImpersonationRoleId")) + } + if s.ImpersonationRoleId != nil && len(*s.ImpersonationRoleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImpersonationRoleId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } + if s.Rules == nil { + invalidParams.Add(request.NewErrParamRequired("Rules")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Rules != nil { + for i, v := range s.Rules { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateImpersonationRoleInput) SetDescription(v string) *UpdateImpersonationRoleInput { + s.Description = &v + return s +} + +// SetImpersonationRoleId sets the ImpersonationRoleId field's value. +func (s *UpdateImpersonationRoleInput) SetImpersonationRoleId(v string) *UpdateImpersonationRoleInput { + s.ImpersonationRoleId = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateImpersonationRoleInput) SetName(v string) *UpdateImpersonationRoleInput { + s.Name = &v + return s +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *UpdateImpersonationRoleInput) SetOrganizationId(v string) *UpdateImpersonationRoleInput { + s.OrganizationId = &v + return s +} + +// SetRules sets the Rules field's value. +func (s *UpdateImpersonationRoleInput) SetRules(v []*ImpersonationRule) *UpdateImpersonationRoleInput { + s.Rules = v + return s +} + +// SetType sets the Type field's value. +func (s *UpdateImpersonationRoleInput) SetType(v string) *UpdateImpersonationRoleInput { + s.Type = &v + return s +} + +type UpdateImpersonationRoleOutput 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 UpdateImpersonationRoleOutput) 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 UpdateImpersonationRoleOutput) GoString() string { + return s.String() +} + type UpdateMailboxQuotaInput struct { _ struct{} `type:"structure"` @@ -18766,7 +20660,7 @@ type UpdateMobileDeviceAccessRuleInput struct { // match. NotDeviceUserAgents []*string `min:"1" type:"list"` - // The Amazon WorkMail organization under which the rule will be updated. + // The WorkMail organization under which the rule will be updated. // // OrganizationId is a required field OrganizationId *string `min:"34" type:"string" required:"true"` @@ -19163,11 +21057,11 @@ func (s UpdateResourceOutput) GoString() string { return s.String() } -// The representation of an Amazon WorkMail user. +// The representation of an WorkMail user. type User struct { _ struct{} `type:"structure"` - // The date indicating when the user was disabled from Amazon WorkMail use. + // The date indicating when the user was disabled from WorkMail use. DisabledDate *time.Time `type:"timestamp"` // The display name of the user. @@ -19176,7 +21070,7 @@ type User struct { // The email of the user. Email *string `min:"1" type:"string"` - // The date indicating when the user was enabled for Amazon WorkMail use. + // The date indicating when the user was enabled for WorkMail use. EnabledDate *time.Time `type:"timestamp"` // The identifier of the user. @@ -19274,6 +21168,22 @@ func AccessControlRuleEffect_Values() []string { } } +const ( + // AccessEffectAllow is a AccessEffect enum value + AccessEffectAllow = "ALLOW" + + // AccessEffectDeny is a AccessEffect enum value + AccessEffectDeny = "DENY" +) + +// AccessEffect_Values returns all elements of the AccessEffect enum +func AccessEffect_Values() []string { + return []string{ + AccessEffectAllow, + AccessEffectDeny, + } +} + const ( // AvailabilityProviderTypeEws is a AvailabilityProviderType enum value AvailabilityProviderTypeEws = "EWS" @@ -19358,6 +21268,22 @@ func FolderName_Values() []string { } } +const ( + // ImpersonationRoleTypeFullAccess is a ImpersonationRoleType enum value + ImpersonationRoleTypeFullAccess = "FULL_ACCESS" + + // ImpersonationRoleTypeReadOnly is a ImpersonationRoleType enum value + ImpersonationRoleTypeReadOnly = "READ_ONLY" +) + +// ImpersonationRoleType_Values returns all elements of the ImpersonationRoleType enum +func ImpersonationRoleType_Values() []string { + return []string{ + ImpersonationRoleTypeFullAccess, + ImpersonationRoleTypeReadOnly, + } +} + const ( // MailboxExportJobStateRunning is a MailboxExportJobState enum value MailboxExportJobStateRunning = "RUNNING" diff --git a/service/workmail/doc.go b/service/workmail/doc.go index 79e9b50c6c8..5f526dec671 100644 --- a/service/workmail/doc.go +++ b/service/workmail/doc.go @@ -3,10 +3,10 @@ // Package workmail provides the client and types for making API // requests to Amazon WorkMail. // -// Amazon WorkMail is a secure, managed business email and calendaring service -// with support for existing desktop and mobile email clients. You can access -// your email, contacts, and calendars using Microsoft Outlook, your browser, -// or other native iOS and Android email applications. You can integrate WorkMail +// WorkMail is a secure, managed business email and calendaring service with +// support for existing desktop and mobile email clients. You can access your +// email, contacts, and calendars using Microsoft Outlook, your browser, or +// other native iOS and Android email applications. You can integrate WorkMail // with your existing corporate directory and control both the keys that encrypt // your data and the location in which your data is stored. // diff --git a/service/workmail/errors.go b/service/workmail/errors.go index 6c7cb85c5b9..37546b48cc6 100644 --- a/service/workmail/errors.go +++ b/service/workmail/errors.go @@ -65,9 +65,9 @@ const ( // ErrCodeInvalidCustomSesConfigurationException for service response error code // "InvalidCustomSesConfigurationException". // - // You SES configuration has customizations that Amazon WorkMail cannot save. - // The error message lists the invalid setting. For examples of invalid settings, - // refer to CreateReceiptRule (https://docs.aws.amazon.com/ses/latest/APIReference/API_CreateReceiptRule.html). + // You SES configuration has customizations that WorkMail cannot save. The error + // message lists the invalid setting. For examples of invalid settings, refer + // to CreateReceiptRule (https://docs.aws.amazon.com/ses/latest/APIReference/API_CreateReceiptRule.html). ErrCodeInvalidCustomSesConfigurationException = "InvalidCustomSesConfigurationException" // ErrCodeInvalidParameterException for service response error code @@ -112,7 +112,7 @@ const ( // ErrCodeNameAvailabilityException for service response error code // "NameAvailabilityException". // - // The user, group, or resource name isn't unique in Amazon WorkMail. + // The user, group, or resource name isn't unique in WorkMail. ErrCodeNameAvailabilityException = "NameAvailabilityException" // ErrCodeOrganizationNotFoundException for service response error code @@ -132,7 +132,7 @@ const ( // ErrCodeReservedNameException for service response error code // "ReservedNameException". // - // This user, group, or resource name is not allowed in Amazon WorkMail. + // This user, group, or resource name is not allowed in WorkMail. ErrCodeReservedNameException = "ReservedNameException" // ErrCodeResourceNotFoundException for service response error code diff --git a/service/workmail/workmailiface/interface.go b/service/workmail/workmailiface/interface.go index 1a3372e3f8b..297f8d74cb4 100644 --- a/service/workmail/workmailiface/interface.go +++ b/service/workmail/workmailiface/interface.go @@ -68,6 +68,10 @@ type WorkMailAPI interface { AssociateMemberToGroupWithContext(aws.Context, *workmail.AssociateMemberToGroupInput, ...request.Option) (*workmail.AssociateMemberToGroupOutput, error) AssociateMemberToGroupRequest(*workmail.AssociateMemberToGroupInput) (*request.Request, *workmail.AssociateMemberToGroupOutput) + AssumeImpersonationRole(*workmail.AssumeImpersonationRoleInput) (*workmail.AssumeImpersonationRoleOutput, error) + AssumeImpersonationRoleWithContext(aws.Context, *workmail.AssumeImpersonationRoleInput, ...request.Option) (*workmail.AssumeImpersonationRoleOutput, error) + AssumeImpersonationRoleRequest(*workmail.AssumeImpersonationRoleInput) (*request.Request, *workmail.AssumeImpersonationRoleOutput) + CancelMailboxExportJob(*workmail.CancelMailboxExportJobInput) (*workmail.CancelMailboxExportJobOutput, error) CancelMailboxExportJobWithContext(aws.Context, *workmail.CancelMailboxExportJobInput, ...request.Option) (*workmail.CancelMailboxExportJobOutput, error) CancelMailboxExportJobRequest(*workmail.CancelMailboxExportJobInput) (*request.Request, *workmail.CancelMailboxExportJobOutput) @@ -84,6 +88,10 @@ type WorkMailAPI interface { CreateGroupWithContext(aws.Context, *workmail.CreateGroupInput, ...request.Option) (*workmail.CreateGroupOutput, error) CreateGroupRequest(*workmail.CreateGroupInput) (*request.Request, *workmail.CreateGroupOutput) + CreateImpersonationRole(*workmail.CreateImpersonationRoleInput) (*workmail.CreateImpersonationRoleOutput, error) + CreateImpersonationRoleWithContext(aws.Context, *workmail.CreateImpersonationRoleInput, ...request.Option) (*workmail.CreateImpersonationRoleOutput, error) + CreateImpersonationRoleRequest(*workmail.CreateImpersonationRoleInput) (*request.Request, *workmail.CreateImpersonationRoleOutput) + CreateMobileDeviceAccessRule(*workmail.CreateMobileDeviceAccessRuleInput) (*workmail.CreateMobileDeviceAccessRuleOutput, error) CreateMobileDeviceAccessRuleWithContext(aws.Context, *workmail.CreateMobileDeviceAccessRuleInput, ...request.Option) (*workmail.CreateMobileDeviceAccessRuleOutput, error) CreateMobileDeviceAccessRuleRequest(*workmail.CreateMobileDeviceAccessRuleInput) (*request.Request, *workmail.CreateMobileDeviceAccessRuleOutput) @@ -120,6 +128,10 @@ type WorkMailAPI interface { DeleteGroupWithContext(aws.Context, *workmail.DeleteGroupInput, ...request.Option) (*workmail.DeleteGroupOutput, error) DeleteGroupRequest(*workmail.DeleteGroupInput) (*request.Request, *workmail.DeleteGroupOutput) + DeleteImpersonationRole(*workmail.DeleteImpersonationRoleInput) (*workmail.DeleteImpersonationRoleOutput, error) + DeleteImpersonationRoleWithContext(aws.Context, *workmail.DeleteImpersonationRoleInput, ...request.Option) (*workmail.DeleteImpersonationRoleOutput, error) + DeleteImpersonationRoleRequest(*workmail.DeleteImpersonationRoleInput) (*request.Request, *workmail.DeleteImpersonationRoleOutput) + DeleteMailboxPermissions(*workmail.DeleteMailboxPermissionsInput) (*workmail.DeleteMailboxPermissionsOutput, error) DeleteMailboxPermissionsWithContext(aws.Context, *workmail.DeleteMailboxPermissionsInput, ...request.Option) (*workmail.DeleteMailboxPermissionsOutput, error) DeleteMailboxPermissionsRequest(*workmail.DeleteMailboxPermissionsInput) (*request.Request, *workmail.DeleteMailboxPermissionsOutput) @@ -200,6 +212,14 @@ type WorkMailAPI interface { GetDefaultRetentionPolicyWithContext(aws.Context, *workmail.GetDefaultRetentionPolicyInput, ...request.Option) (*workmail.GetDefaultRetentionPolicyOutput, error) GetDefaultRetentionPolicyRequest(*workmail.GetDefaultRetentionPolicyInput) (*request.Request, *workmail.GetDefaultRetentionPolicyOutput) + GetImpersonationRole(*workmail.GetImpersonationRoleInput) (*workmail.GetImpersonationRoleOutput, error) + GetImpersonationRoleWithContext(aws.Context, *workmail.GetImpersonationRoleInput, ...request.Option) (*workmail.GetImpersonationRoleOutput, error) + GetImpersonationRoleRequest(*workmail.GetImpersonationRoleInput) (*request.Request, *workmail.GetImpersonationRoleOutput) + + GetImpersonationRoleEffect(*workmail.GetImpersonationRoleEffectInput) (*workmail.GetImpersonationRoleEffectOutput, error) + GetImpersonationRoleEffectWithContext(aws.Context, *workmail.GetImpersonationRoleEffectInput, ...request.Option) (*workmail.GetImpersonationRoleEffectOutput, error) + GetImpersonationRoleEffectRequest(*workmail.GetImpersonationRoleEffectInput) (*request.Request, *workmail.GetImpersonationRoleEffectOutput) + GetMailDomain(*workmail.GetMailDomainInput) (*workmail.GetMailDomainOutput, error) GetMailDomainWithContext(aws.Context, *workmail.GetMailDomainInput, ...request.Option) (*workmail.GetMailDomainOutput, error) GetMailDomainRequest(*workmail.GetMailDomainInput) (*request.Request, *workmail.GetMailDomainOutput) @@ -248,6 +268,13 @@ type WorkMailAPI interface { ListGroupsPages(*workmail.ListGroupsInput, func(*workmail.ListGroupsOutput, bool) bool) error ListGroupsPagesWithContext(aws.Context, *workmail.ListGroupsInput, func(*workmail.ListGroupsOutput, bool) bool, ...request.Option) error + ListImpersonationRoles(*workmail.ListImpersonationRolesInput) (*workmail.ListImpersonationRolesOutput, error) + ListImpersonationRolesWithContext(aws.Context, *workmail.ListImpersonationRolesInput, ...request.Option) (*workmail.ListImpersonationRolesOutput, error) + ListImpersonationRolesRequest(*workmail.ListImpersonationRolesInput) (*request.Request, *workmail.ListImpersonationRolesOutput) + + ListImpersonationRolesPages(*workmail.ListImpersonationRolesInput, func(*workmail.ListImpersonationRolesOutput, bool) bool) error + ListImpersonationRolesPagesWithContext(aws.Context, *workmail.ListImpersonationRolesInput, func(*workmail.ListImpersonationRolesOutput, bool) bool, ...request.Option) error + ListMailDomains(*workmail.ListMailDomainsInput) (*workmail.ListMailDomainsOutput, error) ListMailDomainsWithContext(aws.Context, *workmail.ListMailDomainsInput, ...request.Option) (*workmail.ListMailDomainsOutput, error) ListMailDomainsRequest(*workmail.ListMailDomainsInput) (*request.Request, *workmail.ListMailDomainsOutput) @@ -372,6 +399,10 @@ type WorkMailAPI interface { UpdateDefaultMailDomainWithContext(aws.Context, *workmail.UpdateDefaultMailDomainInput, ...request.Option) (*workmail.UpdateDefaultMailDomainOutput, error) UpdateDefaultMailDomainRequest(*workmail.UpdateDefaultMailDomainInput) (*request.Request, *workmail.UpdateDefaultMailDomainOutput) + UpdateImpersonationRole(*workmail.UpdateImpersonationRoleInput) (*workmail.UpdateImpersonationRoleOutput, error) + UpdateImpersonationRoleWithContext(aws.Context, *workmail.UpdateImpersonationRoleInput, ...request.Option) (*workmail.UpdateImpersonationRoleOutput, error) + UpdateImpersonationRoleRequest(*workmail.UpdateImpersonationRoleInput) (*request.Request, *workmail.UpdateImpersonationRoleOutput) + UpdateMailboxQuota(*workmail.UpdateMailboxQuotaInput) (*workmail.UpdateMailboxQuotaOutput, error) UpdateMailboxQuotaWithContext(aws.Context, *workmail.UpdateMailboxQuotaInput, ...request.Option) (*workmail.UpdateMailboxQuotaOutput, error) UpdateMailboxQuotaRequest(*workmail.UpdateMailboxQuotaInput) (*request.Request, *workmail.UpdateMailboxQuotaOutput)