From 42cbf2a247d39fcf92222c1ea3909b445d956b40 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Tue, 23 Jul 2024 14:42:45 -0400 Subject: [PATCH] Release v1.55.1 (2024-07-23) (#5315) Release v1.55.1 (2024-07-23) === ### Service Client Updates * `service/appsync`: Updates service API and paginators * `service/cleanrooms`: Updates service API, documentation, and paginators * `service/cleanroomsml`: Updates service API, documentation, and waiters * `service/connect`: Updates service API and documentation * `service/connect-contact-lens`: Updates service API and documentation * `service/datazone`: Updates service API and documentation * `service/entityresolution`: Updates service API and documentation --- CHANGELOG.md | 12 + aws/version.go | 2 +- models/apis/appsync/2017-07-25/api-2.json | 3 +- .../apis/appsync/2017-07-25/paginators-1.json | 60 + models/apis/cleanrooms/2022-02-17/api-2.json | 12118 +++++++++------ models/apis/cleanrooms/2022-02-17/docs-2.json | 588 +- .../cleanrooms/2022-02-17/paginators-1.json | 18 + .../apis/cleanroomsml/2023-09-06/api-2.json | 422 +- .../apis/cleanroomsml/2023-09-06/docs-2.json | 49 +- .../apis/cleanroomsml/2023-09-06/smoke.json | 6 + .../cleanroomsml/2023-09-06/waiters-2.json | 5 + .../2020-08-21/api-2.json | 38 +- .../2020-08-21/docs-2.json | 32 +- .../2020-08-21/endpoint-rule-set-1.json | 314 + .../2020-08-21/endpoint-tests-1.json | 405 + models/apis/connect/2017-08-08/api-2.json | 39 +- models/apis/connect/2017-08-08/docs-2.json | 32 +- models/apis/datazone/2018-05-10/api-2.json | 62 - models/apis/datazone/2018-05-10/docs-2.json | 45 - .../entityresolution/2018-05-10/api-2.json | 163 +- .../entityresolution/2018-05-10/docs-2.json | 148 +- service/appsync/api.go | 570 + service/appsync/appsynciface/interface.go | 30 + service/cleanrooms/api.go | 12952 ++++++++++------ .../cleanrooms/cleanroomsiface/interface.go | 45 + service/cleanroomsml/api.go | 95 +- service/connect/api.go | 236 +- service/connectcontactlens/api.go | 127 +- service/connectcontactlens/doc.go | 10 +- service/datazone/api.go | 171 - service/entityresolution/api.go | 869 +- service/entityresolution/errors.go | 14 +- 32 files changed, 19516 insertions(+), 10164 deletions(-) create mode 100644 models/apis/cleanroomsml/2023-09-06/smoke.json create mode 100644 models/apis/cleanroomsml/2023-09-06/waiters-2.json create mode 100644 models/apis/connect-contact-lens/2020-08-21/endpoint-rule-set-1.json create mode 100644 models/apis/connect-contact-lens/2020-08-21/endpoint-tests-1.json diff --git a/CHANGELOG.md b/CHANGELOG.md index a1b41c49f0b..568094bb984 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +Release v1.55.1 (2024-07-23) +=== + +### Service Client Updates +* `service/appsync`: Updates service API and paginators +* `service/cleanrooms`: Updates service API, documentation, and paginators +* `service/cleanroomsml`: Updates service API, documentation, and waiters +* `service/connect`: Updates service API and documentation +* `service/connect-contact-lens`: Updates service API and documentation +* `service/datazone`: Updates service API and documentation +* `service/entityresolution`: Updates service API and documentation + Release v1.55.0 (2024-07-22) === diff --git a/aws/version.go b/aws/version.go index 0734268e6ac..ae3853dba0e 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.55.0" +const SDKVersion = "1.55.1" diff --git a/models/apis/appsync/2017-07-25/api-2.json b/models/apis/appsync/2017-07-25/api-2.json index 758e424b720..2b2eb43acce 100644 --- a/models/apis/appsync/2017-07-25/api-2.json +++ b/models/apis/appsync/2017-07-25/api-2.json @@ -11,7 +11,8 @@ "serviceId":"AppSync", "signatureVersion":"v4", "signingName":"appsync", - "uid":"appsync-2017-07-25" + "uid":"appsync-2017-07-25", + "auth":["aws.auth#sigv4"] }, "operations":{ "AssociateApi":{ diff --git a/models/apis/appsync/2017-07-25/paginators-1.json b/models/apis/appsync/2017-07-25/paginators-1.json index 5677bd8e4a2..ad32b16b942 100644 --- a/models/apis/appsync/2017-07-25/paginators-1.json +++ b/models/apis/appsync/2017-07-25/paginators-1.json @@ -1,4 +1,64 @@ { "pagination": { + "ListApiKeys": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "apiKeys" + }, + "ListDataSources": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "dataSources" + }, + "ListDomainNames": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "domainNameConfigs" + }, + "ListFunctions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "functions" + }, + "ListGraphqlApis": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "graphqlApis" + }, + "ListResolvers": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "resolvers" + }, + "ListResolversByFunction": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "resolvers" + }, + "ListSourceApiAssociations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "sourceApiAssociationSummaries" + }, + "ListTypes": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "types" + }, + "ListTypesByAssociation": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "types" + } } } diff --git a/models/apis/cleanrooms/2022-02-17/api-2.json b/models/apis/cleanrooms/2022-02-17/api-2.json index 5763bfaa18a..e948d80dba1 100644 --- a/models/apis/cleanrooms/2022-02-17/api-2.json +++ b/models/apis/cleanrooms/2022-02-17/api-2.json @@ -1,3775 +1,6657 @@ { - "version":"2.0", - "metadata":{ - "apiVersion":"2022-02-17", - "endpointPrefix":"cleanrooms", - "jsonVersion":"1.1", - "protocol":"rest-json", - "serviceFullName":"AWS Clean Rooms Service", - "serviceId":"CleanRooms", - "signatureVersion":"v4", - "signingName":"cleanrooms", - "uid":"cleanrooms-2022-02-17" + "metadata": { + "apiVersion": "2022-02-17", + "auth": [ + "aws.auth#sigv4" + ], + "endpointPrefix": "cleanrooms", + "protocol": "rest-json", + "protocols": [ + "rest-json" + ], + "serviceFullName": "AWS Clean Rooms Service", + "serviceId": "CleanRooms", + "signatureVersion": "v4", + "signingName": "cleanrooms", + "uid": "cleanrooms-2022-02-17" }, - "operations":{ - "BatchGetCollaborationAnalysisTemplate":{ - "name":"BatchGetCollaborationAnalysisTemplate", - "http":{ - "method":"POST", - "requestUri":"/collaborations/{collaborationIdentifier}/batch-analysistemplates", - "responseCode":200 - }, - "input":{"shape":"BatchGetCollaborationAnalysisTemplateInput"}, - "output":{"shape":"BatchGetCollaborationAnalysisTemplateOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "BatchGetSchema":{ - "name":"BatchGetSchema", - "http":{ - "method":"POST", - "requestUri":"/collaborations/{collaborationIdentifier}/batch-schema", - "responseCode":200 - }, - "input":{"shape":"BatchGetSchemaInput"}, - "output":{"shape":"BatchGetSchemaOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "BatchGetSchemaAnalysisRule":{ - "name":"BatchGetSchemaAnalysisRule", - "http":{ - "method":"POST", - "requestUri":"/collaborations/{collaborationIdentifier}/batch-schema-analysis-rule", - "responseCode":200 - }, - "input":{"shape":"BatchGetSchemaAnalysisRuleInput"}, - "output":{"shape":"BatchGetSchemaAnalysisRuleOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "CreateAnalysisTemplate":{ - "name":"CreateAnalysisTemplate", - "http":{ - "method":"POST", - "requestUri":"/memberships/{membershipIdentifier}/analysistemplates", - "responseCode":200 - }, - "input":{"shape":"CreateAnalysisTemplateInput"}, - "output":{"shape":"CreateAnalysisTemplateOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "CreateCollaboration":{ - "name":"CreateCollaboration", - "http":{ - "method":"POST", - "requestUri":"/collaborations", - "responseCode":200 - }, - "input":{"shape":"CreateCollaborationInput"}, - "output":{"shape":"CreateCollaborationOutput"}, - "errors":[ - {"shape":"ServiceQuotaExceededException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "CreateConfiguredAudienceModelAssociation":{ - "name":"CreateConfiguredAudienceModelAssociation", - "http":{ - "method":"POST", - "requestUri":"/memberships/{membershipIdentifier}/configuredaudiencemodelassociations", - "responseCode":200 - }, - "input":{"shape":"CreateConfiguredAudienceModelAssociationInput"}, - "output":{"shape":"CreateConfiguredAudienceModelAssociationOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "CreateConfiguredTable":{ - "name":"CreateConfiguredTable", - "http":{ - "method":"POST", - "requestUri":"/configuredTables", - "responseCode":200 - }, - "input":{"shape":"CreateConfiguredTableInput"}, - "output":{"shape":"CreateConfiguredTableOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ], - "idempotent":true - }, - "CreateConfiguredTableAnalysisRule":{ - "name":"CreateConfiguredTableAnalysisRule", - "http":{ - "method":"POST", - "requestUri":"/configuredTables/{configuredTableIdentifier}/analysisRule", - "responseCode":200 - }, - "input":{"shape":"CreateConfiguredTableAnalysisRuleInput"}, - "output":{"shape":"CreateConfiguredTableAnalysisRuleOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ], - "idempotent":true - }, - "CreateConfiguredTableAssociation":{ - "name":"CreateConfiguredTableAssociation", - "http":{ - "method":"POST", - "requestUri":"/memberships/{membershipIdentifier}/configuredTableAssociations", - "responseCode":200 - }, - "input":{"shape":"CreateConfiguredTableAssociationInput"}, - "output":{"shape":"CreateConfiguredTableAssociationOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "CreateMembership":{ - "name":"CreateMembership", - "http":{ - "method":"POST", - "requestUri":"/memberships", - "responseCode":200 - }, - "input":{"shape":"CreateMembershipInput"}, - "output":{"shape":"CreateMembershipOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "CreatePrivacyBudgetTemplate":{ - "name":"CreatePrivacyBudgetTemplate", - "http":{ - "method":"POST", - "requestUri":"/memberships/{membershipIdentifier}/privacybudgettemplates", - "responseCode":200 - }, - "input":{"shape":"CreatePrivacyBudgetTemplateInput"}, - "output":{"shape":"CreatePrivacyBudgetTemplateOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "DeleteAnalysisTemplate":{ - "name":"DeleteAnalysisTemplate", - "http":{ - "method":"DELETE", - "requestUri":"/memberships/{membershipIdentifier}/analysistemplates/{analysisTemplateIdentifier}", - "responseCode":204 - }, - "input":{"shape":"DeleteAnalysisTemplateInput"}, - "output":{"shape":"DeleteAnalysisTemplateOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ], - "idempotent":true - }, - "DeleteCollaboration":{ - "name":"DeleteCollaboration", - "http":{ - "method":"DELETE", - "requestUri":"/collaborations/{collaborationIdentifier}", - "responseCode":204 - }, - "input":{"shape":"DeleteCollaborationInput"}, - "output":{"shape":"DeleteCollaborationOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ], - "idempotent":true - }, - "DeleteConfiguredAudienceModelAssociation":{ - "name":"DeleteConfiguredAudienceModelAssociation", - "http":{ - "method":"DELETE", - "requestUri":"/memberships/{membershipIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", - "responseCode":204 - }, - "input":{"shape":"DeleteConfiguredAudienceModelAssociationInput"}, - "output":{"shape":"DeleteConfiguredAudienceModelAssociationOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ], - "idempotent":true - }, - "DeleteConfiguredTable":{ - "name":"DeleteConfiguredTable", - "http":{ - "method":"DELETE", - "requestUri":"/configuredTables/{configuredTableIdentifier}", - "responseCode":204 - }, - "input":{"shape":"DeleteConfiguredTableInput"}, - "output":{"shape":"DeleteConfiguredTableOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ], - "idempotent":true - }, - "DeleteConfiguredTableAnalysisRule":{ - "name":"DeleteConfiguredTableAnalysisRule", - "http":{ - "method":"DELETE", - "requestUri":"/configuredTables/{configuredTableIdentifier}/analysisRule/{analysisRuleType}", - "responseCode":204 - }, - "input":{"shape":"DeleteConfiguredTableAnalysisRuleInput"}, - "output":{"shape":"DeleteConfiguredTableAnalysisRuleOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ], - "idempotent":true - }, - "DeleteConfiguredTableAssociation":{ - "name":"DeleteConfiguredTableAssociation", - "http":{ - "method":"DELETE", - "requestUri":"/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}", - "responseCode":204 - }, - "input":{"shape":"DeleteConfiguredTableAssociationInput"}, - "output":{"shape":"DeleteConfiguredTableAssociationOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ], - "idempotent":true - }, - "DeleteMember":{ - "name":"DeleteMember", - "http":{ - "method":"DELETE", - "requestUri":"/collaborations/{collaborationIdentifier}/member/{accountId}", - "responseCode":204 - }, - "input":{"shape":"DeleteMemberInput"}, - "output":{"shape":"DeleteMemberOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ], - "idempotent":true - }, - "DeleteMembership":{ - "name":"DeleteMembership", - "http":{ - "method":"DELETE", - "requestUri":"/memberships/{membershipIdentifier}", - "responseCode":204 - }, - "input":{"shape":"DeleteMembershipInput"}, - "output":{"shape":"DeleteMembershipOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ], - "idempotent":true - }, - "DeletePrivacyBudgetTemplate":{ - "name":"DeletePrivacyBudgetTemplate", - "http":{ - "method":"DELETE", - "requestUri":"/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", - "responseCode":204 - }, - "input":{"shape":"DeletePrivacyBudgetTemplateInput"}, - "output":{"shape":"DeletePrivacyBudgetTemplateOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ], - "idempotent":true - }, - "GetAnalysisTemplate":{ - "name":"GetAnalysisTemplate", - "http":{ - "method":"GET", - "requestUri":"/memberships/{membershipIdentifier}/analysistemplates/{analysisTemplateIdentifier}", - "responseCode":200 - }, - "input":{"shape":"GetAnalysisTemplateInput"}, - "output":{"shape":"GetAnalysisTemplateOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "GetCollaboration":{ - "name":"GetCollaboration", - "http":{ - "method":"GET", - "requestUri":"/collaborations/{collaborationIdentifier}", - "responseCode":200 - }, - "input":{"shape":"GetCollaborationInput"}, - "output":{"shape":"GetCollaborationOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "GetCollaborationAnalysisTemplate":{ - "name":"GetCollaborationAnalysisTemplate", - "http":{ - "method":"GET", - "requestUri":"/collaborations/{collaborationIdentifier}/analysistemplates/{analysisTemplateArn}", - "responseCode":200 - }, - "input":{"shape":"GetCollaborationAnalysisTemplateInput"}, - "output":{"shape":"GetCollaborationAnalysisTemplateOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "GetCollaborationConfiguredAudienceModelAssociation":{ - "name":"GetCollaborationConfiguredAudienceModelAssociation", - "http":{ - "method":"GET", - "requestUri":"/collaborations/{collaborationIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", - "responseCode":200 - }, - "input":{"shape":"GetCollaborationConfiguredAudienceModelAssociationInput"}, - "output":{"shape":"GetCollaborationConfiguredAudienceModelAssociationOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "GetCollaborationPrivacyBudgetTemplate":{ - "name":"GetCollaborationPrivacyBudgetTemplate", - "http":{ - "method":"GET", - "requestUri":"/collaborations/{collaborationIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", - "responseCode":200 - }, - "input":{"shape":"GetCollaborationPrivacyBudgetTemplateInput"}, - "output":{"shape":"GetCollaborationPrivacyBudgetTemplateOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "GetConfiguredAudienceModelAssociation":{ - "name":"GetConfiguredAudienceModelAssociation", - "http":{ - "method":"GET", - "requestUri":"/memberships/{membershipIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", - "responseCode":200 - }, - "input":{"shape":"GetConfiguredAudienceModelAssociationInput"}, - "output":{"shape":"GetConfiguredAudienceModelAssociationOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "GetConfiguredTable":{ - "name":"GetConfiguredTable", - "http":{ - "method":"GET", - "requestUri":"/configuredTables/{configuredTableIdentifier}", - "responseCode":200 - }, - "input":{"shape":"GetConfiguredTableInput"}, - "output":{"shape":"GetConfiguredTableOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "GetConfiguredTableAnalysisRule":{ - "name":"GetConfiguredTableAnalysisRule", - "http":{ - "method":"GET", - "requestUri":"/configuredTables/{configuredTableIdentifier}/analysisRule/{analysisRuleType}", - "responseCode":200 - }, - "input":{"shape":"GetConfiguredTableAnalysisRuleInput"}, - "output":{"shape":"GetConfiguredTableAnalysisRuleOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "GetConfiguredTableAssociation":{ - "name":"GetConfiguredTableAssociation", - "http":{ - "method":"GET", - "requestUri":"/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}", - "responseCode":200 - }, - "input":{"shape":"GetConfiguredTableAssociationInput"}, - "output":{"shape":"GetConfiguredTableAssociationOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "GetMembership":{ - "name":"GetMembership", - "http":{ - "method":"GET", - "requestUri":"/memberships/{membershipIdentifier}", - "responseCode":200 - }, - "input":{"shape":"GetMembershipInput"}, - "output":{"shape":"GetMembershipOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "GetPrivacyBudgetTemplate":{ - "name":"GetPrivacyBudgetTemplate", - "http":{ - "method":"GET", - "requestUri":"/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", - "responseCode":200 - }, - "input":{"shape":"GetPrivacyBudgetTemplateInput"}, - "output":{"shape":"GetPrivacyBudgetTemplateOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "GetProtectedQuery":{ - "name":"GetProtectedQuery", - "http":{ - "method":"GET", - "requestUri":"/memberships/{membershipIdentifier}/protectedQueries/{protectedQueryIdentifier}", - "responseCode":200 - }, - "input":{"shape":"GetProtectedQueryInput"}, - "output":{"shape":"GetProtectedQueryOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "GetSchema":{ - "name":"GetSchema", - "http":{ - "method":"GET", - "requestUri":"/collaborations/{collaborationIdentifier}/schemas/{name}", - "responseCode":200 - }, - "input":{"shape":"GetSchemaInput"}, - "output":{"shape":"GetSchemaOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "GetSchemaAnalysisRule":{ - "name":"GetSchemaAnalysisRule", - "http":{ - "method":"GET", - "requestUri":"/collaborations/{collaborationIdentifier}/schemas/{name}/analysisRule/{type}", - "responseCode":200 - }, - "input":{"shape":"GetSchemaAnalysisRuleInput"}, - "output":{"shape":"GetSchemaAnalysisRuleOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListAnalysisTemplates":{ - "name":"ListAnalysisTemplates", - "http":{ - "method":"GET", - "requestUri":"/memberships/{membershipIdentifier}/analysistemplates", - "responseCode":200 - }, - "input":{"shape":"ListAnalysisTemplatesInput"}, - "output":{"shape":"ListAnalysisTemplatesOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListCollaborationAnalysisTemplates":{ - "name":"ListCollaborationAnalysisTemplates", - "http":{ - "method":"GET", - "requestUri":"/collaborations/{collaborationIdentifier}/analysistemplates", - "responseCode":200 - }, - "input":{"shape":"ListCollaborationAnalysisTemplatesInput"}, - "output":{"shape":"ListCollaborationAnalysisTemplatesOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListCollaborationConfiguredAudienceModelAssociations":{ - "name":"ListCollaborationConfiguredAudienceModelAssociations", - "http":{ - "method":"GET", - "requestUri":"/collaborations/{collaborationIdentifier}/configuredaudiencemodelassociations", - "responseCode":200 - }, - "input":{"shape":"ListCollaborationConfiguredAudienceModelAssociationsInput"}, - "output":{"shape":"ListCollaborationConfiguredAudienceModelAssociationsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListCollaborationPrivacyBudgetTemplates":{ - "name":"ListCollaborationPrivacyBudgetTemplates", - "http":{ - "method":"GET", - "requestUri":"/collaborations/{collaborationIdentifier}/privacybudgettemplates", - "responseCode":200 - }, - "input":{"shape":"ListCollaborationPrivacyBudgetTemplatesInput"}, - "output":{"shape":"ListCollaborationPrivacyBudgetTemplatesOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListCollaborationPrivacyBudgets":{ - "name":"ListCollaborationPrivacyBudgets", - "http":{ - "method":"GET", - "requestUri":"/collaborations/{collaborationIdentifier}/privacybudgets", - "responseCode":200 - }, - "input":{"shape":"ListCollaborationPrivacyBudgetsInput"}, - "output":{"shape":"ListCollaborationPrivacyBudgetsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListCollaborations":{ - "name":"ListCollaborations", - "http":{ - "method":"GET", - "requestUri":"/collaborations", - "responseCode":200 - }, - "input":{"shape":"ListCollaborationsInput"}, - "output":{"shape":"ListCollaborationsOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListConfiguredAudienceModelAssociations":{ - "name":"ListConfiguredAudienceModelAssociations", - "http":{ - "method":"GET", - "requestUri":"/memberships/{membershipIdentifier}/configuredaudiencemodelassociations", - "responseCode":200 - }, - "input":{"shape":"ListConfiguredAudienceModelAssociationsInput"}, - "output":{"shape":"ListConfiguredAudienceModelAssociationsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListConfiguredTableAssociations":{ - "name":"ListConfiguredTableAssociations", - "http":{ - "method":"GET", - "requestUri":"/memberships/{membershipIdentifier}/configuredTableAssociations", - "responseCode":200 - }, - "input":{"shape":"ListConfiguredTableAssociationsInput"}, - "output":{"shape":"ListConfiguredTableAssociationsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListConfiguredTables":{ - "name":"ListConfiguredTables", - "http":{ - "method":"GET", - "requestUri":"/configuredTables", - "responseCode":200 - }, - "input":{"shape":"ListConfiguredTablesInput"}, - "output":{"shape":"ListConfiguredTablesOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListMembers":{ - "name":"ListMembers", - "http":{ - "method":"GET", - "requestUri":"/collaborations/{collaborationIdentifier}/members", - "responseCode":200 - }, - "input":{"shape":"ListMembersInput"}, - "output":{"shape":"ListMembersOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListMemberships":{ - "name":"ListMemberships", - "http":{ - "method":"GET", - "requestUri":"/memberships", - "responseCode":200 - }, - "input":{"shape":"ListMembershipsInput"}, - "output":{"shape":"ListMembershipsOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListPrivacyBudgetTemplates":{ - "name":"ListPrivacyBudgetTemplates", - "http":{ - "method":"GET", - "requestUri":"/memberships/{membershipIdentifier}/privacybudgettemplates", - "responseCode":200 - }, - "input":{"shape":"ListPrivacyBudgetTemplatesInput"}, - "output":{"shape":"ListPrivacyBudgetTemplatesOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListPrivacyBudgets":{ - "name":"ListPrivacyBudgets", - "http":{ - "method":"GET", - "requestUri":"/memberships/{membershipIdentifier}/privacybudgets", - "responseCode":200 - }, - "input":{"shape":"ListPrivacyBudgetsInput"}, - "output":{"shape":"ListPrivacyBudgetsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListProtectedQueries":{ - "name":"ListProtectedQueries", - "http":{ - "method":"GET", - "requestUri":"/memberships/{membershipIdentifier}/protectedQueries", - "responseCode":200 - }, - "input":{"shape":"ListProtectedQueriesInput"}, - "output":{"shape":"ListProtectedQueriesOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListSchemas":{ - "name":"ListSchemas", - "http":{ - "method":"GET", - "requestUri":"/collaborations/{collaborationIdentifier}/schemas", - "responseCode":200 - }, - "input":{"shape":"ListSchemasInput"}, - "output":{"shape":"ListSchemasOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"GET", - "requestUri":"/tags/{resourceArn}", - "responseCode":200 - }, - "input":{"shape":"ListTagsForResourceInput"}, - "output":{"shape":"ListTagsForResourceOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ] - }, - "PreviewPrivacyImpact":{ - "name":"PreviewPrivacyImpact", - "http":{ - "method":"POST", - "requestUri":"/memberships/{membershipIdentifier}/previewprivacyimpact", - "responseCode":200 - }, - "input":{"shape":"PreviewPrivacyImpactInput"}, - "output":{"shape":"PreviewPrivacyImpactOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "StartProtectedQuery":{ - "name":"StartProtectedQuery", - "http":{ - "method":"POST", - "requestUri":"/memberships/{membershipIdentifier}/protectedQueries", - "responseCode":200 - }, - "input":{"shape":"StartProtectedQueryInput"}, - "output":{"shape":"StartProtectedQueryOutput"}, - "errors":[ - {"shape":"ServiceQuotaExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "TagResource":{ - "name":"TagResource", - "http":{ - "method":"POST", - "requestUri":"/tags/{resourceArn}", - "responseCode":200 - }, - "input":{"shape":"TagResourceInput"}, - "output":{"shape":"TagResourceOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ] - }, - "UntagResource":{ - "name":"UntagResource", - "http":{ - "method":"DELETE", - "requestUri":"/tags/{resourceArn}", - "responseCode":200 - }, - "input":{"shape":"UntagResourceInput"}, - "output":{"shape":"UntagResourceOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ] - }, - "UpdateAnalysisTemplate":{ - "name":"UpdateAnalysisTemplate", - "http":{ - "method":"PATCH", - "requestUri":"/memberships/{membershipIdentifier}/analysistemplates/{analysisTemplateIdentifier}", - "responseCode":200 - }, - "input":{"shape":"UpdateAnalysisTemplateInput"}, - "output":{"shape":"UpdateAnalysisTemplateOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "UpdateCollaboration":{ - "name":"UpdateCollaboration", - "http":{ - "method":"PATCH", - "requestUri":"/collaborations/{collaborationIdentifier}", - "responseCode":200 - }, - "input":{"shape":"UpdateCollaborationInput"}, - "output":{"shape":"UpdateCollaborationOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "UpdateConfiguredAudienceModelAssociation":{ - "name":"UpdateConfiguredAudienceModelAssociation", - "http":{ - "method":"PATCH", - "requestUri":"/memberships/{membershipIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", - "responseCode":200 - }, - "input":{"shape":"UpdateConfiguredAudienceModelAssociationInput"}, - "output":{"shape":"UpdateConfiguredAudienceModelAssociationOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "UpdateConfiguredTable":{ - "name":"UpdateConfiguredTable", - "http":{ - "method":"PATCH", - "requestUri":"/configuredTables/{configuredTableIdentifier}", - "responseCode":200 - }, - "input":{"shape":"UpdateConfiguredTableInput"}, - "output":{"shape":"UpdateConfiguredTableOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "UpdateConfiguredTableAnalysisRule":{ - "name":"UpdateConfiguredTableAnalysisRule", - "http":{ - "method":"PATCH", - "requestUri":"/configuredTables/{configuredTableIdentifier}/analysisRule/{analysisRuleType}", - "responseCode":200 - }, - "input":{"shape":"UpdateConfiguredTableAnalysisRuleInput"}, - "output":{"shape":"UpdateConfiguredTableAnalysisRuleOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "UpdateConfiguredTableAssociation":{ - "name":"UpdateConfiguredTableAssociation", - "http":{ - "method":"PATCH", - "requestUri":"/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}", - "responseCode":200 - }, - "input":{"shape":"UpdateConfiguredTableAssociationInput"}, - "output":{"shape":"UpdateConfiguredTableAssociationOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "UpdateMembership":{ - "name":"UpdateMembership", - "http":{ - "method":"PATCH", - "requestUri":"/memberships/{membershipIdentifier}", - "responseCode":200 - }, - "input":{"shape":"UpdateMembershipInput"}, - "output":{"shape":"UpdateMembershipOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "UpdatePrivacyBudgetTemplate":{ - "name":"UpdatePrivacyBudgetTemplate", - "http":{ - "method":"PATCH", - "requestUri":"/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", - "responseCode":200 - }, - "input":{"shape":"UpdatePrivacyBudgetTemplateInput"}, - "output":{"shape":"UpdatePrivacyBudgetTemplateOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ] - }, - "UpdateProtectedQuery":{ - "name":"UpdateProtectedQuery", - "http":{ - "method":"PATCH", - "requestUri":"/memberships/{membershipIdentifier}/protectedQueries/{protectedQueryIdentifier}", - "responseCode":200 - }, - "input":{"shape":"UpdateProtectedQueryInput"}, - "output":{"shape":"UpdateProtectedQueryOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"} - ], - "idempotent":true - } - }, - "shapes":{ - "AccessDeniedException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"}, - "reason":{"shape":"AccessDeniedExceptionReason"} - }, - "error":{ - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "AccessDeniedExceptionReason":{ - "type":"string", - "enum":["INSUFFICIENT_PERMISSIONS"] - }, - "AccountId":{ - "type":"string", - "max":12, - "min":12, - "pattern":"\\d+" - }, - "AggregateColumn":{ - "type":"structure", - "required":[ - "columnNames", - "function" + "operations": { + "BatchGetCollaborationAnalysisTemplate": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "columnNames":{"shape":"AggregateColumnColumnNamesList"}, - "function":{"shape":"AggregateFunctionName"} + "http": { + "method": "POST", + "requestUri": "/collaborations/{collaborationIdentifier}/batch-analysistemplates", + "responseCode": 200 + }, + "input": { + "shape": "BatchGetCollaborationAnalysisTemplateInput" + }, + "name": "BatchGetCollaborationAnalysisTemplate", + "output": { + "shape": "BatchGetCollaborationAnalysisTemplateOutput" } }, - "AggregateColumnColumnNamesList":{ - "type":"list", - "member":{"shape":"AnalysisRuleColumnName"}, - "min":1 - }, - "AggregateFunctionName":{ - "type":"string", - "enum":[ - "SUM", - "SUM_DISTINCT", - "COUNT", - "COUNT_DISTINCT", - "AVG" - ] - }, - "AggregationConstraint":{ - "type":"structure", - "required":[ - "columnName", - "minimum", - "type" + "BatchGetSchema": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "columnName":{"shape":"AnalysisRuleColumnName"}, - "minimum":{"shape":"AggregationConstraintMinimumInteger"}, - "type":{"shape":"AggregationType"} + "http": { + "method": "POST", + "requestUri": "/collaborations/{collaborationIdentifier}/batch-schema", + "responseCode": 200 + }, + "input": { + "shape": "BatchGetSchemaInput" + }, + "name": "BatchGetSchema", + "output": { + "shape": "BatchGetSchemaOutput" } }, - "AggregationConstraintMinimumInteger":{ - "type":"integer", - "box":true, - "max":100000, - "min":2 - }, - "AggregationConstraints":{ - "type":"list", - "member":{"shape":"AggregationConstraint"}, - "min":1 - }, - "AggregationType":{ - "type":"string", - "enum":["COUNT_DISTINCT"] - }, - "AllowedColumnList":{ - "type":"list", - "member":{"shape":"ColumnName"}, - "max":225, - "min":1 - }, - "AnalysisFormat":{ - "type":"string", - "enum":["SQL"] - }, - "AnalysisMethod":{ - "type":"string", - "enum":["DIRECT_QUERY"] - }, - "AnalysisParameter":{ - "type":"structure", - "required":[ - "name", - "type" + "BatchGetSchemaAnalysisRule": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "name":{"shape":"ParameterName"}, - "type":{"shape":"ParameterType"}, - "defaultValue":{"shape":"ParameterValue"} + "http": { + "method": "POST", + "requestUri": "/collaborations/{collaborationIdentifier}/batch-schema-analysis-rule", + "responseCode": 200 }, - "sensitive":true - }, - "AnalysisParameterList":{ - "type":"list", - "member":{"shape":"AnalysisParameter"}, - "max":10, - "min":0 + "input": { + "shape": "BatchGetSchemaAnalysisRuleInput" + }, + "name": "BatchGetSchemaAnalysisRule", + "output": { + "shape": "BatchGetSchemaAnalysisRuleOutput" + } }, - "AnalysisRule":{ - "type":"structure", - "required":[ - "collaborationId", - "type", - "name", - "createTime", - "updateTime", - "policy" + "CreateAnalysisTemplate": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "collaborationId":{"shape":"CollaborationIdentifier"}, - "type":{"shape":"AnalysisRuleType"}, - "name":{"shape":"TableAlias"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "policy":{"shape":"AnalysisRulePolicy"} + "http": { + "method": "POST", + "requestUri": "/memberships/{membershipIdentifier}/analysistemplates", + "responseCode": 200 + }, + "input": { + "shape": "CreateAnalysisTemplateInput" + }, + "name": "CreateAnalysisTemplate", + "output": { + "shape": "CreateAnalysisTemplateOutput" } }, - "AnalysisRuleAggregation":{ - "type":"structure", - "required":[ - "aggregateColumns", - "joinColumns", - "dimensionColumns", - "scalarFunctions", - "outputConstraints" + "CreateCollaboration": { + "errors": [ + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "aggregateColumns":{"shape":"AnalysisRuleAggregationAggregateColumnsList"}, - "joinColumns":{"shape":"AnalysisRuleColumnList"}, - "joinRequired":{"shape":"JoinRequiredOption"}, - "allowedJoinOperators":{"shape":"JoinOperatorsList"}, - "dimensionColumns":{"shape":"AnalysisRuleColumnList"}, - "scalarFunctions":{"shape":"ScalarFunctionsList"}, - "outputConstraints":{"shape":"AggregationConstraints"} + "http": { + "method": "POST", + "requestUri": "/collaborations", + "responseCode": 200 + }, + "input": { + "shape": "CreateCollaborationInput" + }, + "name": "CreateCollaboration", + "output": { + "shape": "CreateCollaborationOutput" } }, - "AnalysisRuleAggregationAggregateColumnsList":{ - "type":"list", - "member":{"shape":"AggregateColumn"}, - "min":1 - }, - "AnalysisRuleColumnList":{ - "type":"list", - "member":{"shape":"AnalysisRuleColumnName"} - }, - "AnalysisRuleColumnName":{ - "type":"string", - "max":127, - "min":1, - "pattern":"[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?" - }, - "AnalysisRuleCustom":{ - "type":"structure", - "required":["allowedAnalyses"], - "members":{ - "allowedAnalyses":{"shape":"AnalysisRuleCustomAllowedAnalysesList"}, - "allowedAnalysisProviders":{"shape":"AnalysisRuleCustomAllowedAnalysisProvidersList"}, - "differentialPrivacy":{"shape":"DifferentialPrivacyConfiguration"} + "CreateConfiguredAudienceModelAssociation": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "POST", + "requestUri": "/memberships/{membershipIdentifier}/configuredaudiencemodelassociations", + "responseCode": 200 + }, + "input": { + "shape": "CreateConfiguredAudienceModelAssociationInput" + }, + "name": "CreateConfiguredAudienceModelAssociation", + "output": { + "shape": "CreateConfiguredAudienceModelAssociationOutput" } }, - "AnalysisRuleCustomAllowedAnalysesList":{ - "type":"list", - "member":{"shape":"AnalysisTemplateArnOrQueryWildcard"}, - "min":0 - }, - "AnalysisRuleCustomAllowedAnalysisProvidersList":{ - "type":"list", - "member":{"shape":"AccountId"}, - "min":0 - }, - "AnalysisRuleList":{ - "type":"structure", - "required":[ - "joinColumns", - "listColumns" + "CreateConfiguredTable": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "joinColumns":{"shape":"AnalysisRuleListJoinColumnsList"}, - "allowedJoinOperators":{"shape":"JoinOperatorsList"}, - "listColumns":{"shape":"AnalysisRuleColumnList"} + "http": { + "method": "POST", + "requestUri": "/configuredTables", + "responseCode": 200 + }, + "idempotent": true, + "input": { + "shape": "CreateConfiguredTableInput" + }, + "name": "CreateConfiguredTable", + "output": { + "shape": "CreateConfiguredTableOutput" } }, - "AnalysisRuleListJoinColumnsList":{ - "type":"list", - "member":{"shape":"AnalysisRuleColumnName"}, - "min":1 - }, - "AnalysisRulePolicy":{ - "type":"structure", - "members":{ - "v1":{"shape":"AnalysisRulePolicyV1"} + "CreateConfiguredTableAnalysisRule": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "POST", + "requestUri": "/configuredTables/{configuredTableIdentifier}/analysisRule", + "responseCode": 200 }, - "union":true - }, - "AnalysisRulePolicyV1":{ - "type":"structure", - "members":{ - "list":{"shape":"AnalysisRuleList"}, - "aggregation":{"shape":"AnalysisRuleAggregation"}, - "custom":{"shape":"AnalysisRuleCustom"} + "idempotent": true, + "input": { + "shape": "CreateConfiguredTableAnalysisRuleInput" }, - "union":true - }, - "AnalysisRuleType":{ - "type":"string", - "enum":[ - "AGGREGATION", - "LIST", - "CUSTOM" - ] - }, - "AnalysisRuleTypeList":{ - "type":"list", - "member":{"shape":"AnalysisRuleType"} - }, - "AnalysisSchema":{ - "type":"structure", - "members":{ - "referencedTables":{"shape":"QueryTables"} + "name": "CreateConfiguredTableAnalysisRule", + "output": { + "shape": "CreateConfiguredTableAnalysisRuleOutput" } }, - "AnalysisSource":{ - "type":"structure", - "members":{ - "text":{"shape":"AnalysisTemplateText"} + "CreateConfiguredTableAssociation": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "POST", + "requestUri": "/memberships/{membershipIdentifier}/configuredTableAssociations", + "responseCode": 200 + }, + "input": { + "shape": "CreateConfiguredTableAssociationInput" }, - "sensitive":true, - "union":true + "name": "CreateConfiguredTableAssociation", + "output": { + "shape": "CreateConfiguredTableAssociationOutput" + } }, - "AnalysisTemplate":{ - "type":"structure", - "required":[ - "id", - "arn", - "collaborationId", - "collaborationArn", - "membershipId", - "membershipArn", - "name", - "createTime", - "updateTime", - "schema", - "format", - "source" + "CreateIdMappingTable": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "id":{"shape":"AnalysisTemplateIdentifier"}, - "arn":{"shape":"AnalysisTemplateArn"}, - "collaborationId":{"shape":"UUID"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "membershipId":{"shape":"UUID"}, - "membershipArn":{"shape":"MembershipArn"}, - "description":{"shape":"ResourceDescription"}, - "name":{"shape":"ResourceAlias"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "schema":{"shape":"AnalysisSchema"}, - "format":{"shape":"AnalysisFormat"}, - "source":{"shape":"AnalysisSource"}, - "analysisParameters":{"shape":"AnalysisParameterList"}, - "validations":{"shape":"AnalysisTemplateValidationStatusDetailList"} + "http": { + "method": "POST", + "requestUri": "/memberships/{membershipIdentifier}/idmappingtables", + "responseCode": 200 + }, + "input": { + "shape": "CreateIdMappingTableInput" + }, + "name": "CreateIdMappingTable", + "output": { + "shape": "CreateIdMappingTableOutput" } }, - "AnalysisTemplateArn":{ - "type":"string", - "max":200, - "min":0, - "pattern":"arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+/analysistemplate/[\\d\\w-]+" - }, - "AnalysisTemplateArnList":{ - "type":"list", - "member":{"shape":"AnalysisTemplateArn"}, - "max":10, - "min":1 - }, - "AnalysisTemplateArnOrQueryWildcard":{ - "type":"string", - "max":200, - "min":0, - "pattern":"(ANY_QUERY|arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+/analysistemplate/[\\d\\w-]+)" - }, - "AnalysisTemplateIdentifier":{ - "type":"string", - "max":36, - "min":36, - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "AnalysisTemplateSummary":{ - "type":"structure", - "required":[ - "arn", - "createTime", - "id", - "name", - "updateTime", - "membershipArn", - "membershipId", - "collaborationArn", - "collaborationId" + "CreateMembership": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "arn":{"shape":"AnalysisTemplateArn"}, - "createTime":{"shape":"Timestamp"}, - "id":{"shape":"AnalysisTemplateIdentifier"}, - "name":{"shape":"ResourceAlias"}, - "updateTime":{"shape":"Timestamp"}, - "membershipArn":{"shape":"MembershipArn"}, - "membershipId":{"shape":"UUID"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "collaborationId":{"shape":"UUID"}, - "description":{"shape":"ResourceDescription"} + "http": { + "method": "POST", + "requestUri": "/memberships", + "responseCode": 200 + }, + "input": { + "shape": "CreateMembershipInput" + }, + "name": "CreateMembership", + "output": { + "shape": "CreateMembershipOutput" } }, - "AnalysisTemplateSummaryList":{ - "type":"list", - "member":{"shape":"AnalysisTemplateSummary"} - }, - "AnalysisTemplateText":{ - "type":"string", - "max":90000, - "min":0 - }, - "AnalysisTemplateValidationStatus":{ - "type":"string", - "enum":[ - "VALID", - "INVALID", - "UNABLE_TO_VALIDATE" - ] - }, - "AnalysisTemplateValidationStatusDetail":{ - "type":"structure", - "required":[ - "type", - "status" + "CreatePrivacyBudgetTemplate": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "type":{"shape":"AnalysisTemplateValidationType"}, - "status":{"shape":"AnalysisTemplateValidationStatus"}, - "reasons":{"shape":"AnalysisTemplateValidationStatusReasonList"} + "http": { + "method": "POST", + "requestUri": "/memberships/{membershipIdentifier}/privacybudgettemplates", + "responseCode": 200 + }, + "input": { + "shape": "CreatePrivacyBudgetTemplateInput" + }, + "name": "CreatePrivacyBudgetTemplate", + "output": { + "shape": "CreatePrivacyBudgetTemplateOutput" } }, - "AnalysisTemplateValidationStatusDetailList":{ - "type":"list", - "member":{"shape":"AnalysisTemplateValidationStatusDetail"} - }, - "AnalysisTemplateValidationStatusReason":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{"shape":"String"} + "DeleteAnalysisTemplate": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/memberships/{membershipIdentifier}/analysistemplates/{analysisTemplateIdentifier}", + "responseCode": 204 + }, + "idempotent": true, + "input": { + "shape": "DeleteAnalysisTemplateInput" + }, + "name": "DeleteAnalysisTemplate", + "output": { + "shape": "DeleteAnalysisTemplateOutput" } }, - "AnalysisTemplateValidationStatusReasonList":{ - "type":"list", - "member":{"shape":"AnalysisTemplateValidationStatusReason"} - }, - "AnalysisTemplateValidationType":{ - "type":"string", - "enum":["DIFFERENTIAL_PRIVACY"] - }, - "BatchGetCollaborationAnalysisTemplateError":{ - "type":"structure", - "required":[ - "arn", - "code", - "message" + "DeleteCollaboration": { + "errors": [ + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "arn":{"shape":"AnalysisTemplateArn"}, - "code":{"shape":"String"}, - "message":{"shape":"String"} + "http": { + "method": "DELETE", + "requestUri": "/collaborations/{collaborationIdentifier}", + "responseCode": 204 + }, + "idempotent": true, + "input": { + "shape": "DeleteCollaborationInput" + }, + "name": "DeleteCollaboration", + "output": { + "shape": "DeleteCollaborationOutput" } }, - "BatchGetCollaborationAnalysisTemplateErrorList":{ - "type":"list", - "member":{"shape":"BatchGetCollaborationAnalysisTemplateError"}, - "max":10, - "min":0 - }, - "BatchGetCollaborationAnalysisTemplateInput":{ - "type":"structure", - "required":[ - "collaborationIdentifier", - "analysisTemplateArns" - ], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" + "DeleteConfiguredAudienceModelAssociation": { + "errors": [ + { + "shape": "ResourceNotFoundException" }, - "analysisTemplateArns":{"shape":"AnalysisTemplateArnList"} + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/memberships/{membershipIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", + "responseCode": 204 + }, + "idempotent": true, + "input": { + "shape": "DeleteConfiguredAudienceModelAssociationInput" + }, + "name": "DeleteConfiguredAudienceModelAssociation", + "output": { + "shape": "DeleteConfiguredAudienceModelAssociationOutput" } }, - "BatchGetCollaborationAnalysisTemplateOutput":{ - "type":"structure", - "required":[ - "collaborationAnalysisTemplates", - "errors" + "DeleteConfiguredTable": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "collaborationAnalysisTemplates":{"shape":"CollaborationAnalysisTemplateList"}, - "errors":{"shape":"BatchGetCollaborationAnalysisTemplateErrorList"} + "http": { + "method": "DELETE", + "requestUri": "/configuredTables/{configuredTableIdentifier}", + "responseCode": 204 + }, + "idempotent": true, + "input": { + "shape": "DeleteConfiguredTableInput" + }, + "name": "DeleteConfiguredTable", + "output": { + "shape": "DeleteConfiguredTableOutput" } }, - "BatchGetSchemaAnalysisRuleError":{ - "type":"structure", - "required":[ - "name", - "type", - "code", - "message" + "DeleteConfiguredTableAnalysisRule": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "name":{"shape":"TableAlias"}, - "type":{"shape":"AnalysisRuleType"}, - "code":{"shape":"String"}, - "message":{"shape":"String"} + "http": { + "method": "DELETE", + "requestUri": "/configuredTables/{configuredTableIdentifier}/analysisRule/{analysisRuleType}", + "responseCode": 204 + }, + "idempotent": true, + "input": { + "shape": "DeleteConfiguredTableAnalysisRuleInput" + }, + "name": "DeleteConfiguredTableAnalysisRule", + "output": { + "shape": "DeleteConfiguredTableAnalysisRuleOutput" } }, - "BatchGetSchemaAnalysisRuleErrorList":{ - "type":"list", - "member":{"shape":"BatchGetSchemaAnalysisRuleError"}, - "max":25, - "min":0 - }, - "BatchGetSchemaAnalysisRuleInput":{ - "type":"structure", - "required":[ - "collaborationIdentifier", - "schemaAnalysisRuleRequests" - ], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" + "DeleteConfiguredTableAssociation": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" }, - "schemaAnalysisRuleRequests":{"shape":"SchemaAnalysisRuleRequestList"} + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}", + "responseCode": 204 + }, + "idempotent": true, + "input": { + "shape": "DeleteConfiguredTableAssociationInput" + }, + "name": "DeleteConfiguredTableAssociation", + "output": { + "shape": "DeleteConfiguredTableAssociationOutput" } }, - "BatchGetSchemaAnalysisRuleOutput":{ - "type":"structure", - "required":[ - "analysisRules", - "errors" + "DeleteIdMappingTable": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "analysisRules":{"shape":"SchemaAnalysisRuleList"}, - "errors":{"shape":"BatchGetSchemaAnalysisRuleErrorList"} + "http": { + "method": "DELETE", + "requestUri": "/memberships/{membershipIdentifier}/idmappingtables/{idMappingTableIdentifier}", + "responseCode": 204 + }, + "idempotent": true, + "input": { + "shape": "DeleteIdMappingTableInput" + }, + "name": "DeleteIdMappingTable", + "output": { + "shape": "DeleteIdMappingTableOutput" } }, - "BatchGetSchemaError":{ - "type":"structure", - "required":[ - "name", - "code", - "message" + "DeleteIdNamespaceAssociation": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "name":{"shape":"TableAlias"}, - "code":{"shape":"String"}, - "message":{"shape":"String"} + "http": { + "method": "DELETE", + "requestUri": "/memberships/{membershipIdentifier}/idnamespaceassociations/{idNamespaceAssociationIdentifier}", + "responseCode": 204 + }, + "idempotent": true, + "input": { + "shape": "DeleteIdNamespaceAssociationInput" + }, + "name": "DeleteIdNamespaceAssociation", + "output": { + "shape": "DeleteIdNamespaceAssociationOutput" } }, - "BatchGetSchemaErrorList":{ - "type":"list", - "member":{"shape":"BatchGetSchemaError"}, - "max":25, - "min":0 - }, - "BatchGetSchemaInput":{ - "type":"structure", - "required":[ - "collaborationIdentifier", - "names" - ], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" + "DeleteMember": { + "errors": [ + { + "shape": "ConflictException" }, - "names":{"shape":"TableAliasList"} + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/collaborations/{collaborationIdentifier}/member/{accountId}", + "responseCode": 204 + }, + "idempotent": true, + "input": { + "shape": "DeleteMemberInput" + }, + "name": "DeleteMember", + "output": { + "shape": "DeleteMemberOutput" } }, - "BatchGetSchemaOutput":{ - "type":"structure", - "required":[ - "schemas", - "errors" + "DeleteMembership": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "schemas":{"shape":"SchemaList"}, - "errors":{"shape":"BatchGetSchemaErrorList"} + "http": { + "method": "DELETE", + "requestUri": "/memberships/{membershipIdentifier}", + "responseCode": 204 + }, + "idempotent": true, + "input": { + "shape": "DeleteMembershipInput" + }, + "name": "DeleteMembership", + "output": { + "shape": "DeleteMembershipOutput" } }, - "Boolean":{ - "type":"boolean", - "box":true - }, - "CleanroomsArn":{ - "type":"string", - "max":100, - "min":0, - "pattern":"arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:[\\d\\w/-]+" - }, - "Collaboration":{ - "type":"structure", - "required":[ - "id", - "arn", - "name", - "creatorAccountId", - "creatorDisplayName", - "createTime", - "updateTime", - "memberStatus", - "queryLogStatus" + "DeletePrivacyBudgetTemplate": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "id":{"shape":"UUID"}, - "arn":{"shape":"CollaborationArn"}, - "name":{"shape":"CollaborationName"}, - "description":{"shape":"CollaborationDescription"}, - "creatorAccountId":{"shape":"AccountId"}, - "creatorDisplayName":{"shape":"DisplayName"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "memberStatus":{"shape":"MemberStatus"}, - "membershipId":{"shape":"UUID"}, - "membershipArn":{"shape":"MembershipArn"}, - "dataEncryptionMetadata":{"shape":"DataEncryptionMetadata"}, - "queryLogStatus":{"shape":"CollaborationQueryLogStatus"} + "http": { + "method": "DELETE", + "requestUri": "/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", + "responseCode": 204 + }, + "idempotent": true, + "input": { + "shape": "DeletePrivacyBudgetTemplateInput" + }, + "name": "DeletePrivacyBudgetTemplate", + "output": { + "shape": "DeletePrivacyBudgetTemplateOutput" } }, - "CollaborationAnalysisTemplate":{ - "type":"structure", - "required":[ - "id", - "arn", - "collaborationId", - "collaborationArn", - "creatorAccountId", - "name", - "createTime", - "updateTime", - "schema", - "format", - "source" + "GetAnalysisTemplate": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "id":{"shape":"AnalysisTemplateIdentifier"}, - "arn":{"shape":"AnalysisTemplateArn"}, - "collaborationId":{"shape":"UUID"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "description":{"shape":"ResourceDescription"}, - "creatorAccountId":{"shape":"AccountId"}, - "name":{"shape":"ResourceAlias"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "schema":{"shape":"AnalysisSchema"}, - "format":{"shape":"AnalysisFormat"}, - "source":{"shape":"AnalysisSource"}, - "analysisParameters":{"shape":"AnalysisParameterList"}, - "validations":{"shape":"AnalysisTemplateValidationStatusDetailList"} + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}/analysistemplates/{analysisTemplateIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "GetAnalysisTemplateInput" + }, + "name": "GetAnalysisTemplate", + "output": { + "shape": "GetAnalysisTemplateOutput" } }, - "CollaborationAnalysisTemplateList":{ - "type":"list", - "member":{"shape":"CollaborationAnalysisTemplate"}, - "max":10, - "min":0 - }, - "CollaborationAnalysisTemplateSummary":{ - "type":"structure", - "required":[ - "arn", - "createTime", - "id", - "name", - "updateTime", - "collaborationArn", - "collaborationId", - "creatorAccountId" + "GetCollaboration": { + "errors": [ + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "arn":{"shape":"AnalysisTemplateArn"}, - "createTime":{"shape":"Timestamp"}, - "id":{"shape":"AnalysisTemplateIdentifier"}, - "name":{"shape":"ResourceAlias"}, - "updateTime":{"shape":"Timestamp"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "collaborationId":{"shape":"UUID"}, - "creatorAccountId":{"shape":"AccountId"}, - "description":{"shape":"ResourceDescription"} + "http": { + "method": "GET", + "requestUri": "/collaborations/{collaborationIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "GetCollaborationInput" + }, + "name": "GetCollaboration", + "output": { + "shape": "GetCollaborationOutput" } }, - "CollaborationAnalysisTemplateSummaryList":{ - "type":"list", - "member":{"shape":"CollaborationAnalysisTemplateSummary"} - }, - "CollaborationArn":{ - "type":"string", - "max":100, - "min":0, - "pattern":"arn:aws:[\\w]+:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:collaboration/[\\d\\w-]+" - }, - "CollaborationConfiguredAudienceModelAssociation":{ - "type":"structure", - "required":[ - "id", - "arn", - "collaborationId", - "collaborationArn", - "configuredAudienceModelArn", - "name", - "creatorAccountId", - "createTime", - "updateTime" + "GetCollaborationAnalysisTemplate": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "id":{"shape":"ConfiguredAudienceModelAssociationIdentifier"}, - "arn":{"shape":"ConfiguredAudienceModelAssociationArn"}, - "collaborationId":{"shape":"UUID"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, - "name":{"shape":"ConfiguredAudienceModelAssociationName"}, - "description":{"shape":"ResourceDescription"}, - "creatorAccountId":{"shape":"AccountId"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"} + "http": { + "method": "GET", + "requestUri": "/collaborations/{collaborationIdentifier}/analysistemplates/{analysisTemplateArn}", + "responseCode": 200 + }, + "input": { + "shape": "GetCollaborationAnalysisTemplateInput" + }, + "name": "GetCollaborationAnalysisTemplate", + "output": { + "shape": "GetCollaborationAnalysisTemplateOutput" } }, - "CollaborationConfiguredAudienceModelAssociationSummary":{ - "type":"structure", - "required":[ - "arn", - "createTime", - "id", - "name", - "updateTime", - "collaborationArn", - "collaborationId", - "creatorAccountId" + "GetCollaborationConfiguredAudienceModelAssociation": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "arn":{"shape":"ConfiguredAudienceModelAssociationArn"}, - "createTime":{"shape":"Timestamp"}, - "id":{"shape":"ConfiguredAudienceModelAssociationIdentifier"}, - "name":{"shape":"ConfiguredAudienceModelAssociationName"}, - "updateTime":{"shape":"Timestamp"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "collaborationId":{"shape":"UUID"}, - "creatorAccountId":{"shape":"AccountId"}, - "description":{"shape":"ResourceDescription"} + "http": { + "method": "GET", + "requestUri": "/collaborations/{collaborationIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "GetCollaborationConfiguredAudienceModelAssociationInput" + }, + "name": "GetCollaborationConfiguredAudienceModelAssociation", + "output": { + "shape": "GetCollaborationConfiguredAudienceModelAssociationOutput" } }, - "CollaborationConfiguredAudienceModelAssociationSummaryList":{ - "type":"list", - "member":{"shape":"CollaborationConfiguredAudienceModelAssociationSummary"} - }, - "CollaborationDescription":{ - "type":"string", - "max":255, - "min":1, - "pattern":"(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*" - }, - "CollaborationIdentifier":{ - "type":"string", - "max":36, - "min":36, - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "CollaborationName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*" - }, - "CollaborationPrivacyBudgetSummary":{ - "type":"structure", - "required":[ - "id", - "privacyBudgetTemplateId", - "privacyBudgetTemplateArn", - "collaborationId", - "collaborationArn", - "creatorAccountId", - "type", - "createTime", - "updateTime", - "budget" + "GetCollaborationPrivacyBudgetTemplate": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "id":{"shape":"UUID"}, - "privacyBudgetTemplateId":{"shape":"PrivacyBudgetTemplateIdentifier"}, - "privacyBudgetTemplateArn":{"shape":"PrivacyBudgetTemplateArn"}, - "collaborationId":{"shape":"UUID"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "creatorAccountId":{"shape":"AccountId"}, - "type":{"shape":"PrivacyBudgetType"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "budget":{"shape":"PrivacyBudget"} + "http": { + "method": "GET", + "requestUri": "/collaborations/{collaborationIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "GetCollaborationPrivacyBudgetTemplateInput" + }, + "name": "GetCollaborationPrivacyBudgetTemplate", + "output": { + "shape": "GetCollaborationPrivacyBudgetTemplateOutput" } }, - "CollaborationPrivacyBudgetSummaryList":{ - "type":"list", - "member":{"shape":"CollaborationPrivacyBudgetSummary"} - }, - "CollaborationPrivacyBudgetTemplate":{ - "type":"structure", - "required":[ - "id", - "arn", - "collaborationId", - "collaborationArn", - "creatorAccountId", - "createTime", - "updateTime", - "privacyBudgetType", - "autoRefresh", - "parameters" + "GetConfiguredAudienceModelAssociation": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "id":{"shape":"PrivacyBudgetTemplateIdentifier"}, - "arn":{"shape":"PrivacyBudgetTemplateArn"}, - "collaborationId":{"shape":"UUID"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "creatorAccountId":{"shape":"AccountId"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "privacyBudgetType":{"shape":"PrivacyBudgetType"}, - "autoRefresh":{"shape":"PrivacyBudgetTemplateAutoRefresh"}, - "parameters":{"shape":"PrivacyBudgetTemplateParametersOutput"} + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "GetConfiguredAudienceModelAssociationInput" + }, + "name": "GetConfiguredAudienceModelAssociation", + "output": { + "shape": "GetConfiguredAudienceModelAssociationOutput" } }, - "CollaborationPrivacyBudgetTemplateSummary":{ - "type":"structure", - "required":[ - "id", - "arn", - "collaborationId", - "collaborationArn", - "creatorAccountId", - "privacyBudgetType", - "createTime", - "updateTime" + "GetConfiguredTable": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "id":{"shape":"PrivacyBudgetTemplateIdentifier"}, - "arn":{"shape":"PrivacyBudgetTemplateArn"}, - "collaborationId":{"shape":"UUID"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "creatorAccountId":{"shape":"AccountId"}, - "privacyBudgetType":{"shape":"PrivacyBudgetType"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"} + "http": { + "method": "GET", + "requestUri": "/configuredTables/{configuredTableIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "GetConfiguredTableInput" + }, + "name": "GetConfiguredTable", + "output": { + "shape": "GetConfiguredTableOutput" } }, - "CollaborationPrivacyBudgetTemplateSummaryList":{ - "type":"list", - "member":{"shape":"CollaborationPrivacyBudgetTemplateSummary"} - }, - "CollaborationQueryLogStatus":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED" - ] - }, - "CollaborationSummary":{ - "type":"structure", - "required":[ - "id", - "arn", - "name", - "creatorAccountId", - "creatorDisplayName", - "createTime", - "updateTime", - "memberStatus" + "GetConfiguredTableAnalysisRule": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "id":{"shape":"UUID"}, - "arn":{"shape":"CollaborationArn"}, - "name":{"shape":"CollaborationName"}, - "creatorAccountId":{"shape":"AccountId"}, - "creatorDisplayName":{"shape":"DisplayName"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "memberStatus":{"shape":"MemberStatus"}, - "membershipId":{"shape":"UUID"}, - "membershipArn":{"shape":"MembershipArn"} + "http": { + "method": "GET", + "requestUri": "/configuredTables/{configuredTableIdentifier}/analysisRule/{analysisRuleType}", + "responseCode": 200 + }, + "input": { + "shape": "GetConfiguredTableAnalysisRuleInput" + }, + "name": "GetConfiguredTableAnalysisRule", + "output": { + "shape": "GetConfiguredTableAnalysisRuleOutput" } }, - "CollaborationSummaryList":{ - "type":"list", - "member":{"shape":"CollaborationSummary"} - }, - "Column":{ - "type":"structure", - "required":[ - "name", - "type" + "GetConfiguredTableAssociation": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "name":{"shape":"ColumnName"}, - "type":{"shape":"ColumnTypeString"} + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "GetConfiguredTableAssociationInput" + }, + "name": "GetConfiguredTableAssociation", + "output": { + "shape": "GetConfiguredTableAssociationOutput" } }, - "ColumnList":{ - "type":"list", - "member":{"shape":"Column"} - }, - "ColumnName":{ - "type":"string", - "max":128, - "min":0, - "pattern":"[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?" - }, - "ColumnTypeString":{ - "type":"string", - "max":255, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*" - }, - "ConfiguredAudienceModelArn":{ - "type":"string", - "max":2048, - "min":20, - "pattern":"arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:configured-audience-model/[-a-zA-Z0-9_/.]+" - }, - "ConfiguredAudienceModelAssociation":{ - "type":"structure", - "required":[ - "id", - "arn", - "configuredAudienceModelArn", - "membershipId", - "membershipArn", - "collaborationId", - "collaborationArn", - "name", - "manageResourcePolicies", - "createTime", - "updateTime" + "GetIdMappingTable": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "id":{"shape":"ConfiguredAudienceModelAssociationIdentifier"}, - "arn":{"shape":"ConfiguredAudienceModelAssociationArn"}, - "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, - "membershipId":{"shape":"UUID"}, - "membershipArn":{"shape":"MembershipArn"}, - "collaborationId":{"shape":"UUID"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "name":{"shape":"ConfiguredAudienceModelAssociationName"}, - "manageResourcePolicies":{"shape":"Boolean"}, - "description":{"shape":"ResourceDescription"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"} + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}/idmappingtables/{idMappingTableIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "GetIdMappingTableInput" + }, + "name": "GetIdMappingTable", + "output": { + "shape": "GetIdMappingTableOutput" } }, - "ConfiguredAudienceModelAssociationArn":{ - "type":"string", - "max":256, - "min":0, - "pattern":"arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+/configuredaudiencemodelassociation/[\\d\\w-]+" - }, - "ConfiguredAudienceModelAssociationIdentifier":{ - "type":"string", - "max":36, - "min":36, - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "ConfiguredAudienceModelAssociationName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*" - }, - "ConfiguredAudienceModelAssociationSummary":{ - "type":"structure", - "required":[ - "membershipId", - "membershipArn", - "collaborationArn", - "collaborationId", - "createTime", - "updateTime", - "id", - "arn", - "name", - "configuredAudienceModelArn" + "GetMembership": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "membershipId":{"shape":"MembershipIdentifier"}, - "membershipArn":{"shape":"MembershipArn"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "collaborationId":{"shape":"UUID"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "id":{"shape":"UUID"}, - "arn":{"shape":"ConfiguredAudienceModelAssociationArn"}, - "name":{"shape":"ConfiguredAudienceModelAssociationName"}, - "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, - "description":{"shape":"ResourceDescription"} + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "GetMembershipInput" + }, + "name": "GetMembership", + "output": { + "shape": "GetMembershipOutput" } }, - "ConfiguredAudienceModelAssociationSummaryList":{ - "type":"list", - "member":{"shape":"ConfiguredAudienceModelAssociationSummary"} - }, - "ConfiguredTable":{ - "type":"structure", - "required":[ - "id", - "arn", - "name", - "tableReference", - "createTime", - "updateTime", - "analysisRuleTypes", - "analysisMethod", - "allowedColumns" + "GetPrivacyBudgetTemplate": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "id":{"shape":"UUID"}, - "arn":{"shape":"ConfiguredTableArn"}, - "name":{"shape":"DisplayName"}, - "description":{"shape":"TableDescription"}, - "tableReference":{"shape":"TableReference"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "analysisRuleTypes":{"shape":"ConfiguredTableAnalysisRuleTypeList"}, - "analysisMethod":{"shape":"AnalysisMethod"}, - "allowedColumns":{"shape":"AllowedColumnList"} + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "GetPrivacyBudgetTemplateInput" + }, + "name": "GetPrivacyBudgetTemplate", + "output": { + "shape": "GetPrivacyBudgetTemplateOutput" } }, - "ConfiguredTableAnalysisRule":{ - "type":"structure", - "required":[ - "configuredTableId", - "configuredTableArn", - "policy", - "type", - "createTime", - "updateTime" + "GetProtectedQuery": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "configuredTableId":{"shape":"UUID"}, - "configuredTableArn":{"shape":"ConfiguredTableArn"}, - "policy":{"shape":"ConfiguredTableAnalysisRulePolicy"}, - "type":{"shape":"ConfiguredTableAnalysisRuleType"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"} + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}/protectedQueries/{protectedQueryIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "GetProtectedQueryInput" + }, + "name": "GetProtectedQuery", + "output": { + "shape": "GetProtectedQueryOutput" } }, - "ConfiguredTableAnalysisRulePolicy":{ - "type":"structure", - "members":{ - "v1":{"shape":"ConfiguredTableAnalysisRulePolicyV1"} + "GetSchema": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "GET", + "requestUri": "/collaborations/{collaborationIdentifier}/schemas/{name}", + "responseCode": 200 }, - "union":true - }, - "ConfiguredTableAnalysisRulePolicyV1":{ - "type":"structure", - "members":{ - "list":{"shape":"AnalysisRuleList"}, - "aggregation":{"shape":"AnalysisRuleAggregation"}, - "custom":{"shape":"AnalysisRuleCustom"} + "input": { + "shape": "GetSchemaInput" }, - "union":true + "name": "GetSchema", + "output": { + "shape": "GetSchemaOutput" + } }, - "ConfiguredTableAnalysisRuleType":{ - "type":"string", - "enum":[ - "AGGREGATION", - "LIST", - "CUSTOM" - ] + "GetSchemaAnalysisRule": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "GET", + "requestUri": "/collaborations/{collaborationIdentifier}/schemas/{name}/analysisRule/{type}", + "responseCode": 200 + }, + "input": { + "shape": "GetSchemaAnalysisRuleInput" + }, + "name": "GetSchemaAnalysisRule", + "output": { + "shape": "GetSchemaAnalysisRuleOutput" + } }, - "ConfiguredTableAnalysisRuleTypeList":{ - "type":"list", - "member":{"shape":"ConfiguredTableAnalysisRuleType"} + "ListAnalysisTemplates": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}/analysistemplates", + "responseCode": 200 + }, + "input": { + "shape": "ListAnalysisTemplatesInput" + }, + "name": "ListAnalysisTemplates", + "output": { + "shape": "ListAnalysisTemplatesOutput" + } }, - "ConfiguredTableArn":{ - "type":"string", - "max":100, - "min":0, - "pattern":"arn:aws:[\\w]+:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:configuredtable/[\\d\\w-]+" + "ListCollaborationAnalysisTemplates": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "GET", + "requestUri": "/collaborations/{collaborationIdentifier}/analysistemplates", + "responseCode": 200 + }, + "input": { + "shape": "ListCollaborationAnalysisTemplatesInput" + }, + "name": "ListCollaborationAnalysisTemplates", + "output": { + "shape": "ListCollaborationAnalysisTemplatesOutput" + } }, - "ConfiguredTableAssociation":{ - "type":"structure", - "required":[ - "arn", - "id", - "configuredTableId", - "configuredTableArn", - "membershipId", - "membershipArn", - "roleArn", - "name", - "createTime", - "updateTime" + "ListCollaborationConfiguredAudienceModelAssociations": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "arn":{"shape":"ConfiguredTableAssociationArn"}, - "id":{"shape":"UUID"}, - "configuredTableId":{"shape":"UUID"}, - "configuredTableArn":{"shape":"ConfiguredTableArn"}, - "membershipId":{"shape":"UUID"}, - "membershipArn":{"shape":"MembershipArn"}, - "roleArn":{"shape":"RoleArn"}, - "name":{"shape":"TableAlias"}, - "description":{"shape":"TableDescription"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"} + "http": { + "method": "GET", + "requestUri": "/collaborations/{collaborationIdentifier}/configuredaudiencemodelassociations", + "responseCode": 200 + }, + "input": { + "shape": "ListCollaborationConfiguredAudienceModelAssociationsInput" + }, + "name": "ListCollaborationConfiguredAudienceModelAssociations", + "output": { + "shape": "ListCollaborationConfiguredAudienceModelAssociationsOutput" } }, - "ConfiguredTableAssociationArn":{ - "type":"string", - "max":100, - "min":0, - "pattern":"arn:aws:[\\w]+:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:configuredtableassociation/[\\d\\w-]+/[\\d\\w-]+" - }, - "ConfiguredTableAssociationIdentifier":{ - "type":"string", - "max":36, - "min":36, - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "ConfiguredTableAssociationSummary":{ - "type":"structure", - "required":[ - "configuredTableId", - "membershipId", - "membershipArn", - "name", - "createTime", - "updateTime", - "id", - "arn" + "ListCollaborationIdNamespaceAssociations": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "configuredTableId":{"shape":"UUID"}, - "membershipId":{"shape":"MembershipIdentifier"}, - "membershipArn":{"shape":"MembershipArn"}, - "name":{"shape":"TableAlias"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "id":{"shape":"UUID"}, - "arn":{"shape":"ConfiguredTableAssociationArn"} + "http": { + "method": "GET", + "requestUri": "/collaborations/{collaborationIdentifier}/idnamespaceassociations", + "responseCode": 200 + }, + "input": { + "shape": "ListCollaborationIdNamespaceAssociationsInput" + }, + "name": "ListCollaborationIdNamespaceAssociations", + "output": { + "shape": "ListCollaborationIdNamespaceAssociationsOutput" } }, - "ConfiguredTableAssociationSummaryList":{ - "type":"list", - "member":{"shape":"ConfiguredTableAssociationSummary"} + "ListCollaborationPrivacyBudgetTemplates": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "GET", + "requestUri": "/collaborations/{collaborationIdentifier}/privacybudgettemplates", + "responseCode": 200 + }, + "input": { + "shape": "ListCollaborationPrivacyBudgetTemplatesInput" + }, + "name": "ListCollaborationPrivacyBudgetTemplates", + "output": { + "shape": "ListCollaborationPrivacyBudgetTemplatesOutput" + } }, - "ConfiguredTableIdentifier":{ - "type":"string", - "max":36, - "min":36, - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + "ListCollaborationPrivacyBudgets": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "GET", + "requestUri": "/collaborations/{collaborationIdentifier}/privacybudgets", + "responseCode": 200 + }, + "input": { + "shape": "ListCollaborationPrivacyBudgetsInput" + }, + "name": "ListCollaborationPrivacyBudgets", + "output": { + "shape": "ListCollaborationPrivacyBudgetsOutput" + } }, - "ConfiguredTableSummary":{ - "type":"structure", - "required":[ - "id", - "arn", - "name", - "createTime", - "updateTime", - "analysisRuleTypes", - "analysisMethod" + "ListCollaborations": { + "errors": [ + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "id":{"shape":"ConfiguredTableIdentifier"}, - "arn":{"shape":"ConfiguredTableArn"}, - "name":{"shape":"DisplayName"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "analysisRuleTypes":{"shape":"ConfiguredTableAnalysisRuleTypeList"}, - "analysisMethod":{"shape":"AnalysisMethod"} + "http": { + "method": "GET", + "requestUri": "/collaborations", + "responseCode": 200 + }, + "input": { + "shape": "ListCollaborationsInput" + }, + "name": "ListCollaborations", + "output": { + "shape": "ListCollaborationsOutput" } }, - "ConfiguredTableSummaryList":{ - "type":"list", - "member":{"shape":"ConfiguredTableSummary"} + "ListConfiguredAudienceModelAssociations": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}/configuredaudiencemodelassociations", + "responseCode": 200 + }, + "input": { + "shape": "ListConfiguredAudienceModelAssociationsInput" + }, + "name": "ListConfiguredAudienceModelAssociations", + "output": { + "shape": "ListConfiguredAudienceModelAssociationsOutput" + } }, - "ConflictException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"}, - "resourceId":{"shape":"String"}, - "resourceType":{"shape":"ResourceType"}, - "reason":{"shape":"ConflictExceptionReason"} + "ListConfiguredTableAssociations": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}/configuredTableAssociations", + "responseCode": 200 }, - "error":{ - "httpStatusCode":409, - "senderFault":true + "input": { + "shape": "ListConfiguredTableAssociationsInput" }, - "exception":true + "name": "ListConfiguredTableAssociations", + "output": { + "shape": "ListConfiguredTableAssociationsOutput" + } }, - "ConflictExceptionReason":{ - "type":"string", - "enum":[ - "ALREADY_EXISTS", - "SUBRESOURCES_EXIST", - "INVALID_STATE" - ] + "ListConfiguredTables": { + "errors": [ + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "GET", + "requestUri": "/configuredTables", + "responseCode": 200 + }, + "input": { + "shape": "ListConfiguredTablesInput" + }, + "name": "ListConfiguredTables", + "output": { + "shape": "ListConfiguredTablesOutput" + } }, - "CreateAnalysisTemplateInput":{ - "type":"structure", - "required":[ - "membershipIdentifier", - "name", - "format", - "source" + "ListIdMappingTables": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}/idmappingtables", + "responseCode": 200 + }, + "input": { + "shape": "ListIdMappingTablesInput" + }, + "name": "ListIdMappingTables", + "output": { + "shape": "ListIdMappingTablesOutput" + } + }, + "ListIdNamespaceAssociations": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "description":{"shape":"ResourceDescription"}, - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" - }, - "name":{"shape":"TableAlias"}, - "format":{"shape":"AnalysisFormat"}, - "source":{"shape":"AnalysisSource"}, - "tags":{"shape":"TagMap"}, - "analysisParameters":{"shape":"AnalysisParameterList"} + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}/idnamespaceassociations", + "responseCode": 200 + }, + "input": { + "shape": "ListIdNamespaceAssociationsInput" + }, + "name": "ListIdNamespaceAssociations", + "output": { + "shape": "ListIdNamespaceAssociationsOutput" } }, - "CreateAnalysisTemplateOutput":{ - "type":"structure", - "required":["analysisTemplate"], - "members":{ - "analysisTemplate":{"shape":"AnalysisTemplate"} + "ListMembers": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "GET", + "requestUri": "/collaborations/{collaborationIdentifier}/members", + "responseCode": 200 + }, + "input": { + "shape": "ListMembersInput" + }, + "name": "ListMembers", + "output": { + "shape": "ListMembersOutput" } }, - "CreateCollaborationInput":{ - "type":"structure", - "required":[ - "members", - "name", - "description", - "creatorMemberAbilities", - "creatorDisplayName", - "queryLogStatus" + "ListMemberships": { + "errors": [ + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "members":{"shape":"MemberList"}, - "name":{"shape":"CollaborationName"}, - "description":{"shape":"CollaborationDescription"}, - "creatorMemberAbilities":{"shape":"MemberAbilities"}, - "creatorDisplayName":{"shape":"DisplayName"}, - "dataEncryptionMetadata":{"shape":"DataEncryptionMetadata"}, - "queryLogStatus":{"shape":"CollaborationQueryLogStatus"}, - "tags":{"shape":"TagMap"}, - "creatorPaymentConfiguration":{"shape":"PaymentConfiguration"} + "http": { + "method": "GET", + "requestUri": "/memberships", + "responseCode": 200 + }, + "input": { + "shape": "ListMembershipsInput" + }, + "name": "ListMemberships", + "output": { + "shape": "ListMembershipsOutput" } }, - "CreateCollaborationOutput":{ - "type":"structure", - "required":["collaboration"], - "members":{ - "collaboration":{"shape":"Collaboration"} + "ListPrivacyBudgetTemplates": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}/privacybudgettemplates", + "responseCode": 200 + }, + "input": { + "shape": "ListPrivacyBudgetTemplatesInput" + }, + "name": "ListPrivacyBudgetTemplates", + "output": { + "shape": "ListPrivacyBudgetTemplatesOutput" } }, - "CreateConfiguredAudienceModelAssociationInput":{ - "type":"structure", - "required":[ - "membershipIdentifier", - "configuredAudienceModelArn", - "configuredAudienceModelAssociationName", - "manageResourcePolicies" + "ListPrivacyBudgets": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" - }, - "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, - "configuredAudienceModelAssociationName":{"shape":"ConfiguredAudienceModelAssociationName"}, - "manageResourcePolicies":{"shape":"Boolean"}, - "tags":{"shape":"TagMap"}, - "description":{"shape":"ResourceDescription"} + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}/privacybudgets", + "responseCode": 200 + }, + "input": { + "shape": "ListPrivacyBudgetsInput" + }, + "name": "ListPrivacyBudgets", + "output": { + "shape": "ListPrivacyBudgetsOutput" } }, - "CreateConfiguredAudienceModelAssociationOutput":{ - "type":"structure", - "required":["configuredAudienceModelAssociation"], - "members":{ - "configuredAudienceModelAssociation":{"shape":"ConfiguredAudienceModelAssociation"} + "ListProtectedQueries": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "GET", + "requestUri": "/memberships/{membershipIdentifier}/protectedQueries", + "responseCode": 200 + }, + "input": { + "shape": "ListProtectedQueriesInput" + }, + "name": "ListProtectedQueries", + "output": { + "shape": "ListProtectedQueriesOutput" } }, - "CreateConfiguredTableAnalysisRuleInput":{ - "type":"structure", - "required":[ - "configuredTableIdentifier", - "analysisRuleType", - "analysisRulePolicy" + "ListSchemas": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "configuredTableIdentifier":{ - "shape":"ConfiguredTableIdentifier", - "location":"uri", - "locationName":"configuredTableIdentifier" + "http": { + "method": "GET", + "requestUri": "/collaborations/{collaborationIdentifier}/schemas", + "responseCode": 200 + }, + "input": { + "shape": "ListSchemasInput" + }, + "name": "ListSchemas", + "output": { + "shape": "ListSchemasOutput" + } + }, + "ListTagsForResource": { + "errors": [ + { + "shape": "ResourceNotFoundException" }, - "analysisRuleType":{"shape":"ConfiguredTableAnalysisRuleType"}, - "analysisRulePolicy":{"shape":"ConfiguredTableAnalysisRulePolicy"} + { + "shape": "ValidationException" + } + ], + "http": { + "method": "GET", + "requestUri": "/tags/{resourceArn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceInput" + }, + "name": "ListTagsForResource", + "output": { + "shape": "ListTagsForResourceOutput" } }, - "CreateConfiguredTableAnalysisRuleOutput":{ - "type":"structure", - "required":["analysisRule"], - "members":{ - "analysisRule":{"shape":"ConfiguredTableAnalysisRule"} + "PopulateIdMappingTable": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "POST", + "requestUri": "/memberships/{membershipIdentifier}/idmappingtables/{idMappingTableIdentifier}/populate", + "responseCode": 200 + }, + "input": { + "shape": "PopulateIdMappingTableInput" + }, + "name": "PopulateIdMappingTable", + "output": { + "shape": "PopulateIdMappingTableOutput" } }, - "CreateConfiguredTableAssociationInput":{ - "type":"structure", - "required":[ - "name", - "membershipIdentifier", - "configuredTableIdentifier", - "roleArn" + "PreviewPrivacyImpact": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "POST", + "requestUri": "/memberships/{membershipIdentifier}/previewprivacyimpact", + "responseCode": 200 + }, + "input": { + "shape": "PreviewPrivacyImpactInput" + }, + "name": "PreviewPrivacyImpact", + "output": { + "shape": "PreviewPrivacyImpactOutput" + } + }, + "StartProtectedQuery": { + "errors": [ + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } ], - "members":{ - "name":{"shape":"TableAlias"}, - "description":{"shape":"TableDescription"}, - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" - }, - "configuredTableIdentifier":{"shape":"ConfiguredTableIdentifier"}, - "roleArn":{"shape":"RoleArn"}, - "tags":{"shape":"TagMap"} + "http": { + "method": "POST", + "requestUri": "/memberships/{membershipIdentifier}/protectedQueries", + "responseCode": 200 + }, + "input": { + "shape": "StartProtectedQueryInput" + }, + "name": "StartProtectedQuery", + "output": { + "shape": "StartProtectedQueryOutput" } }, - "CreateConfiguredTableAssociationOutput":{ - "type":"structure", - "required":["configuredTableAssociation"], - "members":{ - "configuredTableAssociation":{"shape":"ConfiguredTableAssociation"} + "TagResource": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ValidationException" + } + ], + "http": { + "method": "POST", + "requestUri": "/tags/{resourceArn}", + "responseCode": 200 + }, + "input": { + "shape": "TagResourceInput" + }, + "name": "TagResource", + "output": { + "shape": "TagResourceOutput" } }, - "CreateConfiguredTableInput":{ - "type":"structure", - "required":[ - "name", - "tableReference", - "allowedColumns", - "analysisMethod" + "UntagResource": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ValidationException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/tags/{resourceArn}", + "responseCode": 200 + }, + "input": { + "shape": "UntagResourceInput" + }, + "name": "UntagResource", + "output": { + "shape": "UntagResourceOutput" + } + }, + "UpdateAnalysisTemplate": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "PATCH", + "requestUri": "/memberships/{membershipIdentifier}/analysistemplates/{analysisTemplateIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateAnalysisTemplateInput" + }, + "name": "UpdateAnalysisTemplate", + "output": { + "shape": "UpdateAnalysisTemplateOutput" + } + }, + "UpdateCollaboration": { + "errors": [ + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "PATCH", + "requestUri": "/collaborations/{collaborationIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateCollaborationInput" + }, + "name": "UpdateCollaboration", + "output": { + "shape": "UpdateCollaborationOutput" + } + }, + "UpdateConfiguredAudienceModelAssociation": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "PATCH", + "requestUri": "/memberships/{membershipIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateConfiguredAudienceModelAssociationInput" + }, + "name": "UpdateConfiguredAudienceModelAssociation", + "output": { + "shape": "UpdateConfiguredAudienceModelAssociationOutput" + } + }, + "UpdateConfiguredTable": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "PATCH", + "requestUri": "/configuredTables/{configuredTableIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateConfiguredTableInput" + }, + "name": "UpdateConfiguredTable", + "output": { + "shape": "UpdateConfiguredTableOutput" + } + }, + "UpdateConfiguredTableAnalysisRule": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "PATCH", + "requestUri": "/configuredTables/{configuredTableIdentifier}/analysisRule/{analysisRuleType}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateConfiguredTableAnalysisRuleInput" + }, + "name": "UpdateConfiguredTableAnalysisRule", + "output": { + "shape": "UpdateConfiguredTableAnalysisRuleOutput" + } + }, + "UpdateConfiguredTableAssociation": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "PATCH", + "requestUri": "/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateConfiguredTableAssociationInput" + }, + "name": "UpdateConfiguredTableAssociation", + "output": { + "shape": "UpdateConfiguredTableAssociationOutput" + } + }, + "UpdateIdMappingTable": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "PATCH", + "requestUri": "/memberships/{membershipIdentifier}/idmappingtables/{idMappingTableIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateIdMappingTableInput" + }, + "name": "UpdateIdMappingTable", + "output": { + "shape": "UpdateIdMappingTableOutput" + } + }, + "UpdateMembership": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "PATCH", + "requestUri": "/memberships/{membershipIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateMembershipInput" + }, + "name": "UpdateMembership", + "output": { + "shape": "UpdateMembershipOutput" + } + }, + "UpdatePrivacyBudgetTemplate": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "PATCH", + "requestUri": "/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", + "responseCode": 200 + }, + "input": { + "shape": "UpdatePrivacyBudgetTemplateInput" + }, + "name": "UpdatePrivacyBudgetTemplate", + "output": { + "shape": "UpdatePrivacyBudgetTemplateOutput" + } + }, + "UpdateProtectedQuery": { + "errors": [ + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "PATCH", + "requestUri": "/memberships/{membershipIdentifier}/protectedQueries/{protectedQueryIdentifier}", + "responseCode": 200 + }, + "idempotent": true, + "input": { + "shape": "UpdateProtectedQueryInput" + }, + "name": "UpdateProtectedQuery", + "output": { + "shape": "UpdateProtectedQueryOutput" + } + } + }, + "shapes": { + "AccessDeniedException": { + "error": { + "httpStatusCode": 403, + "senderFault": true + }, + "exception": true, + "members": { + "message": { + "shape": "String" + }, + "reason": { + "shape": "AccessDeniedExceptionReason" + } + }, + "type": "structure" + }, + "AccessDeniedExceptionReason": { + "enum": [ + "INSUFFICIENT_PERMISSIONS" + ], + "type": "string" + }, + "AccountId": { + "max": 12, + "min": 12, + "pattern": "\\d+", + "type": "string" + }, + "AggregateColumn": { + "members": { + "columnNames": { + "shape": "AggregateColumnColumnNamesList" + }, + "function": { + "shape": "AggregateFunctionName" + } + }, + "required": [ + "columnNames", + "function" + ], + "type": "structure" + }, + "AggregateColumnColumnNamesList": { + "member": { + "shape": "AnalysisRuleColumnName" + }, + "min": 1, + "type": "list" + }, + "AggregateFunctionName": { + "enum": [ + "SUM", + "SUM_DISTINCT", + "COUNT", + "COUNT_DISTINCT", + "AVG" + ], + "type": "string" + }, + "AggregationConstraint": { + "members": { + "columnName": { + "shape": "AnalysisRuleColumnName" + }, + "minimum": { + "shape": "AggregationConstraintMinimumInteger" + }, + "type": { + "shape": "AggregationType" + } + }, + "required": [ + "columnName", + "minimum", + "type" + ], + "type": "structure" + }, + "AggregationConstraintMinimumInteger": { + "box": true, + "max": 100000, + "min": 2, + "type": "integer" + }, + "AggregationConstraints": { + "member": { + "shape": "AggregationConstraint" + }, + "min": 1, + "type": "list" + }, + "AggregationType": { + "enum": [ + "COUNT_DISTINCT" + ], + "type": "string" + }, + "AllowedColumnList": { + "max": 225, + "member": { + "shape": "ColumnName" + }, + "min": 1, + "type": "list" + }, + "AnalysisFormat": { + "enum": [ + "SQL" + ], + "type": "string" + }, + "AnalysisMethod": { + "enum": [ + "DIRECT_QUERY" + ], + "type": "string" + }, + "AnalysisParameter": { + "members": { + "defaultValue": { + "shape": "ParameterValue" + }, + "name": { + "shape": "ParameterName" + }, + "type": { + "shape": "ParameterType" + } + }, + "required": [ + "name", + "type" + ], + "sensitive": true, + "type": "structure" + }, + "AnalysisParameterList": { + "max": 10, + "member": { + "shape": "AnalysisParameter" + }, + "min": 0, + "type": "list" + }, + "AnalysisRule": { + "members": { + "collaborationId": { + "shape": "CollaborationIdentifier" + }, + "createTime": { + "shape": "Timestamp" + }, + "name": { + "shape": "TableAlias" + }, + "policy": { + "shape": "AnalysisRulePolicy" + }, + "type": { + "shape": "AnalysisRuleType" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "collaborationId", + "type", + "name", + "createTime", + "updateTime", + "policy" + ], + "type": "structure" + }, + "AnalysisRuleAggregation": { + "members": { + "aggregateColumns": { + "shape": "AnalysisRuleAggregationAggregateColumnsList" + }, + "allowedJoinOperators": { + "shape": "JoinOperatorsList" + }, + "dimensionColumns": { + "shape": "AnalysisRuleColumnList" + }, + "joinColumns": { + "shape": "AnalysisRuleColumnList" + }, + "joinRequired": { + "shape": "JoinRequiredOption" + }, + "outputConstraints": { + "shape": "AggregationConstraints" + }, + "scalarFunctions": { + "shape": "ScalarFunctionsList" + } + }, + "required": [ + "aggregateColumns", + "joinColumns", + "dimensionColumns", + "scalarFunctions", + "outputConstraints" + ], + "type": "structure" + }, + "AnalysisRuleAggregationAggregateColumnsList": { + "member": { + "shape": "AggregateColumn" + }, + "min": 1, + "type": "list" + }, + "AnalysisRuleColumnList": { + "member": { + "shape": "AnalysisRuleColumnName" + }, + "type": "list" + }, + "AnalysisRuleColumnName": { + "max": 127, + "min": 1, + "pattern": "[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?", + "type": "string" + }, + "AnalysisRuleCustom": { + "members": { + "allowedAnalyses": { + "shape": "AnalysisRuleCustomAllowedAnalysesList" + }, + "allowedAnalysisProviders": { + "shape": "AnalysisRuleCustomAllowedAnalysisProvidersList" + }, + "differentialPrivacy": { + "shape": "DifferentialPrivacyConfiguration" + } + }, + "required": [ + "allowedAnalyses" + ], + "type": "structure" + }, + "AnalysisRuleCustomAllowedAnalysesList": { + "member": { + "shape": "AnalysisTemplateArnOrQueryWildcard" + }, + "min": 0, + "type": "list" + }, + "AnalysisRuleCustomAllowedAnalysisProvidersList": { + "member": { + "shape": "AccountId" + }, + "min": 0, + "type": "list" + }, + "AnalysisRuleIdMappingTable": { + "members": { + "dimensionColumns": { + "shape": "AnalysisRuleColumnList" + }, + "joinColumns": { + "shape": "AnalysisRuleIdMappingTableJoinColumnsList" + }, + "queryConstraints": { + "shape": "QueryConstraintList" + } + }, + "required": [ + "joinColumns", + "queryConstraints" + ], + "type": "structure" + }, + "AnalysisRuleIdMappingTableJoinColumnsList": { + "max": 2, + "member": { + "shape": "AnalysisRuleColumnName" + }, + "min": 2, + "type": "list" + }, + "AnalysisRuleList": { + "members": { + "allowedJoinOperators": { + "shape": "JoinOperatorsList" + }, + "joinColumns": { + "shape": "AnalysisRuleListJoinColumnsList" + }, + "listColumns": { + "shape": "AnalysisRuleColumnList" + } + }, + "required": [ + "joinColumns", + "listColumns" + ], + "type": "structure" + }, + "AnalysisRuleListJoinColumnsList": { + "member": { + "shape": "AnalysisRuleColumnName" + }, + "min": 1, + "type": "list" + }, + "AnalysisRulePolicy": { + "members": { + "v1": { + "shape": "AnalysisRulePolicyV1" + } + }, + "type": "structure", + "union": true + }, + "AnalysisRulePolicyV1": { + "members": { + "aggregation": { + "shape": "AnalysisRuleAggregation" + }, + "custom": { + "shape": "AnalysisRuleCustom" + }, + "idMappingTable": { + "shape": "AnalysisRuleIdMappingTable" + }, + "list": { + "shape": "AnalysisRuleList" + } + }, + "type": "structure", + "union": true + }, + "AnalysisRuleType": { + "enum": [ + "AGGREGATION", + "LIST", + "CUSTOM", + "ID_MAPPING_TABLE" + ], + "type": "string" + }, + "AnalysisRuleTypeList": { + "member": { + "shape": "AnalysisRuleType" + }, + "type": "list" + }, + "AnalysisSchema": { + "members": { + "referencedTables": { + "shape": "QueryTables" + } + }, + "type": "structure" + }, + "AnalysisSource": { + "members": { + "text": { + "shape": "AnalysisTemplateText" + } + }, + "sensitive": true, + "type": "structure", + "union": true + }, + "AnalysisTemplate": { + "members": { + "analysisParameters": { + "shape": "AnalysisParameterList" + }, + "arn": { + "shape": "AnalysisTemplateArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "description": { + "shape": "ResourceDescription" + }, + "format": { + "shape": "AnalysisFormat" + }, + "id": { + "shape": "AnalysisTemplateIdentifier" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "UUID" + }, + "name": { + "shape": "ResourceAlias" + }, + "schema": { + "shape": "AnalysisSchema" + }, + "source": { + "shape": "AnalysisSource" + }, + "updateTime": { + "shape": "Timestamp" + }, + "validations": { + "shape": "AnalysisTemplateValidationStatusDetailList" + } + }, + "required": [ + "id", + "arn", + "collaborationId", + "collaborationArn", + "membershipId", + "membershipArn", + "name", + "createTime", + "updateTime", + "schema", + "format", + "source" + ], + "type": "structure" + }, + "AnalysisTemplateArn": { + "max": 200, + "min": 0, + "pattern": "arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+/analysistemplate/[\\d\\w-]+", + "type": "string" + }, + "AnalysisTemplateArnList": { + "max": 10, + "member": { + "shape": "AnalysisTemplateArn" + }, + "min": 1, + "type": "list" + }, + "AnalysisTemplateArnOrQueryWildcard": { + "max": 200, + "min": 0, + "pattern": "(ANY_QUERY|arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+/analysistemplate/[\\d\\w-]+)", + "type": "string" + }, + "AnalysisTemplateIdentifier": { + "max": 36, + "min": 36, + "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", + "type": "string" + }, + "AnalysisTemplateSummary": { + "members": { + "arn": { + "shape": "AnalysisTemplateArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "description": { + "shape": "ResourceDescription" + }, + "id": { + "shape": "AnalysisTemplateIdentifier" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "UUID" + }, + "name": { + "shape": "ResourceAlias" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "arn", + "createTime", + "id", + "name", + "updateTime", + "membershipArn", + "membershipId", + "collaborationArn", + "collaborationId" + ], + "type": "structure" + }, + "AnalysisTemplateSummaryList": { + "member": { + "shape": "AnalysisTemplateSummary" + }, + "type": "list" + }, + "AnalysisTemplateText": { + "max": 90000, + "min": 0, + "type": "string" + }, + "AnalysisTemplateValidationStatus": { + "enum": [ + "VALID", + "INVALID", + "UNABLE_TO_VALIDATE" + ], + "type": "string" + }, + "AnalysisTemplateValidationStatusDetail": { + "members": { + "reasons": { + "shape": "AnalysisTemplateValidationStatusReasonList" + }, + "status": { + "shape": "AnalysisTemplateValidationStatus" + }, + "type": { + "shape": "AnalysisTemplateValidationType" + } + }, + "required": [ + "type", + "status" + ], + "type": "structure" + }, + "AnalysisTemplateValidationStatusDetailList": { + "member": { + "shape": "AnalysisTemplateValidationStatusDetail" + }, + "type": "list" + }, + "AnalysisTemplateValidationStatusReason": { + "members": { + "message": { + "shape": "String" + } + }, + "required": [ + "message" + ], + "type": "structure" + }, + "AnalysisTemplateValidationStatusReasonList": { + "member": { + "shape": "AnalysisTemplateValidationStatusReason" + }, + "type": "list" + }, + "AnalysisTemplateValidationType": { + "enum": [ + "DIFFERENTIAL_PRIVACY" + ], + "type": "string" + }, + "BatchGetCollaborationAnalysisTemplateError": { + "members": { + "arn": { + "shape": "AnalysisTemplateArn" + }, + "code": { + "shape": "String" + }, + "message": { + "shape": "String" + } + }, + "required": [ + "arn", + "code", + "message" + ], + "type": "structure" + }, + "BatchGetCollaborationAnalysisTemplateErrorList": { + "max": 10, + "member": { + "shape": "BatchGetCollaborationAnalysisTemplateError" + }, + "min": 0, + "type": "list" + }, + "BatchGetCollaborationAnalysisTemplateInput": { + "members": { + "analysisTemplateArns": { + "shape": "AnalysisTemplateArnList" + }, + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" + } + }, + "required": [ + "collaborationIdentifier", + "analysisTemplateArns" + ], + "type": "structure" + }, + "BatchGetCollaborationAnalysisTemplateOutput": { + "members": { + "collaborationAnalysisTemplates": { + "shape": "CollaborationAnalysisTemplateList" + }, + "errors": { + "shape": "BatchGetCollaborationAnalysisTemplateErrorList" + } + }, + "required": [ + "collaborationAnalysisTemplates", + "errors" + ], + "type": "structure" + }, + "BatchGetSchemaAnalysisRuleError": { + "members": { + "code": { + "shape": "String" + }, + "message": { + "shape": "String" + }, + "name": { + "shape": "TableAlias" + }, + "type": { + "shape": "AnalysisRuleType" + } + }, + "required": [ + "name", + "type", + "code", + "message" + ], + "type": "structure" + }, + "BatchGetSchemaAnalysisRuleErrorList": { + "max": 25, + "member": { + "shape": "BatchGetSchemaAnalysisRuleError" + }, + "min": 0, + "type": "list" + }, + "BatchGetSchemaAnalysisRuleInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" + }, + "schemaAnalysisRuleRequests": { + "shape": "SchemaAnalysisRuleRequestList" + } + }, + "required": [ + "collaborationIdentifier", + "schemaAnalysisRuleRequests" + ], + "type": "structure" + }, + "BatchGetSchemaAnalysisRuleOutput": { + "members": { + "analysisRules": { + "shape": "SchemaAnalysisRuleList" + }, + "errors": { + "shape": "BatchGetSchemaAnalysisRuleErrorList" + } + }, + "required": [ + "analysisRules", + "errors" + ], + "type": "structure" + }, + "BatchGetSchemaError": { + "members": { + "code": { + "shape": "String" + }, + "message": { + "shape": "String" + }, + "name": { + "shape": "TableAlias" + } + }, + "required": [ + "name", + "code", + "message" + ], + "type": "structure" + }, + "BatchGetSchemaErrorList": { + "max": 25, + "member": { + "shape": "BatchGetSchemaError" + }, + "min": 0, + "type": "list" + }, + "BatchGetSchemaInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" + }, + "names": { + "shape": "TableAliasList" + } + }, + "required": [ + "collaborationIdentifier", + "names" + ], + "type": "structure" + }, + "BatchGetSchemaOutput": { + "members": { + "errors": { + "shape": "BatchGetSchemaErrorList" + }, + "schemas": { + "shape": "SchemaList" + } + }, + "required": [ + "schemas", + "errors" + ], + "type": "structure" + }, + "Boolean": { + "box": true, + "type": "boolean" + }, + "CleanroomsArn": { + "max": 100, + "min": 0, + "pattern": "arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:[\\d\\w/-]+", + "type": "string" + }, + "Collaboration": { + "members": { + "arn": { + "shape": "CollaborationArn" + }, + "createTime": { + "shape": "Timestamp" + }, + "creatorAccountId": { + "shape": "AccountId" + }, + "creatorDisplayName": { + "shape": "DisplayName" + }, + "dataEncryptionMetadata": { + "shape": "DataEncryptionMetadata" + }, + "description": { + "shape": "CollaborationDescription" + }, + "id": { + "shape": "UUID" + }, + "memberStatus": { + "shape": "MemberStatus" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "UUID" + }, + "name": { + "shape": "CollaborationName" + }, + "queryLogStatus": { + "shape": "CollaborationQueryLogStatus" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "id", + "arn", + "name", + "creatorAccountId", + "creatorDisplayName", + "createTime", + "updateTime", + "memberStatus", + "queryLogStatus" + ], + "type": "structure" + }, + "CollaborationAnalysisTemplate": { + "members": { + "analysisParameters": { + "shape": "AnalysisParameterList" + }, + "arn": { + "shape": "AnalysisTemplateArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "creatorAccountId": { + "shape": "AccountId" + }, + "description": { + "shape": "ResourceDescription" + }, + "format": { + "shape": "AnalysisFormat" + }, + "id": { + "shape": "AnalysisTemplateIdentifier" + }, + "name": { + "shape": "ResourceAlias" + }, + "schema": { + "shape": "AnalysisSchema" + }, + "source": { + "shape": "AnalysisSource" + }, + "updateTime": { + "shape": "Timestamp" + }, + "validations": { + "shape": "AnalysisTemplateValidationStatusDetailList" + } + }, + "required": [ + "id", + "arn", + "collaborationId", + "collaborationArn", + "creatorAccountId", + "name", + "createTime", + "updateTime", + "schema", + "format", + "source" + ], + "type": "structure" + }, + "CollaborationAnalysisTemplateList": { + "max": 10, + "member": { + "shape": "CollaborationAnalysisTemplate" + }, + "min": 0, + "type": "list" + }, + "CollaborationAnalysisTemplateSummary": { + "members": { + "arn": { + "shape": "AnalysisTemplateArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "creatorAccountId": { + "shape": "AccountId" + }, + "description": { + "shape": "ResourceDescription" + }, + "id": { + "shape": "AnalysisTemplateIdentifier" + }, + "name": { + "shape": "ResourceAlias" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "arn", + "createTime", + "id", + "name", + "updateTime", + "collaborationArn", + "collaborationId", + "creatorAccountId" + ], + "type": "structure" + }, + "CollaborationAnalysisTemplateSummaryList": { + "member": { + "shape": "CollaborationAnalysisTemplateSummary" + }, + "type": "list" + }, + "CollaborationArn": { + "max": 100, + "min": 0, + "pattern": "arn:aws:[\\w]+:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:collaboration/[\\d\\w-]+", + "type": "string" + }, + "CollaborationConfiguredAudienceModelAssociation": { + "members": { + "arn": { + "shape": "ConfiguredAudienceModelAssociationArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "configuredAudienceModelArn": { + "shape": "ConfiguredAudienceModelArn" + }, + "createTime": { + "shape": "Timestamp" + }, + "creatorAccountId": { + "shape": "AccountId" + }, + "description": { + "shape": "ResourceDescription" + }, + "id": { + "shape": "ConfiguredAudienceModelAssociationIdentifier" + }, + "name": { + "shape": "ConfiguredAudienceModelAssociationName" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "id", + "arn", + "collaborationId", + "collaborationArn", + "configuredAudienceModelArn", + "name", + "creatorAccountId", + "createTime", + "updateTime" + ], + "type": "structure" + }, + "CollaborationConfiguredAudienceModelAssociationSummary": { + "members": { + "arn": { + "shape": "ConfiguredAudienceModelAssociationArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "creatorAccountId": { + "shape": "AccountId" + }, + "description": { + "shape": "ResourceDescription" + }, + "id": { + "shape": "ConfiguredAudienceModelAssociationIdentifier" + }, + "name": { + "shape": "ConfiguredAudienceModelAssociationName" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "arn", + "createTime", + "id", + "name", + "updateTime", + "collaborationArn", + "collaborationId", + "creatorAccountId" + ], + "type": "structure" + }, + "CollaborationConfiguredAudienceModelAssociationSummaryList": { + "member": { + "shape": "CollaborationConfiguredAudienceModelAssociationSummary" + }, + "type": "list" + }, + "CollaborationDescription": { + "max": 255, + "min": 1, + "pattern": "(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*", + "type": "string" + }, + "CollaborationIdNamespaceAssociationSummary": { + "members": { + "arn": { + "shape": "IdNamespaceAssociationArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "creatorAccountId": { + "shape": "AccountId" + }, + "description": { + "shape": "ResourceDescription" + }, + "id": { + "shape": "IdNamespaceAssociationIdentifier" + }, + "inputReferenceConfig": { + "shape": "IdNamespaceAssociationInputReferenceConfig" + }, + "inputReferenceProperties": { + "shape": "IdNamespaceAssociationInputReferencePropertiesSummary" + }, + "name": { + "shape": "GenericResourceName" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "arn", + "createTime", + "id", + "updateTime", + "collaborationArn", + "collaborationId", + "creatorAccountId", + "inputReferenceConfig", + "name", + "inputReferenceProperties" + ], + "type": "structure" + }, + "CollaborationIdNamespaceAssociationSummaryList": { + "member": { + "shape": "CollaborationIdNamespaceAssociationSummary" + }, + "type": "list" + }, + "CollaborationIdentifier": { + "max": 36, + "min": 36, + "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", + "type": "string" + }, + "CollaborationName": { + "max": 100, + "min": 1, + "pattern": "(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*", + "type": "string" + }, + "CollaborationPrivacyBudgetSummary": { + "members": { + "budget": { + "shape": "PrivacyBudget" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "creatorAccountId": { + "shape": "AccountId" + }, + "id": { + "shape": "UUID" + }, + "privacyBudgetTemplateArn": { + "shape": "PrivacyBudgetTemplateArn" + }, + "privacyBudgetTemplateId": { + "shape": "PrivacyBudgetTemplateIdentifier" + }, + "type": { + "shape": "PrivacyBudgetType" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "id", + "privacyBudgetTemplateId", + "privacyBudgetTemplateArn", + "collaborationId", + "collaborationArn", + "creatorAccountId", + "type", + "createTime", + "updateTime", + "budget" + ], + "type": "structure" + }, + "CollaborationPrivacyBudgetSummaryList": { + "member": { + "shape": "CollaborationPrivacyBudgetSummary" + }, + "type": "list" + }, + "CollaborationPrivacyBudgetTemplate": { + "members": { + "arn": { + "shape": "PrivacyBudgetTemplateArn" + }, + "autoRefresh": { + "shape": "PrivacyBudgetTemplateAutoRefresh" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "creatorAccountId": { + "shape": "AccountId" + }, + "id": { + "shape": "PrivacyBudgetTemplateIdentifier" + }, + "parameters": { + "shape": "PrivacyBudgetTemplateParametersOutput" + }, + "privacyBudgetType": { + "shape": "PrivacyBudgetType" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "id", + "arn", + "collaborationId", + "collaborationArn", + "creatorAccountId", + "createTime", + "updateTime", + "privacyBudgetType", + "autoRefresh", + "parameters" + ], + "type": "structure" + }, + "CollaborationPrivacyBudgetTemplateSummary": { + "members": { + "arn": { + "shape": "PrivacyBudgetTemplateArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "creatorAccountId": { + "shape": "AccountId" + }, + "id": { + "shape": "PrivacyBudgetTemplateIdentifier" + }, + "privacyBudgetType": { + "shape": "PrivacyBudgetType" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "id", + "arn", + "collaborationId", + "collaborationArn", + "creatorAccountId", + "privacyBudgetType", + "createTime", + "updateTime" + ], + "type": "structure" + }, + "CollaborationPrivacyBudgetTemplateSummaryList": { + "member": { + "shape": "CollaborationPrivacyBudgetTemplateSummary" + }, + "type": "list" + }, + "CollaborationQueryLogStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "CollaborationSummary": { + "members": { + "arn": { + "shape": "CollaborationArn" + }, + "createTime": { + "shape": "Timestamp" + }, + "creatorAccountId": { + "shape": "AccountId" + }, + "creatorDisplayName": { + "shape": "DisplayName" + }, + "id": { + "shape": "UUID" + }, + "memberStatus": { + "shape": "MemberStatus" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "UUID" + }, + "name": { + "shape": "CollaborationName" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "id", + "arn", + "name", + "creatorAccountId", + "creatorDisplayName", + "createTime", + "updateTime", + "memberStatus" + ], + "type": "structure" + }, + "CollaborationSummaryList": { + "member": { + "shape": "CollaborationSummary" + }, + "type": "list" + }, + "Column": { + "members": { + "name": { + "shape": "ColumnName" + }, + "type": { + "shape": "ColumnTypeString" + } + }, + "required": [ + "name", + "type" + ], + "type": "structure" + }, + "ColumnList": { + "member": { + "shape": "Column" + }, + "type": "list" + }, + "ColumnName": { + "max": 128, + "min": 0, + "pattern": "[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?", + "type": "string" + }, + "ColumnTypeString": { + "max": 255, + "min": 0, + "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*", + "type": "string" + }, + "ConfiguredAudienceModelArn": { + "max": 2048, + "min": 20, + "pattern": "arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:configured-audience-model/[-a-zA-Z0-9_/.]+", + "type": "string" + }, + "ConfiguredAudienceModelAssociation": { + "members": { + "arn": { + "shape": "ConfiguredAudienceModelAssociationArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "configuredAudienceModelArn": { + "shape": "ConfiguredAudienceModelArn" + }, + "createTime": { + "shape": "Timestamp" + }, + "description": { + "shape": "ResourceDescription" + }, + "id": { + "shape": "ConfiguredAudienceModelAssociationIdentifier" + }, + "manageResourcePolicies": { + "shape": "Boolean" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "UUID" + }, + "name": { + "shape": "ConfiguredAudienceModelAssociationName" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "id", + "arn", + "configuredAudienceModelArn", + "membershipId", + "membershipArn", + "collaborationId", + "collaborationArn", + "name", + "manageResourcePolicies", + "createTime", + "updateTime" + ], + "type": "structure" + }, + "ConfiguredAudienceModelAssociationArn": { + "max": 256, + "min": 0, + "pattern": "arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+/configuredaudiencemodelassociation/[\\d\\w-]+", + "type": "string" + }, + "ConfiguredAudienceModelAssociationIdentifier": { + "max": 36, + "min": 36, + "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", + "type": "string" + }, + "ConfiguredAudienceModelAssociationName": { + "max": 100, + "min": 1, + "pattern": "(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*", + "type": "string" + }, + "ConfiguredAudienceModelAssociationSummary": { + "members": { + "arn": { + "shape": "ConfiguredAudienceModelAssociationArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "configuredAudienceModelArn": { + "shape": "ConfiguredAudienceModelArn" + }, + "createTime": { + "shape": "Timestamp" + }, + "description": { + "shape": "ResourceDescription" + }, + "id": { + "shape": "UUID" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "MembershipIdentifier" + }, + "name": { + "shape": "ConfiguredAudienceModelAssociationName" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "membershipId", + "membershipArn", + "collaborationArn", + "collaborationId", + "createTime", + "updateTime", + "id", + "arn", + "name", + "configuredAudienceModelArn" + ], + "type": "structure" + }, + "ConfiguredAudienceModelAssociationSummaryList": { + "member": { + "shape": "ConfiguredAudienceModelAssociationSummary" + }, + "type": "list" + }, + "ConfiguredTable": { + "members": { + "allowedColumns": { + "shape": "AllowedColumnList" + }, + "analysisMethod": { + "shape": "AnalysisMethod" + }, + "analysisRuleTypes": { + "shape": "ConfiguredTableAnalysisRuleTypeList" + }, + "arn": { + "shape": "ConfiguredTableArn" + }, + "createTime": { + "shape": "Timestamp" + }, + "description": { + "shape": "TableDescription" + }, + "id": { + "shape": "UUID" + }, + "name": { + "shape": "DisplayName" + }, + "tableReference": { + "shape": "TableReference" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "id", + "arn", + "name", + "tableReference", + "createTime", + "updateTime", + "analysisRuleTypes", + "analysisMethod", + "allowedColumns" + ], + "type": "structure" + }, + "ConfiguredTableAnalysisRule": { + "members": { + "configuredTableArn": { + "shape": "ConfiguredTableArn" + }, + "configuredTableId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "policy": { + "shape": "ConfiguredTableAnalysisRulePolicy" + }, + "type": { + "shape": "ConfiguredTableAnalysisRuleType" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "configuredTableId", + "configuredTableArn", + "policy", + "type", + "createTime", + "updateTime" + ], + "type": "structure" + }, + "ConfiguredTableAnalysisRulePolicy": { + "members": { + "v1": { + "shape": "ConfiguredTableAnalysisRulePolicyV1" + } + }, + "type": "structure", + "union": true + }, + "ConfiguredTableAnalysisRulePolicyV1": { + "members": { + "aggregation": { + "shape": "AnalysisRuleAggregation" + }, + "custom": { + "shape": "AnalysisRuleCustom" + }, + "list": { + "shape": "AnalysisRuleList" + } + }, + "type": "structure", + "union": true + }, + "ConfiguredTableAnalysisRuleType": { + "enum": [ + "AGGREGATION", + "LIST", + "CUSTOM" + ], + "type": "string" + }, + "ConfiguredTableAnalysisRuleTypeList": { + "member": { + "shape": "ConfiguredTableAnalysisRuleType" + }, + "type": "list" + }, + "ConfiguredTableArn": { + "max": 100, + "min": 0, + "pattern": "arn:aws:[\\w]+:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:configuredtable/[\\d\\w-]+", + "type": "string" + }, + "ConfiguredTableAssociation": { + "members": { + "arn": { + "shape": "ConfiguredTableAssociationArn" + }, + "configuredTableArn": { + "shape": "ConfiguredTableArn" + }, + "configuredTableId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "description": { + "shape": "TableDescription" + }, + "id": { + "shape": "UUID" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "UUID" + }, + "name": { + "shape": "TableAlias" + }, + "roleArn": { + "shape": "RoleArn" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "arn", + "id", + "configuredTableId", + "configuredTableArn", + "membershipId", + "membershipArn", + "roleArn", + "name", + "createTime", + "updateTime" + ], + "type": "structure" + }, + "ConfiguredTableAssociationArn": { + "max": 100, + "min": 0, + "pattern": "arn:aws:[\\w]+:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:configuredtableassociation/[\\d\\w-]+/[\\d\\w-]+", + "type": "string" + }, + "ConfiguredTableAssociationIdentifier": { + "max": 36, + "min": 36, + "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", + "type": "string" + }, + "ConfiguredTableAssociationSummary": { + "members": { + "arn": { + "shape": "ConfiguredTableAssociationArn" + }, + "configuredTableId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "id": { + "shape": "UUID" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "MembershipIdentifier" + }, + "name": { + "shape": "TableAlias" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "configuredTableId", + "membershipId", + "membershipArn", + "name", + "createTime", + "updateTime", + "id", + "arn" + ], + "type": "structure" + }, + "ConfiguredTableAssociationSummaryList": { + "member": { + "shape": "ConfiguredTableAssociationSummary" + }, + "type": "list" + }, + "ConfiguredTableIdentifier": { + "max": 36, + "min": 36, + "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", + "type": "string" + }, + "ConfiguredTableSummary": { + "members": { + "analysisMethod": { + "shape": "AnalysisMethod" + }, + "analysisRuleTypes": { + "shape": "ConfiguredTableAnalysisRuleTypeList" + }, + "arn": { + "shape": "ConfiguredTableArn" + }, + "createTime": { + "shape": "Timestamp" + }, + "id": { + "shape": "ConfiguredTableIdentifier" + }, + "name": { + "shape": "DisplayName" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "id", + "arn", + "name", + "createTime", + "updateTime", + "analysisRuleTypes", + "analysisMethod" + ], + "type": "structure" + }, + "ConfiguredTableSummaryList": { + "member": { + "shape": "ConfiguredTableSummary" + }, + "type": "list" + }, + "ConflictException": { + "error": { + "httpStatusCode": 409, + "senderFault": true + }, + "exception": true, + "members": { + "message": { + "shape": "String" + }, + "reason": { + "shape": "ConflictExceptionReason" + }, + "resourceId": { + "shape": "String" + }, + "resourceType": { + "shape": "ResourceType" + } + }, + "type": "structure" + }, + "ConflictExceptionReason": { + "enum": [ + "ALREADY_EXISTS", + "SUBRESOURCES_EXIST", + "INVALID_STATE" + ], + "type": "string" + }, + "CreateAnalysisTemplateInput": { + "members": { + "analysisParameters": { + "shape": "AnalysisParameterList" + }, + "description": { + "shape": "ResourceDescription" + }, + "format": { + "shape": "AnalysisFormat" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "name": { + "shape": "TableAlias" + }, + "source": { + "shape": "AnalysisSource" + }, + "tags": { + "shape": "TagMap" + } + }, + "required": [ + "membershipIdentifier", + "name", + "format", + "source" + ], + "type": "structure" + }, + "CreateAnalysisTemplateOutput": { + "members": { + "analysisTemplate": { + "shape": "AnalysisTemplate" + } + }, + "required": [ + "analysisTemplate" + ], + "type": "structure" + }, + "CreateCollaborationInput": { + "members": { + "creatorDisplayName": { + "shape": "DisplayName" + }, + "creatorMemberAbilities": { + "shape": "MemberAbilities" + }, + "creatorPaymentConfiguration": { + "shape": "PaymentConfiguration" + }, + "dataEncryptionMetadata": { + "shape": "DataEncryptionMetadata" + }, + "description": { + "shape": "CollaborationDescription" + }, + "members": { + "shape": "MemberList" + }, + "name": { + "shape": "CollaborationName" + }, + "queryLogStatus": { + "shape": "CollaborationQueryLogStatus" + }, + "tags": { + "shape": "TagMap" + } + }, + "required": [ + "members", + "name", + "description", + "creatorMemberAbilities", + "creatorDisplayName", + "queryLogStatus" + ], + "type": "structure" + }, + "CreateCollaborationOutput": { + "members": { + "collaboration": { + "shape": "Collaboration" + } + }, + "required": [ + "collaboration" + ], + "type": "structure" + }, + "CreateConfiguredAudienceModelAssociationInput": { + "members": { + "configuredAudienceModelArn": { + "shape": "ConfiguredAudienceModelArn" + }, + "configuredAudienceModelAssociationName": { + "shape": "ConfiguredAudienceModelAssociationName" + }, + "description": { + "shape": "ResourceDescription" + }, + "manageResourcePolicies": { + "shape": "Boolean" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "tags": { + "shape": "TagMap" + } + }, + "required": [ + "membershipIdentifier", + "configuredAudienceModelArn", + "configuredAudienceModelAssociationName", + "manageResourcePolicies" + ], + "type": "structure" + }, + "CreateConfiguredAudienceModelAssociationOutput": { + "members": { + "configuredAudienceModelAssociation": { + "shape": "ConfiguredAudienceModelAssociation" + } + }, + "required": [ + "configuredAudienceModelAssociation" + ], + "type": "structure" + }, + "CreateConfiguredTableAnalysisRuleInput": { + "members": { + "analysisRulePolicy": { + "shape": "ConfiguredTableAnalysisRulePolicy" + }, + "analysisRuleType": { + "shape": "ConfiguredTableAnalysisRuleType" + }, + "configuredTableIdentifier": { + "location": "uri", + "locationName": "configuredTableIdentifier", + "shape": "ConfiguredTableIdentifier" + } + }, + "required": [ + "configuredTableIdentifier", + "analysisRuleType", + "analysisRulePolicy" + ], + "type": "structure" + }, + "CreateConfiguredTableAnalysisRuleOutput": { + "members": { + "analysisRule": { + "shape": "ConfiguredTableAnalysisRule" + } + }, + "required": [ + "analysisRule" + ], + "type": "structure" + }, + "CreateConfiguredTableAssociationInput": { + "members": { + "configuredTableIdentifier": { + "shape": "ConfiguredTableIdentifier" + }, + "description": { + "shape": "TableDescription" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "name": { + "shape": "TableAlias" + }, + "roleArn": { + "shape": "RoleArn" + }, + "tags": { + "shape": "TagMap" + } + }, + "required": [ + "name", + "membershipIdentifier", + "configuredTableIdentifier", + "roleArn" + ], + "type": "structure" + }, + "CreateConfiguredTableAssociationOutput": { + "members": { + "configuredTableAssociation": { + "shape": "ConfiguredTableAssociation" + } + }, + "required": [ + "configuredTableAssociation" + ], + "type": "structure" + }, + "CreateConfiguredTableInput": { + "members": { + "allowedColumns": { + "shape": "AllowedColumnList" + }, + "analysisMethod": { + "shape": "AnalysisMethod" + }, + "description": { + "shape": "TableDescription" + }, + "name": { + "shape": "DisplayName" + }, + "tableReference": { + "shape": "TableReference" + }, + "tags": { + "shape": "TagMap" + } + }, + "required": [ + "name", + "tableReference", + "allowedColumns", + "analysisMethod" + ], + "type": "structure" + }, + "CreateConfiguredTableOutput": { + "members": { + "configuredTable": { + "shape": "ConfiguredTable" + } + }, + "required": [ + "configuredTable" + ], + "type": "structure" + }, + "CreateIdMappingTableInput": { + "members": { + "description": { + "shape": "ResourceDescription" + }, + "inputReferenceConfig": { + "shape": "IdMappingTableInputReferenceConfig" + }, + "kmsKeyArn": { + "shape": "KMSKeyArn" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "name": { + "shape": "ResourceAlias" + }, + "tags": { + "shape": "TagMap" + } + }, + "required": [ + "membershipIdentifier", + "name", + "inputReferenceConfig" + ], + "type": "structure" + }, + "CreateIdMappingTableOutput": { + "members": { + "idMappingTable": { + "shape": "IdMappingTable" + } + }, + "required": [ + "idMappingTable" + ], + "type": "structure" + }, + "CreateIdNamespaceAssociationInput": { + "members": { + "description": { + "shape": "ResourceDescription" + }, + "idMappingConfig": { + "shape": "IdMappingConfig" + }, + "inputReferenceConfig": { + "shape": "IdNamespaceAssociationInputReferenceConfig" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "name": { + "shape": "GenericResourceName" + }, + "tags": { + "shape": "TagMap" + } + }, + "required": [ + "membershipIdentifier", + "inputReferenceConfig", + "name" + ], + "type": "structure" + }, + "CreateMembershipInput": { + "members": { + "collaborationIdentifier": { + "shape": "CollaborationIdentifier" + }, + "defaultResultConfiguration": { + "shape": "MembershipProtectedQueryResultConfiguration" + }, + "paymentConfiguration": { + "shape": "MembershipPaymentConfiguration" + }, + "queryLogStatus": { + "shape": "MembershipQueryLogStatus" + }, + "tags": { + "shape": "TagMap" + } + }, + "required": [ + "collaborationIdentifier", + "queryLogStatus" + ], + "type": "structure" + }, + "CreateMembershipOutput": { + "members": { + "membership": { + "shape": "Membership" + } + }, + "required": [ + "membership" + ], + "type": "structure" + }, + "CreatePrivacyBudgetTemplateInput": { + "members": { + "autoRefresh": { + "shape": "PrivacyBudgetTemplateAutoRefresh" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "parameters": { + "shape": "PrivacyBudgetTemplateParametersInput" + }, + "privacyBudgetType": { + "shape": "PrivacyBudgetType" + }, + "tags": { + "shape": "TagMap" + } + }, + "required": [ + "membershipIdentifier", + "autoRefresh", + "privacyBudgetType", + "parameters" + ], + "type": "structure" + }, + "CreatePrivacyBudgetTemplateOutput": { + "members": { + "privacyBudgetTemplate": { + "shape": "PrivacyBudgetTemplate" + } + }, + "required": [ + "privacyBudgetTemplate" + ], + "type": "structure" + }, + "DataEncryptionMetadata": { + "members": { + "allowCleartext": { + "shape": "Boolean" + }, + "allowDuplicates": { + "shape": "Boolean" + }, + "allowJoinsOnColumnsWithDifferentNames": { + "shape": "Boolean" + }, + "preserveNulls": { + "shape": "Boolean" + } + }, + "required": [ + "allowCleartext", + "allowDuplicates", + "allowJoinsOnColumnsWithDifferentNames", + "preserveNulls" + ], + "type": "structure" + }, + "DeleteAnalysisTemplateInput": { + "members": { + "analysisTemplateIdentifier": { + "location": "uri", + "locationName": "analysisTemplateIdentifier", + "shape": "AnalysisTemplateIdentifier" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + } + }, + "required": [ + "membershipIdentifier", + "analysisTemplateIdentifier" + ], + "type": "structure" + }, + "DeleteAnalysisTemplateOutput": { + "members": {}, + "type": "structure" + }, + "DeleteCollaborationInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" + } + }, + "required": [ + "collaborationIdentifier" + ], + "type": "structure" + }, + "DeleteCollaborationOutput": { + "members": {}, + "type": "structure" + }, + "DeleteConfiguredAudienceModelAssociationInput": { + "members": { + "configuredAudienceModelAssociationIdentifier": { + "location": "uri", + "locationName": "configuredAudienceModelAssociationIdentifier", + "shape": "ConfiguredAudienceModelAssociationIdentifier" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + } + }, + "required": [ + "configuredAudienceModelAssociationIdentifier", + "membershipIdentifier" + ], + "type": "structure" + }, + "DeleteConfiguredAudienceModelAssociationOutput": { + "members": {}, + "type": "structure" + }, + "DeleteConfiguredTableAnalysisRuleInput": { + "members": { + "analysisRuleType": { + "location": "uri", + "locationName": "analysisRuleType", + "shape": "ConfiguredTableAnalysisRuleType" + }, + "configuredTableIdentifier": { + "location": "uri", + "locationName": "configuredTableIdentifier", + "shape": "ConfiguredTableIdentifier" + } + }, + "required": [ + "configuredTableIdentifier", + "analysisRuleType" + ], + "type": "structure" + }, + "DeleteConfiguredTableAnalysisRuleOutput": { + "members": {}, + "type": "structure" + }, + "DeleteConfiguredTableAssociationInput": { + "members": { + "configuredTableAssociationIdentifier": { + "location": "uri", + "locationName": "configuredTableAssociationIdentifier", + "shape": "ConfiguredTableAssociationIdentifier" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + } + }, + "required": [ + "configuredTableAssociationIdentifier", + "membershipIdentifier" + ], + "type": "structure" + }, + "DeleteConfiguredTableAssociationOutput": { + "members": {}, + "type": "structure" + }, + "DeleteConfiguredTableInput": { + "members": { + "configuredTableIdentifier": { + "location": "uri", + "locationName": "configuredTableIdentifier", + "shape": "ConfiguredTableIdentifier" + } + }, + "required": [ + "configuredTableIdentifier" + ], + "type": "structure" + }, + "DeleteConfiguredTableOutput": { + "members": {}, + "type": "structure" + }, + "DeleteIdMappingTableInput": { + "members": { + "idMappingTableIdentifier": { + "location": "uri", + "locationName": "idMappingTableIdentifier", + "shape": "UUID" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + } + }, + "required": [ + "idMappingTableIdentifier", + "membershipIdentifier" + ], + "type": "structure" + }, + "DeleteIdMappingTableOutput": { + "members": {}, + "type": "structure" + }, + "DeleteIdNamespaceAssociationInput": { + "members": { + "idNamespaceAssociationIdentifier": { + "location": "uri", + "locationName": "idNamespaceAssociationIdentifier", + "shape": "IdNamespaceAssociationIdentifier" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + } + }, + "required": [ + "idNamespaceAssociationIdentifier", + "membershipIdentifier" + ], + "type": "structure" + }, + "DeleteIdNamespaceAssociationOutput": { + "members": {}, + "type": "structure" + }, + "DeleteMemberInput": { + "members": { + "accountId": { + "location": "uri", + "locationName": "accountId", + "shape": "AccountId" + }, + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" + } + }, + "required": [ + "collaborationIdentifier", + "accountId" + ], + "type": "structure" + }, + "DeleteMemberOutput": { + "members": {}, + "type": "structure" + }, + "DeleteMembershipInput": { + "members": { + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + } + }, + "required": [ + "membershipIdentifier" + ], + "type": "structure" + }, + "DeleteMembershipOutput": { + "members": {}, + "type": "structure" + }, + "DeletePrivacyBudgetTemplateInput": { + "members": { + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "privacyBudgetTemplateIdentifier": { + "location": "uri", + "locationName": "privacyBudgetTemplateIdentifier", + "shape": "PrivacyBudgetTemplateIdentifier" + } + }, + "required": [ + "membershipIdentifier", + "privacyBudgetTemplateIdentifier" + ], + "type": "structure" + }, + "DeletePrivacyBudgetTemplateOutput": { + "members": {}, + "type": "structure" + }, + "DifferentialPrivacyAggregationExpression": { + "min": 1, + "type": "string" + }, + "DifferentialPrivacyAggregationType": { + "enum": [ + "AVG", + "COUNT", + "COUNT_DISTINCT", + "SUM", + "STDDEV" + ], + "type": "string" + }, + "DifferentialPrivacyColumn": { + "members": { + "name": { + "shape": "String" + } + }, + "required": [ + "name" + ], + "type": "structure" + }, + "DifferentialPrivacyColumnList": { + "max": 1, + "member": { + "shape": "DifferentialPrivacyColumn" + }, + "min": 1, + "type": "list" + }, + "DifferentialPrivacyConfiguration": { + "members": { + "columns": { + "shape": "DifferentialPrivacyColumnList" + } + }, + "required": [ + "columns" + ], + "type": "structure" + }, + "DifferentialPrivacyParameters": { + "members": { + "sensitivityParameters": { + "shape": "DifferentialPrivacySensitivityParametersList" + } + }, + "required": [ + "sensitivityParameters" + ], + "type": "structure" + }, + "DifferentialPrivacyPreviewAggregation": { + "members": { + "maxCount": { + "shape": "DifferentialPrivacyPreviewAggregationMaxCountInteger" + }, + "type": { + "shape": "DifferentialPrivacyAggregationType" + } + }, + "required": [ + "type", + "maxCount" + ], + "type": "structure" + }, + "DifferentialPrivacyPreviewAggregationList": { + "member": { + "shape": "DifferentialPrivacyPreviewAggregation" + }, + "type": "list" + }, + "DifferentialPrivacyPreviewAggregationMaxCountInteger": { + "box": true, + "min": 0, + "type": "integer" + }, + "DifferentialPrivacyPreviewParametersInput": { + "members": { + "epsilon": { + "shape": "Epsilon" + }, + "usersNoisePerQuery": { + "shape": "UsersNoisePerQuery" + } + }, + "required": [ + "epsilon", + "usersNoisePerQuery" + ], + "type": "structure" + }, + "DifferentialPrivacyPrivacyBudget": { + "members": { + "aggregations": { + "shape": "DifferentialPrivacyPrivacyBudgetAggregationList" + }, + "epsilon": { + "shape": "Epsilon" + } + }, + "required": [ + "aggregations", + "epsilon" + ], + "type": "structure" + }, + "DifferentialPrivacyPrivacyBudgetAggregation": { + "members": { + "maxCount": { + "shape": "DifferentialPrivacyPrivacyBudgetAggregationMaxCountInteger" + }, + "remainingCount": { + "shape": "DifferentialPrivacyPrivacyBudgetAggregationRemainingCountInteger" + }, + "type": { + "shape": "DifferentialPrivacyAggregationType" + } + }, + "required": [ + "type", + "maxCount", + "remainingCount" + ], + "type": "structure" + }, + "DifferentialPrivacyPrivacyBudgetAggregationList": { + "member": { + "shape": "DifferentialPrivacyPrivacyBudgetAggregation" + }, + "type": "list" + }, + "DifferentialPrivacyPrivacyBudgetAggregationMaxCountInteger": { + "box": true, + "min": 0, + "type": "integer" + }, + "DifferentialPrivacyPrivacyBudgetAggregationRemainingCountInteger": { + "box": true, + "min": 0, + "type": "integer" + }, + "DifferentialPrivacyPrivacyImpact": { + "members": { + "aggregations": { + "shape": "DifferentialPrivacyPreviewAggregationList" + } + }, + "required": [ + "aggregations" + ], + "type": "structure" + }, + "DifferentialPrivacySensitivityParameters": { + "members": { + "aggregationExpression": { + "shape": "DifferentialPrivacyAggregationExpression" + }, + "aggregationType": { + "shape": "DifferentialPrivacyAggregationType" + }, + "maxColumnValue": { + "shape": "Float" + }, + "minColumnValue": { + "shape": "Float" + }, + "userContributionLimit": { + "shape": "DifferentialPrivacySensitivityParametersUserContributionLimitInteger" + } + }, + "required": [ + "aggregationType", + "aggregationExpression", + "userContributionLimit" + ], + "type": "structure" + }, + "DifferentialPrivacySensitivityParametersList": { + "member": { + "shape": "DifferentialPrivacySensitivityParameters" + }, + "type": "list" + }, + "DifferentialPrivacySensitivityParametersUserContributionLimitInteger": { + "box": true, + "min": 0, + "type": "integer" + }, + "DifferentialPrivacyTemplateParametersInput": { + "members": { + "epsilon": { + "shape": "Epsilon" + }, + "usersNoisePerQuery": { + "shape": "UsersNoisePerQuery" + } + }, + "required": [ + "epsilon", + "usersNoisePerQuery" + ], + "type": "structure" + }, + "DifferentialPrivacyTemplateParametersOutput": { + "members": { + "epsilon": { + "shape": "Epsilon" + }, + "usersNoisePerQuery": { + "shape": "UsersNoisePerQuery" + } + }, + "required": [ + "epsilon", + "usersNoisePerQuery" + ], + "type": "structure" + }, + "DifferentialPrivacyTemplateUpdateParameters": { + "members": { + "epsilon": { + "shape": "Epsilon" + }, + "usersNoisePerQuery": { + "shape": "UsersNoisePerQuery" + } + }, + "type": "structure" + }, + "DisplayName": { + "max": 100, + "min": 1, + "pattern": "(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*", + "type": "string" + }, + "Double": { + "box": true, + "type": "double" + }, + "Epsilon": { + "box": true, + "max": 20, + "min": 1, + "type": "integer" + }, + "FilterableMemberStatus": { + "enum": [ + "INVITED", + "ACTIVE" + ], + "type": "string" + }, + "Float": { + "box": true, + "type": "float" + }, + "GenericResourceName": { + "max": 100, + "min": 1, + "pattern": "(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*", + "type": "string" + }, + "GetAnalysisTemplateInput": { + "members": { + "analysisTemplateIdentifier": { + "location": "uri", + "locationName": "analysisTemplateIdentifier", + "shape": "AnalysisTemplateIdentifier" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + } + }, + "required": [ + "membershipIdentifier", + "analysisTemplateIdentifier" ], - "members":{ - "name":{"shape":"DisplayName"}, - "description":{"shape":"TableDescription"}, - "tableReference":{"shape":"TableReference"}, - "allowedColumns":{"shape":"AllowedColumnList"}, - "analysisMethod":{"shape":"AnalysisMethod"}, - "tags":{"shape":"TagMap"} - } - }, - "CreateConfiguredTableOutput":{ - "type":"structure", - "required":["configuredTable"], - "members":{ - "configuredTable":{"shape":"ConfiguredTable"} - } + "type": "structure" }, - "CreateMembershipInput":{ - "type":"structure", - "required":[ + "GetAnalysisTemplateOutput": { + "members": { + "analysisTemplate": { + "shape": "AnalysisTemplate" + } + }, + "required": [ + "analysisTemplate" + ], + "type": "structure" + }, + "GetCollaborationAnalysisTemplateInput": { + "members": { + "analysisTemplateArn": { + "location": "uri", + "locationName": "analysisTemplateArn", + "shape": "AnalysisTemplateArn" + }, + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" + } + }, + "required": [ "collaborationIdentifier", - "queryLogStatus" + "analysisTemplateArn" ], - "members":{ - "collaborationIdentifier":{"shape":"CollaborationIdentifier"}, - "queryLogStatus":{"shape":"MembershipQueryLogStatus"}, - "tags":{"shape":"TagMap"}, - "defaultResultConfiguration":{"shape":"MembershipProtectedQueryResultConfiguration"}, - "paymentConfiguration":{"shape":"MembershipPaymentConfiguration"} - } + "type": "structure" }, - "CreateMembershipOutput":{ - "type":"structure", - "required":["membership"], - "members":{ - "membership":{"shape":"Membership"} - } - }, - "CreatePrivacyBudgetTemplateInput":{ - "type":"structure", - "required":[ - "membershipIdentifier", - "autoRefresh", - "privacyBudgetType", - "parameters" + "GetCollaborationAnalysisTemplateOutput": { + "members": { + "collaborationAnalysisTemplate": { + "shape": "CollaborationAnalysisTemplate" + } + }, + "required": [ + "collaborationAnalysisTemplate" ], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "type": "structure" + }, + "GetCollaborationConfiguredAudienceModelAssociationInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" }, - "autoRefresh":{"shape":"PrivacyBudgetTemplateAutoRefresh"}, - "privacyBudgetType":{"shape":"PrivacyBudgetType"}, - "parameters":{"shape":"PrivacyBudgetTemplateParametersInput"}, - "tags":{"shape":"TagMap"} - } - }, - "CreatePrivacyBudgetTemplateOutput":{ - "type":"structure", - "required":["privacyBudgetTemplate"], - "members":{ - "privacyBudgetTemplate":{"shape":"PrivacyBudgetTemplate"} - } - }, - "DataEncryptionMetadata":{ - "type":"structure", - "required":[ - "allowCleartext", - "allowDuplicates", - "allowJoinsOnColumnsWithDifferentNames", - "preserveNulls" + "configuredAudienceModelAssociationIdentifier": { + "location": "uri", + "locationName": "configuredAudienceModelAssociationIdentifier", + "shape": "ConfiguredAudienceModelAssociationIdentifier" + } + }, + "required": [ + "collaborationIdentifier", + "configuredAudienceModelAssociationIdentifier" ], - "members":{ - "allowCleartext":{"shape":"Boolean"}, - "allowDuplicates":{"shape":"Boolean"}, - "allowJoinsOnColumnsWithDifferentNames":{"shape":"Boolean"}, - "preserveNulls":{"shape":"Boolean"} - } + "type": "structure" }, - "DeleteAnalysisTemplateInput":{ - "type":"structure", - "required":[ - "membershipIdentifier", - "analysisTemplateIdentifier" + "GetCollaborationConfiguredAudienceModelAssociationOutput": { + "members": { + "collaborationConfiguredAudienceModelAssociation": { + "shape": "CollaborationConfiguredAudienceModelAssociation" + } + }, + "required": [ + "collaborationConfiguredAudienceModelAssociation" ], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "type": "structure" + }, + "GetCollaborationIdNamespaceAssociationInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" }, - "analysisTemplateIdentifier":{ - "shape":"AnalysisTemplateIdentifier", - "location":"uri", - "locationName":"analysisTemplateIdentifier" + "idNamespaceAssociationIdentifier": { + "location": "uri", + "locationName": "idNamespaceAssociationIdentifier", + "shape": "IdNamespaceAssociationIdentifier" } - } - }, - "DeleteAnalysisTemplateOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteCollaborationInput":{ - "type":"structure", - "required":["collaborationIdentifier"], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" + }, + "required": [ + "collaborationIdentifier", + "idNamespaceAssociationIdentifier" + ], + "type": "structure" + }, + "GetCollaborationInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" } - } + }, + "required": [ + "collaborationIdentifier" + ], + "type": "structure" }, - "DeleteCollaborationOutput":{ - "type":"structure", - "members":{ - } + "GetCollaborationOutput": { + "members": { + "collaboration": { + "shape": "Collaboration" + } + }, + "required": [ + "collaboration" + ], + "type": "structure" + }, + "GetCollaborationPrivacyBudgetTemplateInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" + }, + "privacyBudgetTemplateIdentifier": { + "location": "uri", + "locationName": "privacyBudgetTemplateIdentifier", + "shape": "PrivacyBudgetTemplateIdentifier" + } + }, + "required": [ + "collaborationIdentifier", + "privacyBudgetTemplateIdentifier" + ], + "type": "structure" }, - "DeleteConfiguredAudienceModelAssociationInput":{ - "type":"structure", - "required":[ + "GetCollaborationPrivacyBudgetTemplateOutput": { + "members": { + "collaborationPrivacyBudgetTemplate": { + "shape": "CollaborationPrivacyBudgetTemplate" + } + }, + "required": [ + "collaborationPrivacyBudgetTemplate" + ], + "type": "structure" + }, + "GetConfiguredAudienceModelAssociationInput": { + "members": { + "configuredAudienceModelAssociationIdentifier": { + "location": "uri", + "locationName": "configuredAudienceModelAssociationIdentifier", + "shape": "ConfiguredAudienceModelAssociationIdentifier" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + } + }, + "required": [ "configuredAudienceModelAssociationIdentifier", "membershipIdentifier" ], - "members":{ - "configuredAudienceModelAssociationIdentifier":{ - "shape":"ConfiguredAudienceModelAssociationIdentifier", - "location":"uri", - "locationName":"configuredAudienceModelAssociationIdentifier" + "type": "structure" + }, + "GetConfiguredAudienceModelAssociationOutput": { + "members": { + "configuredAudienceModelAssociation": { + "shape": "ConfiguredAudienceModelAssociation" + } + }, + "required": [ + "configuredAudienceModelAssociation" + ], + "type": "structure" + }, + "GetConfiguredTableAnalysisRuleInput": { + "members": { + "analysisRuleType": { + "location": "uri", + "locationName": "analysisRuleType", + "shape": "ConfiguredTableAnalysisRuleType" }, - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "configuredTableIdentifier": { + "location": "uri", + "locationName": "configuredTableIdentifier", + "shape": "ConfiguredTableIdentifier" } - } - }, - "DeleteConfiguredAudienceModelAssociationOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteConfiguredTableAnalysisRuleInput":{ - "type":"structure", - "required":[ + }, + "required": [ "configuredTableIdentifier", "analysisRuleType" ], - "members":{ - "configuredTableIdentifier":{ - "shape":"ConfiguredTableIdentifier", - "location":"uri", - "locationName":"configuredTableIdentifier" + "type": "structure" + }, + "GetConfiguredTableAnalysisRuleOutput": { + "members": { + "analysisRule": { + "shape": "ConfiguredTableAnalysisRule" + } + }, + "required": [ + "analysisRule" + ], + "type": "structure" + }, + "GetConfiguredTableAssociationInput": { + "members": { + "configuredTableAssociationIdentifier": { + "location": "uri", + "locationName": "configuredTableAssociationIdentifier", + "shape": "ConfiguredTableAssociationIdentifier" }, - "analysisRuleType":{ - "shape":"ConfiguredTableAnalysisRuleType", - "location":"uri", - "locationName":"analysisRuleType" + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" } - } - }, - "DeleteConfiguredTableAnalysisRuleOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteConfiguredTableAssociationInput":{ - "type":"structure", - "required":[ + }, + "required": [ "configuredTableAssociationIdentifier", "membershipIdentifier" ], - "members":{ - "configuredTableAssociationIdentifier":{ - "shape":"ConfiguredTableAssociationIdentifier", - "location":"uri", - "locationName":"configuredTableAssociationIdentifier" - }, - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" - } - } + "type": "structure" }, - "DeleteConfiguredTableAssociationOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteConfiguredTableInput":{ - "type":"structure", - "required":["configuredTableIdentifier"], - "members":{ - "configuredTableIdentifier":{ - "shape":"ConfiguredTableIdentifier", - "location":"uri", - "locationName":"configuredTableIdentifier" + "GetConfiguredTableAssociationOutput": { + "members": { + "configuredTableAssociation": { + "shape": "ConfiguredTableAssociation" } - } - }, - "DeleteConfiguredTableOutput":{ - "type":"structure", - "members":{ - } + }, + "required": [ + "configuredTableAssociation" + ], + "type": "structure" + }, + "GetConfiguredTableInput": { + "members": { + "configuredTableIdentifier": { + "location": "uri", + "locationName": "configuredTableIdentifier", + "shape": "ConfiguredTableIdentifier" + } + }, + "required": [ + "configuredTableIdentifier" + ], + "type": "structure" }, - "DeleteMemberInput":{ - "type":"structure", - "required":[ - "collaborationIdentifier", - "accountId" + "GetConfiguredTableOutput": { + "members": { + "configuredTable": { + "shape": "ConfiguredTable" + } + }, + "required": [ + "configuredTable" ], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" + "type": "structure" + }, + "GetIdMappingTableInput": { + "members": { + "idMappingTableIdentifier": { + "location": "uri", + "locationName": "idMappingTableIdentifier", + "shape": "UUID" }, - "accountId":{ - "shape":"AccountId", - "location":"uri", - "locationName":"accountId" + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" } - } - }, - "DeleteMemberOutput":{ - "type":"structure", - "members":{ - } + }, + "required": [ + "idMappingTableIdentifier", + "membershipIdentifier" + ], + "type": "structure" }, - "DeleteMembershipInput":{ - "type":"structure", - "required":["membershipIdentifier"], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "GetIdMappingTableOutput": { + "members": { + "idMappingTable": { + "shape": "IdMappingTable" } - } - }, - "DeleteMembershipOutput":{ - "type":"structure", - "members":{ - } + }, + "required": [ + "idMappingTable" + ], + "type": "structure" + }, + "GetIdNamespaceAssociationInput": { + "members": { + "idNamespaceAssociationIdentifier": { + "location": "uri", + "locationName": "idNamespaceAssociationIdentifier", + "shape": "IdNamespaceAssociationIdentifier" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + } + }, + "required": [ + "idNamespaceAssociationIdentifier", + "membershipIdentifier" + ], + "type": "structure" + }, + "GetMembershipInput": { + "members": { + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + } + }, + "required": [ + "membershipIdentifier" + ], + "type": "structure" }, - "DeletePrivacyBudgetTemplateInput":{ - "type":"structure", - "required":[ + "GetMembershipOutput": { + "members": { + "membership": { + "shape": "Membership" + } + }, + "required": [ + "membership" + ], + "type": "structure" + }, + "GetPrivacyBudgetTemplateInput": { + "members": { + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "privacyBudgetTemplateIdentifier": { + "location": "uri", + "locationName": "privacyBudgetTemplateIdentifier", + "shape": "PrivacyBudgetTemplateIdentifier" + } + }, + "required": [ "membershipIdentifier", "privacyBudgetTemplateIdentifier" ], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "type": "structure" + }, + "GetPrivacyBudgetTemplateOutput": { + "members": { + "privacyBudgetTemplate": { + "shape": "PrivacyBudgetTemplate" + } + }, + "required": [ + "privacyBudgetTemplate" + ], + "type": "structure" + }, + "GetProtectedQueryInput": { + "members": { + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" }, - "privacyBudgetTemplateIdentifier":{ - "shape":"PrivacyBudgetTemplateIdentifier", - "location":"uri", - "locationName":"privacyBudgetTemplateIdentifier" + "protectedQueryIdentifier": { + "location": "uri", + "locationName": "protectedQueryIdentifier", + "shape": "ProtectedQueryIdentifier" } - } - }, - "DeletePrivacyBudgetTemplateOutput":{ - "type":"structure", - "members":{ - } - }, - "DifferentialPrivacyAggregationExpression":{ - "type":"string", - "min":1 - }, - "DifferentialPrivacyAggregationType":{ - "type":"string", - "enum":[ - "AVG", - "COUNT", - "COUNT_DISTINCT", - "SUM", - "STDDEV" - ] - }, - "DifferentialPrivacyColumn":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{"shape":"String"} - } - }, - "DifferentialPrivacyColumnList":{ - "type":"list", - "member":{"shape":"DifferentialPrivacyColumn"}, - "max":1, - "min":1 - }, - "DifferentialPrivacyConfiguration":{ - "type":"structure", - "required":["columns"], - "members":{ - "columns":{"shape":"DifferentialPrivacyColumnList"} - } + }, + "required": [ + "membershipIdentifier", + "protectedQueryIdentifier" + ], + "type": "structure" }, - "DifferentialPrivacyParameters":{ - "type":"structure", - "required":["sensitivityParameters"], - "members":{ - "sensitivityParameters":{"shape":"DifferentialPrivacySensitivityParametersList"} - } + "GetProtectedQueryOutput": { + "members": { + "protectedQuery": { + "shape": "ProtectedQuery" + } + }, + "required": [ + "protectedQuery" + ], + "type": "structure" + }, + "GetSchemaAnalysisRuleInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" + }, + "name": { + "location": "uri", + "locationName": "name", + "shape": "TableAlias" + }, + "type": { + "location": "uri", + "locationName": "type", + "shape": "AnalysisRuleType" + } + }, + "required": [ + "collaborationIdentifier", + "name", + "type" + ], + "type": "structure" }, - "DifferentialPrivacyPreviewAggregation":{ - "type":"structure", - "required":[ - "type", - "maxCount" + "GetSchemaAnalysisRuleOutput": { + "members": { + "analysisRule": { + "shape": "AnalysisRule" + } + }, + "required": [ + "analysisRule" ], - "members":{ - "type":{"shape":"DifferentialPrivacyAggregationType"}, - "maxCount":{"shape":"DifferentialPrivacyPreviewAggregationMaxCountInteger"} - } + "type": "structure" + }, + "GetSchemaInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" + }, + "name": { + "location": "uri", + "locationName": "name", + "shape": "TableAlias" + } + }, + "required": [ + "collaborationIdentifier", + "name" + ], + "type": "structure" }, - "DifferentialPrivacyPreviewAggregationList":{ - "type":"list", - "member":{"shape":"DifferentialPrivacyPreviewAggregation"} + "GetSchemaOutput": { + "members": { + "schema": { + "shape": "Schema" + } + }, + "required": [ + "schema" + ], + "type": "structure" + }, + "GlueDatabaseName": { + "max": 128, + "min": 0, + "pattern": "[a-zA-Z0-9_](([a-zA-Z0-9_]+-)*([a-zA-Z0-9_]+))?", + "type": "string" + }, + "GlueTableName": { + "max": 128, + "min": 0, + "pattern": "[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?", + "type": "string" + }, + "GlueTableReference": { + "members": { + "databaseName": { + "shape": "GlueDatabaseName" + }, + "tableName": { + "shape": "GlueTableName" + } + }, + "required": [ + "tableName", + "databaseName" + ], + "type": "structure" }, - "DifferentialPrivacyPreviewAggregationMaxCountInteger":{ - "type":"integer", - "box":true, - "min":0 + "IdMappingConfig": { + "members": { + "allowUseAsDimensionColumn": { + "shape": "Boolean" + } + }, + "required": [ + "allowUseAsDimensionColumn" + ], + "type": "structure" }, - "DifferentialPrivacyPreviewParametersInput":{ - "type":"structure", - "required":[ - "epsilon", - "usersNoisePerQuery" + "IdMappingTable": { + "members": { + "arn": { + "shape": "IdMappingTableArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "description": { + "shape": "ResourceDescription" + }, + "id": { + "shape": "UUID" + }, + "inputReferenceConfig": { + "shape": "IdMappingTableInputReferenceConfig" + }, + "inputReferenceProperties": { + "shape": "IdMappingTableInputReferenceProperties" + }, + "kmsKeyArn": { + "shape": "KMSKeyArn" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "UUID" + }, + "name": { + "shape": "ResourceAlias" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "id", + "arn", + "inputReferenceConfig", + "membershipId", + "membershipArn", + "collaborationId", + "collaborationArn", + "name", + "createTime", + "updateTime", + "inputReferenceProperties" ], - "members":{ - "epsilon":{"shape":"Epsilon"}, - "usersNoisePerQuery":{"shape":"UsersNoisePerQuery"} - } + "type": "structure" + }, + "IdMappingTableArn": { + "max": 200, + "min": 0, + "pattern": "arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+/idmappingtable/[\\d\\w-]+", + "type": "string" + }, + "IdMappingTableInputReferenceArn": { + "max": 2048, + "min": 20, + "pattern": "arn:(aws|aws-us-gov|aws-cn):entityresolution:.*:[0-9]+:(idmappingworkflow/.*)", + "type": "string" + }, + "IdMappingTableInputReferenceConfig": { + "members": { + "inputReferenceArn": { + "shape": "IdMappingTableInputReferenceArn" + }, + "manageResourcePolicies": { + "shape": "Boolean" + } + }, + "required": [ + "inputReferenceArn", + "manageResourcePolicies" + ], + "type": "structure" }, - "DifferentialPrivacyPrivacyBudget":{ - "type":"structure", - "required":[ - "aggregations", - "epsilon" + "IdMappingTableInputReferenceProperties": { + "members": { + "idMappingTableInputSource": { + "shape": "IdMappingTableInputSourceList" + } + }, + "required": [ + "idMappingTableInputSource" ], - "members":{ - "aggregations":{"shape":"DifferentialPrivacyPrivacyBudgetAggregationList"}, - "epsilon":{"shape":"Epsilon"} - } + "type": "structure" }, - "DifferentialPrivacyPrivacyBudgetAggregation":{ - "type":"structure", - "required":[ - "type", - "maxCount", - "remainingCount" + "IdMappingTableInputSource": { + "members": { + "idNamespaceAssociationId": { + "shape": "String" + }, + "type": { + "shape": "IdNamespaceType" + } + }, + "required": [ + "idNamespaceAssociationId", + "type" ], - "members":{ - "type":{"shape":"DifferentialPrivacyAggregationType"}, - "maxCount":{"shape":"DifferentialPrivacyPrivacyBudgetAggregationMaxCountInteger"}, - "remainingCount":{"shape":"DifferentialPrivacyPrivacyBudgetAggregationRemainingCountInteger"} - } + "type": "structure" }, - "DifferentialPrivacyPrivacyBudgetAggregationList":{ - "type":"list", - "member":{"shape":"DifferentialPrivacyPrivacyBudgetAggregation"} - }, - "DifferentialPrivacyPrivacyBudgetAggregationMaxCountInteger":{ - "type":"integer", - "box":true, - "min":0 - }, - "DifferentialPrivacyPrivacyBudgetAggregationRemainingCountInteger":{ - "type":"integer", - "box":true, - "min":0 - }, - "DifferentialPrivacyPrivacyImpact":{ - "type":"structure", - "required":["aggregations"], - "members":{ - "aggregations":{"shape":"DifferentialPrivacyPreviewAggregationList"} - } + "IdMappingTableInputSourceList": { + "max": 2, + "member": { + "shape": "IdMappingTableInputSource" + }, + "min": 2, + "type": "list" }, - "DifferentialPrivacySensitivityParameters":{ - "type":"structure", - "required":[ - "aggregationType", - "aggregationExpression", - "userContributionLimit" + "IdMappingTableSchemaTypeProperties": { + "members": { + "idMappingTableInputSource": { + "shape": "IdMappingTableInputSourceList" + } + }, + "required": [ + "idMappingTableInputSource" + ], + "type": "structure" + }, + "IdMappingTableSummary": { + "members": { + "arn": { + "shape": "IdMappingTableArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "description": { + "shape": "ResourceDescription" + }, + "id": { + "shape": "UUID" + }, + "inputReferenceConfig": { + "shape": "IdMappingTableInputReferenceConfig" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "MembershipIdentifier" + }, + "name": { + "shape": "ResourceAlias" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "collaborationArn", + "collaborationId", + "membershipId", + "membershipArn", + "createTime", + "updateTime", + "id", + "arn", + "inputReferenceConfig", + "name" ], - "members":{ - "aggregationType":{"shape":"DifferentialPrivacyAggregationType"}, - "aggregationExpression":{"shape":"DifferentialPrivacyAggregationExpression"}, - "userContributionLimit":{"shape":"DifferentialPrivacySensitivityParametersUserContributionLimitInteger"}, - "minColumnValue":{"shape":"Float"}, - "maxColumnValue":{"shape":"Float"} - } + "type": "structure" }, - "DifferentialPrivacySensitivityParametersList":{ - "type":"list", - "member":{"shape":"DifferentialPrivacySensitivityParameters"} - }, - "DifferentialPrivacySensitivityParametersUserContributionLimitInteger":{ - "type":"integer", - "box":true, - "min":0 + "IdMappingTableSummaryList": { + "member": { + "shape": "IdMappingTableSummary" + }, + "type": "list" + }, + "IdNamespaceAssociationArn": { + "max": 256, + "min": 0, + "pattern": "arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+/idnamespaceassociation/[\\d\\w-]+", + "type": "string" + }, + "IdNamespaceAssociationIdentifier": { + "max": 36, + "min": 36, + "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", + "type": "string" + }, + "IdNamespaceAssociationInputReferenceArn": { + "max": 256, + "min": 0, + "pattern": "arn:aws:entityresolution:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:idnamespace/[\\d\\w-]+", + "type": "string" + }, + "IdNamespaceAssociationInputReferenceConfig": { + "members": { + "inputReferenceArn": { + "shape": "IdNamespaceAssociationInputReferenceArn" + }, + "manageResourcePolicies": { + "shape": "Boolean" + } + }, + "required": [ + "inputReferenceArn", + "manageResourcePolicies" + ], + "type": "structure" }, - "DifferentialPrivacyTemplateParametersInput":{ - "type":"structure", - "required":[ - "epsilon", - "usersNoisePerQuery" + "IdNamespaceAssociationInputReferencePropertiesSummary": { + "members": { + "idNamespaceType": { + "shape": "IdNamespaceType" + } + }, + "required": [ + "idNamespaceType" ], - "members":{ - "epsilon":{"shape":"Epsilon"}, - "usersNoisePerQuery":{"shape":"UsersNoisePerQuery"} - } + "type": "structure" }, - "DifferentialPrivacyTemplateParametersOutput":{ - "type":"structure", - "required":[ - "epsilon", - "usersNoisePerQuery" + "IdNamespaceAssociationSummary": { + "members": { + "arn": { + "shape": "IdNamespaceAssociationArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "description": { + "shape": "ResourceDescription" + }, + "id": { + "shape": "UUID" + }, + "inputReferenceConfig": { + "shape": "IdNamespaceAssociationInputReferenceConfig" + }, + "inputReferenceProperties": { + "shape": "IdNamespaceAssociationInputReferencePropertiesSummary" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "MembershipIdentifier" + }, + "name": { + "shape": "GenericResourceName" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ + "membershipId", + "membershipArn", + "collaborationArn", + "collaborationId", + "createTime", + "updateTime", + "id", + "arn", + "inputReferenceConfig", + "name", + "inputReferenceProperties" ], - "members":{ - "epsilon":{"shape":"Epsilon"}, - "usersNoisePerQuery":{"shape":"UsersNoisePerQuery"} - } + "type": "structure" }, - "DifferentialPrivacyTemplateUpdateParameters":{ - "type":"structure", - "members":{ - "epsilon":{"shape":"Epsilon"}, - "usersNoisePerQuery":{"shape":"UsersNoisePerQuery"} - } + "IdNamespaceAssociationSummaryList": { + "member": { + "shape": "IdNamespaceAssociationSummary" + }, + "type": "list" }, - "DisplayName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*" - }, - "Double":{ - "type":"double", - "box":true - }, - "Epsilon":{ - "type":"integer", - "box":true, - "max":20, - "min":1 - }, - "FilterableMemberStatus":{ - "type":"string", - "enum":[ - "INVITED", - "ACTIVE" - ] + "IdNamespaceType": { + "enum": [ + "SOURCE", + "TARGET" + ], + "type": "string" }, - "Float":{ - "type":"float", - "box":true + "InternalServerException": { + "error": { + "httpStatusCode": 500 + }, + "exception": true, + "fault": true, + "members": { + "message": { + "shape": "String" + } + }, + "type": "structure" }, - "GetAnalysisTemplateInput":{ - "type":"structure", - "required":[ - "membershipIdentifier", - "analysisTemplateIdentifier" + "JoinOperator": { + "enum": [ + "OR", + "AND" ], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" - }, - "analysisTemplateIdentifier":{ - "shape":"AnalysisTemplateIdentifier", - "location":"uri", - "locationName":"analysisTemplateIdentifier" - } - } + "type": "string" }, - "GetAnalysisTemplateOutput":{ - "type":"structure", - "required":["analysisTemplate"], - "members":{ - "analysisTemplate":{"shape":"AnalysisTemplate"} - } + "JoinOperatorsList": { + "max": 2, + "member": { + "shape": "JoinOperator" + }, + "min": 0, + "type": "list" }, - "GetCollaborationAnalysisTemplateInput":{ - "type":"structure", - "required":[ - "collaborationIdentifier", - "analysisTemplateArn" + "JoinRequiredOption": { + "enum": [ + "QUERY_RUNNER" ], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" + "type": "string" + }, + "KMSKeyArn": { + "max": 2048, + "min": 20, + "pattern": "arn:aws:kms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:key/[a-zA-Z0-9-]+", + "type": "string" + }, + "KeyPrefix": { + "max": 512, + "min": 0, + "pattern": "[\\w!.=*/-]*", + "type": "string" + }, + "ListAnalysisTemplatesInput": { + "members": { + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" }, - "analysisTemplateArn":{ - "shape":"AnalysisTemplateArn", - "location":"uri", - "locationName":"analysisTemplateArn" + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" } - } - }, - "GetCollaborationAnalysisTemplateOutput":{ - "type":"structure", - "required":["collaborationAnalysisTemplate"], - "members":{ - "collaborationAnalysisTemplate":{"shape":"CollaborationAnalysisTemplate"} - } + }, + "required": [ + "membershipIdentifier" + ], + "type": "structure" }, - "GetCollaborationConfiguredAudienceModelAssociationInput":{ - "type":"structure", - "required":[ - "collaborationIdentifier", - "configuredAudienceModelAssociationIdentifier" + "ListAnalysisTemplatesOutput": { + "members": { + "analysisTemplateSummaries": { + "shape": "AnalysisTemplateSummaryList" + }, + "nextToken": { + "shape": "PaginationToken" + } + }, + "required": [ + "analysisTemplateSummaries" ], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" + "type": "structure" + }, + "ListCollaborationAnalysisTemplatesInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" }, - "configuredAudienceModelAssociationIdentifier":{ - "shape":"ConfiguredAudienceModelAssociationIdentifier", - "location":"uri", - "locationName":"configuredAudienceModelAssociationIdentifier" + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" } - } - }, - "GetCollaborationConfiguredAudienceModelAssociationOutput":{ - "type":"structure", - "required":["collaborationConfiguredAudienceModelAssociation"], - "members":{ - "collaborationConfiguredAudienceModelAssociation":{"shape":"CollaborationConfiguredAudienceModelAssociation"} - } + }, + "required": [ + "collaborationIdentifier" + ], + "type": "structure" }, - "GetCollaborationInput":{ - "type":"structure", - "required":["collaborationIdentifier"], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" + "ListCollaborationAnalysisTemplatesOutput": { + "members": { + "collaborationAnalysisTemplateSummaries": { + "shape": "CollaborationAnalysisTemplateSummaryList" + }, + "nextToken": { + "shape": "PaginationToken" } - } - }, - "GetCollaborationOutput":{ - "type":"structure", - "required":["collaboration"], - "members":{ - "collaboration":{"shape":"Collaboration"} - } - }, - "GetCollaborationPrivacyBudgetTemplateInput":{ - "type":"structure", - "required":[ - "collaborationIdentifier", - "privacyBudgetTemplateIdentifier" + }, + "required": [ + "collaborationAnalysisTemplateSummaries" ], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" + "type": "structure" + }, + "ListCollaborationConfiguredAudienceModelAssociationsInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" }, - "privacyBudgetTemplateIdentifier":{ - "shape":"PrivacyBudgetTemplateIdentifier", - "location":"uri", - "locationName":"privacyBudgetTemplateIdentifier" + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" } - } - }, - "GetCollaborationPrivacyBudgetTemplateOutput":{ - "type":"structure", - "required":["collaborationPrivacyBudgetTemplate"], - "members":{ - "collaborationPrivacyBudgetTemplate":{"shape":"CollaborationPrivacyBudgetTemplate"} - } - }, - "GetConfiguredAudienceModelAssociationInput":{ - "type":"structure", - "required":[ - "configuredAudienceModelAssociationIdentifier", - "membershipIdentifier" + }, + "required": [ + "collaborationIdentifier" ], - "members":{ - "configuredAudienceModelAssociationIdentifier":{ - "shape":"ConfiguredAudienceModelAssociationIdentifier", - "location":"uri", - "locationName":"configuredAudienceModelAssociationIdentifier" + "type": "structure" + }, + "ListCollaborationConfiguredAudienceModelAssociationsOutput": { + "members": { + "collaborationConfiguredAudienceModelAssociationSummaries": { + "shape": "CollaborationConfiguredAudienceModelAssociationSummaryList" }, - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "nextToken": { + "shape": "PaginationToken" } - } - }, - "GetConfiguredAudienceModelAssociationOutput":{ - "type":"structure", - "required":["configuredAudienceModelAssociation"], - "members":{ - "configuredAudienceModelAssociation":{"shape":"ConfiguredAudienceModelAssociation"} - } - }, - "GetConfiguredTableAnalysisRuleInput":{ - "type":"structure", - "required":[ - "configuredTableIdentifier", - "analysisRuleType" + }, + "required": [ + "collaborationConfiguredAudienceModelAssociationSummaries" ], - "members":{ - "configuredTableIdentifier":{ - "shape":"ConfiguredTableIdentifier", - "location":"uri", - "locationName":"configuredTableIdentifier" + "type": "structure" + }, + "ListCollaborationIdNamespaceAssociationsInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" }, - "analysisRuleType":{ - "shape":"ConfiguredTableAnalysisRuleType", - "location":"uri", - "locationName":"analysisRuleType" + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" } - } - }, - "GetConfiguredTableAnalysisRuleOutput":{ - "type":"structure", - "required":["analysisRule"], - "members":{ - "analysisRule":{"shape":"ConfiguredTableAnalysisRule"} - } - }, - "GetConfiguredTableAssociationInput":{ - "type":"structure", - "required":[ - "configuredTableAssociationIdentifier", - "membershipIdentifier" + }, + "required": [ + "collaborationIdentifier" ], - "members":{ - "configuredTableAssociationIdentifier":{ - "shape":"ConfiguredTableAssociationIdentifier", - "location":"uri", - "locationName":"configuredTableAssociationIdentifier" + "type": "structure" + }, + "ListCollaborationIdNamespaceAssociationsOutput": { + "members": { + "collaborationIdNamespaceAssociationSummaries": { + "shape": "CollaborationIdNamespaceAssociationSummaryList" }, - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "nextToken": { + "shape": "PaginationToken" } - } - }, - "GetConfiguredTableAssociationOutput":{ - "type":"structure", - "required":["configuredTableAssociation"], - "members":{ - "configuredTableAssociation":{"shape":"ConfiguredTableAssociation"} - } - }, - "GetConfiguredTableInput":{ - "type":"structure", - "required":["configuredTableIdentifier"], - "members":{ - "configuredTableIdentifier":{ - "shape":"ConfiguredTableIdentifier", - "location":"uri", - "locationName":"configuredTableIdentifier" + }, + "required": [ + "collaborationIdNamespaceAssociationSummaries" + ], + "type": "structure" + }, + "ListCollaborationPrivacyBudgetTemplatesInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" + }, + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" } - } - }, - "GetConfiguredTableOutput":{ - "type":"structure", - "required":["configuredTable"], - "members":{ - "configuredTable":{"shape":"ConfiguredTable"} - } + }, + "required": [ + "collaborationIdentifier" + ], + "type": "structure" }, - "GetMembershipInput":{ - "type":"structure", - "required":["membershipIdentifier"], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "ListCollaborationPrivacyBudgetTemplatesOutput": { + "members": { + "collaborationPrivacyBudgetTemplateSummaries": { + "shape": "CollaborationPrivacyBudgetTemplateSummaryList" + }, + "nextToken": { + "shape": "PaginationToken" } - } - }, - "GetMembershipOutput":{ - "type":"structure", - "required":["membership"], - "members":{ - "membership":{"shape":"Membership"} - } - }, - "GetPrivacyBudgetTemplateInput":{ - "type":"structure", - "required":[ - "membershipIdentifier", - "privacyBudgetTemplateIdentifier" + }, + "required": [ + "collaborationPrivacyBudgetTemplateSummaries" ], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "type": "structure" + }, + "ListCollaborationPrivacyBudgetsInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" }, - "privacyBudgetTemplateIdentifier":{ - "shape":"PrivacyBudgetTemplateIdentifier", - "location":"uri", - "locationName":"privacyBudgetTemplateIdentifier" + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" + }, + "privacyBudgetType": { + "location": "querystring", + "locationName": "privacyBudgetType", + "shape": "PrivacyBudgetType" } - } - }, - "GetPrivacyBudgetTemplateOutput":{ - "type":"structure", - "required":["privacyBudgetTemplate"], - "members":{ - "privacyBudgetTemplate":{"shape":"PrivacyBudgetTemplate"} - } + }, + "required": [ + "collaborationIdentifier", + "privacyBudgetType" + ], + "type": "structure" }, - "GetProtectedQueryInput":{ - "type":"structure", - "required":[ - "membershipIdentifier", - "protectedQueryIdentifier" + "ListCollaborationPrivacyBudgetsOutput": { + "members": { + "collaborationPrivacyBudgetSummaries": { + "shape": "CollaborationPrivacyBudgetSummaryList" + }, + "nextToken": { + "shape": "PaginationToken" + } + }, + "required": [ + "collaborationPrivacyBudgetSummaries" ], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "type": "structure" + }, + "ListCollaborationsInput": { + "members": { + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" }, - "protectedQueryIdentifier":{ - "shape":"ProtectedQueryIdentifier", - "location":"uri", - "locationName":"protectedQueryIdentifier" + "memberStatus": { + "location": "querystring", + "locationName": "memberStatus", + "shape": "FilterableMemberStatus" + }, + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" } - } - }, - "GetProtectedQueryOutput":{ - "type":"structure", - "required":["protectedQuery"], - "members":{ - "protectedQuery":{"shape":"ProtectedQuery"} - } + }, + "type": "structure" }, - "GetSchemaAnalysisRuleInput":{ - "type":"structure", - "required":[ - "collaborationIdentifier", - "name", - "type" + "ListCollaborationsOutput": { + "members": { + "collaborationList": { + "shape": "CollaborationSummaryList" + }, + "nextToken": { + "shape": "PaginationToken" + } + }, + "required": [ + "collaborationList" ], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" + "type": "structure" + }, + "ListConfiguredAudienceModelAssociationsInput": { + "members": { + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" }, - "name":{ - "shape":"TableAlias", - "location":"uri", - "locationName":"name" + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" }, - "type":{ - "shape":"AnalysisRuleType", - "location":"uri", - "locationName":"type" + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" } - } - }, - "GetSchemaAnalysisRuleOutput":{ - "type":"structure", - "required":["analysisRule"], - "members":{ - "analysisRule":{"shape":"AnalysisRule"} - } + }, + "required": [ + "membershipIdentifier" + ], + "type": "structure" }, - "GetSchemaInput":{ - "type":"structure", - "required":[ - "collaborationIdentifier", - "name" + "ListConfiguredAudienceModelAssociationsOutput": { + "members": { + "configuredAudienceModelAssociationSummaries": { + "shape": "ConfiguredAudienceModelAssociationSummaryList" + }, + "nextToken": { + "shape": "PaginationToken" + } + }, + "required": [ + "configuredAudienceModelAssociationSummaries" ], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" + "type": "structure" + }, + "ListConfiguredTableAssociationsInput": { + "members": { + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" }, - "name":{ - "shape":"TableAlias", - "location":"uri", - "locationName":"name" + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" } - } - }, - "GetSchemaOutput":{ - "type":"structure", - "required":["schema"], - "members":{ - "schema":{"shape":"Schema"} - } - }, - "GlueDatabaseName":{ - "type":"string", - "max":128, - "min":0, - "pattern":"[a-zA-Z0-9_](([a-zA-Z0-9_]+-)*([a-zA-Z0-9_]+))?" - }, - "GlueTableName":{ - "type":"string", - "max":128, - "min":0, - "pattern":"[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?" - }, - "GlueTableReference":{ - "type":"structure", - "required":[ - "tableName", - "databaseName" + }, + "required": [ + "membershipIdentifier" ], - "members":{ - "tableName":{"shape":"GlueTableName"}, - "databaseName":{"shape":"GlueDatabaseName"} - } + "type": "structure" }, - "InternalServerException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} + "ListConfiguredTableAssociationsOutput": { + "members": { + "configuredTableAssociationSummaries": { + "shape": "ConfiguredTableAssociationSummaryList" + }, + "nextToken": { + "shape": "PaginationToken" + } }, - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true - }, - "JoinOperator":{ - "type":"string", - "enum":[ - "OR", - "AND" - ] - }, - "JoinOperatorsList":{ - "type":"list", - "member":{"shape":"JoinOperator"}, - "max":2, - "min":0 - }, - "JoinRequiredOption":{ - "type":"string", - "enum":["QUERY_RUNNER"] - }, - "KeyPrefix":{ - "type":"string", - "max":512, - "min":0, - "pattern":"[\\w!.=*/-]*" - }, - "ListAnalysisTemplatesInput":{ - "type":"structure", - "required":["membershipIdentifier"], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" - }, - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" + "required": [ + "configuredTableAssociationSummaries" + ], + "type": "structure" + }, + "ListConfiguredTablesInput": { + "members": { + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" } - } - }, - "ListAnalysisTemplatesOutput":{ - "type":"structure", - "required":["analysisTemplateSummaries"], - "members":{ - "nextToken":{"shape":"PaginationToken"}, - "analysisTemplateSummaries":{"shape":"AnalysisTemplateSummaryList"} - } + }, + "type": "structure" }, - "ListCollaborationAnalysisTemplatesInput":{ - "type":"structure", - "required":["collaborationIdentifier"], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" - }, - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" + "ListConfiguredTablesOutput": { + "members": { + "configuredTableSummaries": { + "shape": "ConfiguredTableSummaryList" + }, + "nextToken": { + "shape": "PaginationToken" } - } - }, - "ListCollaborationAnalysisTemplatesOutput":{ - "type":"structure", - "required":["collaborationAnalysisTemplateSummaries"], - "members":{ - "nextToken":{"shape":"PaginationToken"}, - "collaborationAnalysisTemplateSummaries":{"shape":"CollaborationAnalysisTemplateSummaryList"} - } - }, - "ListCollaborationConfiguredAudienceModelAssociationsInput":{ - "type":"structure", - "required":["collaborationIdentifier"], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" - }, - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" + }, + "required": [ + "configuredTableSummaries" + ], + "type": "structure" + }, + "ListIdMappingTablesInput": { + "members": { + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" } - } - }, - "ListCollaborationConfiguredAudienceModelAssociationsOutput":{ - "type":"structure", - "required":["collaborationConfiguredAudienceModelAssociationSummaries"], - "members":{ - "collaborationConfiguredAudienceModelAssociationSummaries":{"shape":"CollaborationConfiguredAudienceModelAssociationSummaryList"}, - "nextToken":{"shape":"PaginationToken"} - } + }, + "required": [ + "membershipIdentifier" + ], + "type": "structure" }, - "ListCollaborationPrivacyBudgetTemplatesInput":{ - "type":"structure", - "required":["collaborationIdentifier"], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" - }, - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" + "ListIdMappingTablesOutput": { + "members": { + "idMappingTableSummaries": { + "shape": "IdMappingTableSummaryList" + }, + "nextToken": { + "shape": "PaginationToken" } - } - }, - "ListCollaborationPrivacyBudgetTemplatesOutput":{ - "type":"structure", - "required":["collaborationPrivacyBudgetTemplateSummaries"], - "members":{ - "nextToken":{"shape":"PaginationToken"}, - "collaborationPrivacyBudgetTemplateSummaries":{"shape":"CollaborationPrivacyBudgetTemplateSummaryList"} - } - }, - "ListCollaborationPrivacyBudgetsInput":{ - "type":"structure", - "required":[ - "collaborationIdentifier", - "privacyBudgetType" + }, + "required": [ + "idMappingTableSummaries" ], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" + "type": "structure" + }, + "ListIdNamespaceAssociationsInput": { + "members": { + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" }, - "privacyBudgetType":{ - "shape":"PrivacyBudgetType", - "location":"querystring", - "locationName":"privacyBudgetType" + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" - }, - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" } - } - }, - "ListCollaborationPrivacyBudgetsOutput":{ - "type":"structure", - "required":["collaborationPrivacyBudgetSummaries"], - "members":{ - "collaborationPrivacyBudgetSummaries":{"shape":"CollaborationPrivacyBudgetSummaryList"}, - "nextToken":{"shape":"PaginationToken"} - } + }, + "required": [ + "membershipIdentifier" + ], + "type": "structure" }, - "ListCollaborationsInput":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" + "ListIdNamespaceAssociationsOutput": { + "members": { + "idNamespaceAssociationSummaries": { + "shape": "IdNamespaceAssociationSummaryList" + }, + "nextToken": { + "shape": "PaginationToken" + } + }, + "required": [ + "idNamespaceAssociationSummaries" + ], + "type": "structure" + }, + "ListMembersInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" }, - "memberStatus":{ - "shape":"FilterableMemberStatus", - "location":"querystring", - "locationName":"memberStatus" + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" } - } - }, - "ListCollaborationsOutput":{ - "type":"structure", - "required":["collaborationList"], - "members":{ - "nextToken":{"shape":"PaginationToken"}, - "collaborationList":{"shape":"CollaborationSummaryList"} - } + }, + "required": [ + "collaborationIdentifier" + ], + "type": "structure" }, - "ListConfiguredAudienceModelAssociationsInput":{ - "type":"structure", - "required":["membershipIdentifier"], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" - }, - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" + "ListMembersOutput": { + "members": { + "memberSummaries": { + "shape": "MemberSummaryList" + }, + "nextToken": { + "shape": "PaginationToken" } - } - }, - "ListConfiguredAudienceModelAssociationsOutput":{ - "type":"structure", - "required":["configuredAudienceModelAssociationSummaries"], - "members":{ - "configuredAudienceModelAssociationSummaries":{"shape":"ConfiguredAudienceModelAssociationSummaryList"}, - "nextToken":{"shape":"PaginationToken"} - } - }, - "ListConfiguredTableAssociationsInput":{ - "type":"structure", - "required":["membershipIdentifier"], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" - }, - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" + }, + "required": [ + "memberSummaries" + ], + "type": "structure" + }, + "ListMembershipsInput": { + "members": { + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" + }, + "status": { + "location": "querystring", + "locationName": "status", + "shape": "MembershipStatus" } - } + }, + "type": "structure" }, - "ListConfiguredTableAssociationsOutput":{ - "type":"structure", - "required":["configuredTableAssociationSummaries"], - "members":{ - "configuredTableAssociationSummaries":{"shape":"ConfiguredTableAssociationSummaryList"}, - "nextToken":{"shape":"PaginationToken"} - } + "ListMembershipsOutput": { + "members": { + "membershipSummaries": { + "shape": "MembershipSummaryList" + }, + "nextToken": { + "shape": "PaginationToken" + } + }, + "required": [ + "membershipSummaries" + ], + "type": "structure" + }, + "ListPrivacyBudgetTemplatesInput": { + "members": { + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" + } + }, + "required": [ + "membershipIdentifier" + ], + "type": "structure" }, - "ListConfiguredTablesInput":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" + "ListPrivacyBudgetTemplatesOutput": { + "members": { + "nextToken": { + "shape": "PaginationToken" + }, + "privacyBudgetTemplateSummaries": { + "shape": "PrivacyBudgetTemplateSummaryList" + } + }, + "required": [ + "privacyBudgetTemplateSummaries" + ], + "type": "structure" + }, + "ListPrivacyBudgetsInput": { + "members": { + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" + "privacyBudgetType": { + "location": "querystring", + "locationName": "privacyBudgetType", + "shape": "PrivacyBudgetType" } - } - }, - "ListConfiguredTablesOutput":{ - "type":"structure", - "required":["configuredTableSummaries"], - "members":{ - "configuredTableSummaries":{"shape":"ConfiguredTableSummaryList"}, - "nextToken":{"shape":"PaginationToken"} - } + }, + "required": [ + "membershipIdentifier", + "privacyBudgetType" + ], + "type": "structure" }, - "ListMembersInput":{ - "type":"structure", - "required":["collaborationIdentifier"], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" - }, - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" + "ListPrivacyBudgetsOutput": { + "members": { + "nextToken": { + "shape": "PaginationToken" + }, + "privacyBudgetSummaries": { + "shape": "PrivacyBudgetSummaryList" } - } - }, - "ListMembersOutput":{ - "type":"structure", - "required":["memberSummaries"], - "members":{ - "nextToken":{"shape":"PaginationToken"}, - "memberSummaries":{"shape":"MemberSummaryList"} - } - }, - "ListMembershipsInput":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" + }, + "required": [ + "privacyBudgetSummaries" + ], + "type": "structure" + }, + "ListProtectedQueriesInput": { + "members": { + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" }, - "status":{ - "shape":"MembershipStatus", - "location":"querystring", - "locationName":"status" + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" + }, + "status": { + "location": "querystring", + "locationName": "status", + "shape": "ProtectedQueryStatus" } - } - }, - "ListMembershipsOutput":{ - "type":"structure", - "required":["membershipSummaries"], - "members":{ - "nextToken":{"shape":"PaginationToken"}, - "membershipSummaries":{"shape":"MembershipSummaryList"} - } + }, + "required": [ + "membershipIdentifier" + ], + "type": "structure" }, - "ListPrivacyBudgetTemplatesInput":{ - "type":"structure", - "required":["membershipIdentifier"], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" - }, - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" + "ListProtectedQueriesOutput": { + "members": { + "nextToken": { + "shape": "PaginationToken" + }, + "protectedQueries": { + "shape": "ProtectedQuerySummaryList" } - } - }, - "ListPrivacyBudgetTemplatesOutput":{ - "type":"structure", - "required":["privacyBudgetTemplateSummaries"], - "members":{ - "nextToken":{"shape":"PaginationToken"}, - "privacyBudgetTemplateSummaries":{"shape":"PrivacyBudgetTemplateSummaryList"} - } - }, - "ListPrivacyBudgetsInput":{ - "type":"structure", - "required":[ - "membershipIdentifier", - "privacyBudgetType" + }, + "required": [ + "protectedQueries" ], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "type": "structure" + }, + "ListSchemasInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" }, - "privacyBudgetType":{ - "shape":"PrivacyBudgetType", - "location":"querystring", - "locationName":"privacyBudgetType" + "maxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" }, - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" + "nextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "PaginationToken" }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" + "schemaType": { + "location": "querystring", + "locationName": "schemaType", + "shape": "SchemaType" } - } - }, - "ListPrivacyBudgetsOutput":{ - "type":"structure", - "required":["privacyBudgetSummaries"], - "members":{ - "privacyBudgetSummaries":{"shape":"PrivacyBudgetSummaryList"}, - "nextToken":{"shape":"PaginationToken"} - } + }, + "required": [ + "collaborationIdentifier" + ], + "type": "structure" }, - "ListProtectedQueriesInput":{ - "type":"structure", - "required":["membershipIdentifier"], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" - }, - "status":{ - "shape":"ProtectedQueryStatus", - "location":"querystring", - "locationName":"status" - }, - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" + "ListSchemasOutput": { + "members": { + "nextToken": { + "shape": "PaginationToken" + }, + "schemaSummaries": { + "shape": "SchemaSummaryList" } - } - }, - "ListProtectedQueriesOutput":{ - "type":"structure", - "required":["protectedQueries"], - "members":{ - "nextToken":{"shape":"PaginationToken"}, - "protectedQueries":{"shape":"ProtectedQuerySummaryList"} - } - }, - "ListSchemasInput":{ - "type":"structure", - "required":["collaborationIdentifier"], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" - }, - "schemaType":{ - "shape":"SchemaType", - "location":"querystring", - "locationName":"schemaType" - }, - "nextToken":{ - "shape":"PaginationToken", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" + }, + "required": [ + "schemaSummaries" + ], + "type": "structure" + }, + "ListTagsForResourceInput": { + "members": { + "resourceArn": { + "location": "uri", + "locationName": "resourceArn", + "shape": "CleanroomsArn" } - } - }, - "ListSchemasOutput":{ - "type":"structure", - "required":["schemaSummaries"], - "members":{ - "schemaSummaries":{"shape":"SchemaSummaryList"}, - "nextToken":{"shape":"PaginationToken"} - } + }, + "required": [ + "resourceArn" + ], + "type": "structure" }, - "ListTagsForResourceInput":{ - "type":"structure", - "required":["resourceArn"], - "members":{ - "resourceArn":{ - "shape":"CleanroomsArn", - "location":"uri", - "locationName":"resourceArn" + "ListTagsForResourceOutput": { + "members": { + "tags": { + "shape": "TagMap" } - } - }, - "ListTagsForResourceOutput":{ - "type":"structure", - "required":["tags"], - "members":{ - "tags":{"shape":"TagMap"} - } + }, + "required": [ + "tags" + ], + "type": "structure" }, - "Long":{ - "type":"long", - "box":true + "Long": { + "box": true, + "type": "long" }, - "MaxResults":{ - "type":"integer", - "box":true, - "max":100, - "min":1 + "MaxResults": { + "box": true, + "max": 100, + "min": 1, + "type": "integer" }, - "MemberAbilities":{ - "type":"list", - "member":{"shape":"MemberAbility"} + "MemberAbilities": { + "member": { + "shape": "MemberAbility" + }, + "type": "list" }, - "MemberAbility":{ - "type":"string", - "enum":[ + "MemberAbility": { + "enum": [ "CAN_QUERY", "CAN_RECEIVE_RESULTS" - ] + ], + "type": "string" }, - "MemberList":{ - "type":"list", - "member":{"shape":"MemberSpecification"}, - "max":9, - "min":0 + "MemberList": { + "max": 9, + "member": { + "shape": "MemberSpecification" + }, + "min": 0, + "type": "list" }, - "MemberSpecification":{ - "type":"structure", - "required":[ + "MemberSpecification": { + "members": { + "accountId": { + "shape": "AccountId" + }, + "displayName": { + "shape": "DisplayName" + }, + "memberAbilities": { + "shape": "MemberAbilities" + }, + "paymentConfiguration": { + "shape": "PaymentConfiguration" + } + }, + "required": [ "accountId", "memberAbilities", "displayName" ], - "members":{ - "accountId":{"shape":"AccountId"}, - "memberAbilities":{"shape":"MemberAbilities"}, - "displayName":{"shape":"DisplayName"}, - "paymentConfiguration":{"shape":"PaymentConfiguration"} - } + "type": "structure" }, - "MemberStatus":{ - "type":"string", - "enum":[ + "MemberStatus": { + "enum": [ "INVITED", "ACTIVE", "LEFT", "REMOVED" - ] + ], + "type": "string" }, - "MemberSummary":{ - "type":"structure", - "required":[ + "MemberSummary": { + "members": { + "abilities": { + "shape": "MemberAbilities" + }, + "accountId": { + "shape": "AccountId" + }, + "createTime": { + "shape": "Timestamp" + }, + "displayName": { + "shape": "DisplayName" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "UUID" + }, + "paymentConfiguration": { + "shape": "PaymentConfiguration" + }, + "status": { + "shape": "MemberStatus" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ "accountId", "status", "displayName", @@ -3778,25 +6660,60 @@ "updateTime", "paymentConfiguration" ], - "members":{ - "accountId":{"shape":"AccountId"}, - "status":{"shape":"MemberStatus"}, - "displayName":{"shape":"DisplayName"}, - "abilities":{"shape":"MemberAbilities"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "membershipId":{"shape":"UUID"}, - "membershipArn":{"shape":"MembershipArn"}, - "paymentConfiguration":{"shape":"PaymentConfiguration"} - } + "type": "structure" }, - "MemberSummaryList":{ - "type":"list", - "member":{"shape":"MemberSummary"} + "MemberSummaryList": { + "member": { + "shape": "MemberSummary" + }, + "type": "list" }, - "Membership":{ - "type":"structure", - "required":[ + "Membership": { + "members": { + "arn": { + "shape": "MembershipArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationCreatorAccountId": { + "shape": "AccountId" + }, + "collaborationCreatorDisplayName": { + "shape": "DisplayName" + }, + "collaborationId": { + "shape": "UUID" + }, + "collaborationName": { + "shape": "CollaborationName" + }, + "createTime": { + "shape": "Timestamp" + }, + "defaultResultConfiguration": { + "shape": "MembershipProtectedQueryResultConfiguration" + }, + "id": { + "shape": "UUID" + }, + "memberAbilities": { + "shape": "MemberAbilities" + }, + "paymentConfiguration": { + "shape": "MembershipPaymentConfiguration" + }, + "queryLogStatus": { + "shape": "MembershipQueryLogStatus" + }, + "status": { + "shape": "MembershipStatus" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ "id", "arn", "collaborationArn", @@ -3811,82 +6728,120 @@ "queryLogStatus", "paymentConfiguration" ], - "members":{ - "id":{"shape":"UUID"}, - "arn":{"shape":"MembershipArn"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "collaborationId":{"shape":"UUID"}, - "collaborationCreatorAccountId":{"shape":"AccountId"}, - "collaborationCreatorDisplayName":{"shape":"DisplayName"}, - "collaborationName":{"shape":"CollaborationName"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "status":{"shape":"MembershipStatus"}, - "memberAbilities":{"shape":"MemberAbilities"}, - "queryLogStatus":{"shape":"MembershipQueryLogStatus"}, - "defaultResultConfiguration":{"shape":"MembershipProtectedQueryResultConfiguration"}, - "paymentConfiguration":{"shape":"MembershipPaymentConfiguration"} - } - }, - "MembershipArn":{ - "type":"string", - "max":100, - "min":0, - "pattern":"arn:aws:[\\w]+:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+" - }, - "MembershipIdentifier":{ - "type":"string", - "max":36, - "min":36, - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "MembershipPaymentConfiguration":{ - "type":"structure", - "required":["queryCompute"], - "members":{ - "queryCompute":{"shape":"MembershipQueryComputePaymentConfig"} - } + "type": "structure" + }, + "MembershipArn": { + "max": 100, + "min": 0, + "pattern": "arn:aws:[\\w]+:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+", + "type": "string" + }, + "MembershipIdentifier": { + "max": 36, + "min": 36, + "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", + "type": "string" + }, + "MembershipPaymentConfiguration": { + "members": { + "queryCompute": { + "shape": "MembershipQueryComputePaymentConfig" + } + }, + "required": [ + "queryCompute" + ], + "type": "structure" }, - "MembershipProtectedQueryOutputConfiguration":{ - "type":"structure", - "members":{ - "s3":{"shape":"ProtectedQueryS3OutputConfiguration"} + "MembershipProtectedQueryOutputConfiguration": { + "members": { + "s3": { + "shape": "ProtectedQueryS3OutputConfiguration" + } }, - "union":true + "type": "structure", + "union": true }, - "MembershipProtectedQueryResultConfiguration":{ - "type":"structure", - "required":["outputConfiguration"], - "members":{ - "outputConfiguration":{"shape":"MembershipProtectedQueryOutputConfiguration"}, - "roleArn":{"shape":"RoleArn"} - } + "MembershipProtectedQueryResultConfiguration": { + "members": { + "outputConfiguration": { + "shape": "MembershipProtectedQueryOutputConfiguration" + }, + "roleArn": { + "shape": "RoleArn" + } + }, + "required": [ + "outputConfiguration" + ], + "type": "structure" }, - "MembershipQueryComputePaymentConfig":{ - "type":"structure", - "required":["isResponsible"], - "members":{ - "isResponsible":{"shape":"Boolean"} - } + "MembershipQueryComputePaymentConfig": { + "members": { + "isResponsible": { + "shape": "Boolean" + } + }, + "required": [ + "isResponsible" + ], + "type": "structure" }, - "MembershipQueryLogStatus":{ - "type":"string", - "enum":[ + "MembershipQueryLogStatus": { + "enum": [ "ENABLED", "DISABLED" - ] + ], + "type": "string" }, - "MembershipStatus":{ - "type":"string", - "enum":[ + "MembershipStatus": { + "enum": [ "ACTIVE", "REMOVED", "COLLABORATION_DELETED" - ] + ], + "type": "string" }, - "MembershipSummary":{ - "type":"structure", - "required":[ + "MembershipSummary": { + "members": { + "arn": { + "shape": "MembershipArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationCreatorAccountId": { + "shape": "AccountId" + }, + "collaborationCreatorDisplayName": { + "shape": "DisplayName" + }, + "collaborationId": { + "shape": "CollaborationIdentifier" + }, + "collaborationName": { + "shape": "CollaborationName" + }, + "createTime": { + "shape": "Timestamp" + }, + "id": { + "shape": "UUID" + }, + "memberAbilities": { + "shape": "MemberAbilities" + }, + "paymentConfiguration": { + "shape": "MembershipPaymentConfiguration" + }, + "status": { + "shape": "MembershipStatus" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ "id", "arn", "collaborationArn", @@ -3900,44 +6855,36 @@ "memberAbilities", "paymentConfiguration" ], - "members":{ - "id":{"shape":"UUID"}, - "arn":{"shape":"MembershipArn"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "collaborationId":{"shape":"CollaborationIdentifier"}, - "collaborationCreatorAccountId":{"shape":"AccountId"}, - "collaborationCreatorDisplayName":{"shape":"DisplayName"}, - "collaborationName":{"shape":"CollaborationName"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "status":{"shape":"MembershipStatus"}, - "memberAbilities":{"shape":"MemberAbilities"}, - "paymentConfiguration":{"shape":"MembershipPaymentConfiguration"} + "type": "structure" + }, + "MembershipSummaryList": { + "member": { + "shape": "MembershipSummary" + }, + "type": "list" + }, + "PaginationToken": { + "max": 10240, + "min": 0, + "type": "string" + }, + "ParameterMap": { + "key": { + "shape": "ParameterName" + }, + "type": "map", + "value": { + "shape": "ParameterValue" } }, - "MembershipSummaryList":{ - "type":"list", - "member":{"shape":"MembershipSummary"} - }, - "PaginationToken":{ - "type":"string", - "max":10240, - "min":0 - }, - "ParameterMap":{ - "type":"map", - "key":{"shape":"ParameterName"}, - "value":{"shape":"ParameterValue"} - }, - "ParameterName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[0-9a-zA-Z_]+" - }, - "ParameterType":{ - "type":"string", - "enum":[ + "ParameterName": { + "max": 100, + "min": 1, + "pattern": "[0-9a-zA-Z_]+", + "type": "string" + }, + "ParameterType": { + "enum": [ "SMALLINT", "INTEGER", "BIGINT", @@ -3953,59 +6900,138 @@ "TIME", "TIMETZ", "VARBYTE" - ] - }, - "ParameterValue":{ - "type":"string", - "max":250, - "min":0 - }, - "PaymentConfiguration":{ - "type":"structure", - "required":["queryCompute"], - "members":{ - "queryCompute":{"shape":"QueryComputePaymentConfig"} - } + ], + "type": "string" }, - "PreviewPrivacyImpactInput":{ - "type":"structure", - "required":[ + "ParameterValue": { + "max": 250, + "min": 0, + "type": "string" + }, + "PaymentConfiguration": { + "members": { + "queryCompute": { + "shape": "QueryComputePaymentConfig" + } + }, + "required": [ + "queryCompute" + ], + "type": "structure" + }, + "PopulateIdMappingTableInput": { + "members": { + "idMappingTableIdentifier": { + "location": "uri", + "locationName": "idMappingTableIdentifier", + "shape": "UUID" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + } + }, + "required": [ + "idMappingTableIdentifier", + "membershipIdentifier" + ], + "type": "structure" + }, + "PopulateIdMappingTableOutput": { + "members": { + "idMappingJobId": { + "shape": "UUID" + } + }, + "required": [ + "idMappingJobId" + ], + "type": "structure" + }, + "PreviewPrivacyImpactInput": { + "members": { + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "parameters": { + "shape": "PreviewPrivacyImpactParametersInput" + } + }, + "required": [ "membershipIdentifier", "parameters" ], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" - }, - "parameters":{"shape":"PreviewPrivacyImpactParametersInput"} - } + "type": "structure" }, - "PreviewPrivacyImpactOutput":{ - "type":"structure", - "required":["privacyImpact"], - "members":{ - "privacyImpact":{"shape":"PrivacyImpact"} - } + "PreviewPrivacyImpactOutput": { + "members": { + "privacyImpact": { + "shape": "PrivacyImpact" + } + }, + "required": [ + "privacyImpact" + ], + "type": "structure" }, - "PreviewPrivacyImpactParametersInput":{ - "type":"structure", - "members":{ - "differentialPrivacy":{"shape":"DifferentialPrivacyPreviewParametersInput"} + "PreviewPrivacyImpactParametersInput": { + "members": { + "differentialPrivacy": { + "shape": "DifferentialPrivacyPreviewParametersInput" + } }, - "union":true + "type": "structure", + "union": true }, - "PrivacyBudget":{ - "type":"structure", - "members":{ - "differentialPrivacy":{"shape":"DifferentialPrivacyPrivacyBudget"} + "PrivacyBudget": { + "members": { + "differentialPrivacy": { + "shape": "DifferentialPrivacyPrivacyBudget" + } }, - "union":true + "type": "structure", + "union": true }, - "PrivacyBudgetSummary":{ - "type":"structure", - "required":[ + "PrivacyBudgetSummary": { + "members": { + "budget": { + "shape": "PrivacyBudget" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "id": { + "shape": "UUID" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "MembershipIdentifier" + }, + "privacyBudgetTemplateArn": { + "shape": "PrivacyBudgetTemplateArn" + }, + "privacyBudgetTemplateId": { + "shape": "PrivacyBudgetTemplateIdentifier" + }, + "type": { + "shape": "PrivacyBudgetType" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ "id", "privacyBudgetTemplateId", "privacyBudgetTemplateArn", @@ -4018,27 +7044,51 @@ "updateTime", "budget" ], - "members":{ - "id":{"shape":"UUID"}, - "privacyBudgetTemplateId":{"shape":"PrivacyBudgetTemplateIdentifier"}, - "privacyBudgetTemplateArn":{"shape":"PrivacyBudgetTemplateArn"}, - "membershipId":{"shape":"MembershipIdentifier"}, - "membershipArn":{"shape":"MembershipArn"}, - "collaborationId":{"shape":"UUID"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "type":{"shape":"PrivacyBudgetType"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "budget":{"shape":"PrivacyBudget"} - } + "type": "structure" }, - "PrivacyBudgetSummaryList":{ - "type":"list", - "member":{"shape":"PrivacyBudgetSummary"} + "PrivacyBudgetSummaryList": { + "member": { + "shape": "PrivacyBudgetSummary" + }, + "type": "list" }, - "PrivacyBudgetTemplate":{ - "type":"structure", - "required":[ + "PrivacyBudgetTemplate": { + "members": { + "arn": { + "shape": "PrivacyBudgetTemplateArn" + }, + "autoRefresh": { + "shape": "PrivacyBudgetTemplateAutoRefresh" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "id": { + "shape": "PrivacyBudgetTemplateIdentifier" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "UUID" + }, + "parameters": { + "shape": "PrivacyBudgetTemplateParametersOutput" + }, + "privacyBudgetType": { + "shape": "PrivacyBudgetType" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ "id", "arn", "membershipId", @@ -4051,56 +7101,76 @@ "autoRefresh", "parameters" ], - "members":{ - "id":{"shape":"PrivacyBudgetTemplateIdentifier"}, - "arn":{"shape":"PrivacyBudgetTemplateArn"}, - "membershipId":{"shape":"UUID"}, - "membershipArn":{"shape":"MembershipArn"}, - "collaborationId":{"shape":"UUID"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "privacyBudgetType":{"shape":"PrivacyBudgetType"}, - "autoRefresh":{"shape":"PrivacyBudgetTemplateAutoRefresh"}, - "parameters":{"shape":"PrivacyBudgetTemplateParametersOutput"} - } + "type": "structure" }, - "PrivacyBudgetTemplateArn":{ - "type":"string", - "max":100, - "min":0, - "pattern":"arn:aws:[\\w]+:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:privacybudgettemplate/[\\d\\w-]+" + "PrivacyBudgetTemplateArn": { + "max": 100, + "min": 0, + "pattern": "arn:aws:[\\w]+:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:privacybudgettemplate/[\\d\\w-]+", + "type": "string" }, - "PrivacyBudgetTemplateAutoRefresh":{ - "type":"string", - "enum":[ + "PrivacyBudgetTemplateAutoRefresh": { + "enum": [ "CALENDAR_MONTH", "NONE" - ] - }, - "PrivacyBudgetTemplateIdentifier":{ - "type":"string", - "max":36, - "min":36, - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "PrivacyBudgetTemplateParametersInput":{ - "type":"structure", - "members":{ - "differentialPrivacy":{"shape":"DifferentialPrivacyTemplateParametersInput"} + ], + "type": "string" + }, + "PrivacyBudgetTemplateIdentifier": { + "max": 36, + "min": 36, + "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", + "type": "string" + }, + "PrivacyBudgetTemplateParametersInput": { + "members": { + "differentialPrivacy": { + "shape": "DifferentialPrivacyTemplateParametersInput" + } }, - "union":true + "type": "structure", + "union": true }, - "PrivacyBudgetTemplateParametersOutput":{ - "type":"structure", - "members":{ - "differentialPrivacy":{"shape":"DifferentialPrivacyTemplateParametersOutput"} + "PrivacyBudgetTemplateParametersOutput": { + "members": { + "differentialPrivacy": { + "shape": "DifferentialPrivacyTemplateParametersOutput" + } }, - "union":true + "type": "structure", + "union": true }, - "PrivacyBudgetTemplateSummary":{ - "type":"structure", - "required":[ + "PrivacyBudgetTemplateSummary": { + "members": { + "arn": { + "shape": "PrivacyBudgetTemplateArn" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "id": { + "shape": "PrivacyBudgetTemplateIdentifier" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "UUID" + }, + "privacyBudgetType": { + "shape": "PrivacyBudgetType" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ "id", "arn", "membershipId", @@ -4111,168 +7181,229 @@ "createTime", "updateTime" ], - "members":{ - "id":{"shape":"PrivacyBudgetTemplateIdentifier"}, - "arn":{"shape":"PrivacyBudgetTemplateArn"}, - "membershipId":{"shape":"UUID"}, - "membershipArn":{"shape":"MembershipArn"}, - "collaborationId":{"shape":"UUID"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "privacyBudgetType":{"shape":"PrivacyBudgetType"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"} - } + "type": "structure" }, - "PrivacyBudgetTemplateSummaryList":{ - "type":"list", - "member":{"shape":"PrivacyBudgetTemplateSummary"} + "PrivacyBudgetTemplateSummaryList": { + "member": { + "shape": "PrivacyBudgetTemplateSummary" + }, + "type": "list" }, - "PrivacyBudgetTemplateUpdateParameters":{ - "type":"structure", - "members":{ - "differentialPrivacy":{"shape":"DifferentialPrivacyTemplateUpdateParameters"} + "PrivacyBudgetTemplateUpdateParameters": { + "members": { + "differentialPrivacy": { + "shape": "DifferentialPrivacyTemplateUpdateParameters" + } }, - "union":true + "type": "structure", + "union": true }, - "PrivacyBudgetType":{ - "type":"string", - "enum":["DIFFERENTIAL_PRIVACY"] + "PrivacyBudgetType": { + "enum": [ + "DIFFERENTIAL_PRIVACY" + ], + "type": "string" }, - "PrivacyImpact":{ - "type":"structure", - "members":{ - "differentialPrivacy":{"shape":"DifferentialPrivacyPrivacyImpact"} + "PrivacyImpact": { + "members": { + "differentialPrivacy": { + "shape": "DifferentialPrivacyPrivacyImpact" + } }, - "union":true + "type": "structure", + "union": true }, - "ProtectedQuery":{ - "type":"structure", - "required":[ + "ProtectedQuery": { + "members": { + "createTime": { + "shape": "Timestamp" + }, + "differentialPrivacy": { + "shape": "DifferentialPrivacyParameters" + }, + "error": { + "shape": "ProtectedQueryError" + }, + "id": { + "shape": "UUID" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "UUID" + }, + "result": { + "shape": "ProtectedQueryResult" + }, + "resultConfiguration": { + "shape": "ProtectedQueryResultConfiguration" + }, + "sqlParameters": { + "shape": "ProtectedQuerySQLParameters" + }, + "statistics": { + "shape": "ProtectedQueryStatistics" + }, + "status": { + "shape": "ProtectedQueryStatus" + } + }, + "required": [ "id", "membershipId", "membershipArn", "createTime", "status" ], - "members":{ - "id":{"shape":"UUID"}, - "membershipId":{"shape":"UUID"}, - "membershipArn":{"shape":"MembershipArn"}, - "createTime":{"shape":"Timestamp"}, - "sqlParameters":{"shape":"ProtectedQuerySQLParameters"}, - "status":{"shape":"ProtectedQueryStatus"}, - "resultConfiguration":{"shape":"ProtectedQueryResultConfiguration"}, - "statistics":{"shape":"ProtectedQueryStatistics"}, - "result":{"shape":"ProtectedQueryResult"}, - "error":{"shape":"ProtectedQueryError"}, - "differentialPrivacy":{"shape":"DifferentialPrivacyParameters"} - } + "type": "structure" }, - "ProtectedQueryError":{ - "type":"structure", - "required":[ + "ProtectedQueryError": { + "members": { + "code": { + "shape": "String" + }, + "message": { + "shape": "String" + } + }, + "required": [ "message", "code" ], - "members":{ - "message":{"shape":"String"}, - "code":{"shape":"String"} - } + "type": "structure" }, - "ProtectedQueryIdentifier":{ - "type":"string", - "max":36, - "min":36, - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + "ProtectedQueryIdentifier": { + "max": 36, + "min": 36, + "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", + "type": "string" }, - "ProtectedQueryMemberOutputList":{ - "type":"list", - "member":{"shape":"ProtectedQuerySingleMemberOutput"} + "ProtectedQueryMemberOutputList": { + "member": { + "shape": "ProtectedQuerySingleMemberOutput" + }, + "type": "list" }, - "ProtectedQueryOutput":{ - "type":"structure", - "members":{ - "s3":{"shape":"ProtectedQueryS3Output"}, - "memberList":{"shape":"ProtectedQueryMemberOutputList"} + "ProtectedQueryOutput": { + "members": { + "memberList": { + "shape": "ProtectedQueryMemberOutputList" + }, + "s3": { + "shape": "ProtectedQueryS3Output" + } }, - "union":true + "type": "structure", + "union": true }, - "ProtectedQueryOutputConfiguration":{ - "type":"structure", - "members":{ - "s3":{"shape":"ProtectedQueryS3OutputConfiguration"} + "ProtectedQueryOutputConfiguration": { + "members": { + "s3": { + "shape": "ProtectedQueryS3OutputConfiguration" + } }, - "union":true + "type": "structure", + "union": true }, - "ProtectedQueryResult":{ - "type":"structure", - "required":["output"], - "members":{ - "output":{"shape":"ProtectedQueryOutput"} - } + "ProtectedQueryResult": { + "members": { + "output": { + "shape": "ProtectedQueryOutput" + } + }, + "required": [ + "output" + ], + "type": "structure" }, - "ProtectedQueryResultConfiguration":{ - "type":"structure", - "required":["outputConfiguration"], - "members":{ - "outputConfiguration":{"shape":"ProtectedQueryOutputConfiguration"} - } + "ProtectedQueryResultConfiguration": { + "members": { + "outputConfiguration": { + "shape": "ProtectedQueryOutputConfiguration" + } + }, + "required": [ + "outputConfiguration" + ], + "type": "structure" }, - "ProtectedQueryS3Output":{ - "type":"structure", - "required":["location"], - "members":{ - "location":{"shape":"String"} - } + "ProtectedQueryS3Output": { + "members": { + "location": { + "shape": "String" + } + }, + "required": [ + "location" + ], + "type": "structure" }, - "ProtectedQueryS3OutputConfiguration":{ - "type":"structure", - "required":[ + "ProtectedQueryS3OutputConfiguration": { + "members": { + "bucket": { + "shape": "ProtectedQueryS3OutputConfigurationBucketString" + }, + "keyPrefix": { + "shape": "KeyPrefix" + }, + "resultFormat": { + "shape": "ResultFormat" + } + }, + "required": [ "resultFormat", "bucket" ], - "members":{ - "resultFormat":{"shape":"ResultFormat"}, - "bucket":{"shape":"ProtectedQueryS3OutputConfigurationBucketString"}, - "keyPrefix":{"shape":"KeyPrefix"} - } - }, - "ProtectedQueryS3OutputConfigurationBucketString":{ - "type":"string", - "max":63, - "min":3, - "pattern":".*(?!^(\\d+\\.)+\\d+$)(^(([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])\\.)*([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])$).*" - }, - "ProtectedQuerySQLParameters":{ - "type":"structure", - "members":{ - "queryString":{"shape":"ProtectedQuerySQLParametersQueryStringString"}, - "analysisTemplateArn":{"shape":"AnalysisTemplateArn"}, - "parameters":{"shape":"ParameterMap"} - }, - "sensitive":true - }, - "ProtectedQuerySQLParametersQueryStringString":{ - "type":"string", - "max":90000, - "min":0 - }, - "ProtectedQuerySingleMemberOutput":{ - "type":"structure", - "required":["accountId"], - "members":{ - "accountId":{"shape":"AccountId"} - } + "type": "structure" + }, + "ProtectedQueryS3OutputConfigurationBucketString": { + "max": 63, + "min": 3, + "pattern": ".*(?!^(\\d+\\.)+\\d+$)(^(([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])\\.)*([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])$).*", + "type": "string" + }, + "ProtectedQuerySQLParameters": { + "members": { + "analysisTemplateArn": { + "shape": "AnalysisTemplateArn" + }, + "parameters": { + "shape": "ParameterMap" + }, + "queryString": { + "shape": "ProtectedQuerySQLParametersQueryStringString" + } + }, + "sensitive": true, + "type": "structure" + }, + "ProtectedQuerySQLParametersQueryStringString": { + "max": 500000, + "min": 0, + "type": "string" + }, + "ProtectedQuerySingleMemberOutput": { + "members": { + "accountId": { + "shape": "AccountId" + } + }, + "required": [ + "accountId" + ], + "type": "structure" }, - "ProtectedQueryStatistics":{ - "type":"structure", - "members":{ - "totalDurationInMillis":{"shape":"Long"} - } + "ProtectedQueryStatistics": { + "members": { + "totalDurationInMillis": { + "shape": "Long" + } + }, + "type": "structure" }, - "ProtectedQueryStatus":{ - "type":"string", - "enum":[ + "ProtectedQueryStatus": { + "enum": [ "SUBMITTED", "STARTED", "CANCELLED", @@ -4280,99 +7411,150 @@ "FAILED", "SUCCESS", "TIMED_OUT" - ] + ], + "type": "string" }, - "ProtectedQuerySummary":{ - "type":"structure", - "required":[ + "ProtectedQuerySummary": { + "members": { + "createTime": { + "shape": "Timestamp" + }, + "id": { + "shape": "UUID" + }, + "membershipArn": { + "shape": "MembershipArn" + }, + "membershipId": { + "shape": "UUID" + }, + "status": { + "shape": "ProtectedQueryStatus" + } + }, + "required": [ "id", "membershipId", "membershipArn", "createTime", "status" ], - "members":{ - "id":{"shape":"UUID"}, - "membershipId":{"shape":"UUID"}, - "membershipArn":{"shape":"MembershipArn"}, - "createTime":{"shape":"Timestamp"}, - "status":{"shape":"ProtectedQueryStatus"} - } + "type": "structure" }, - "ProtectedQuerySummaryList":{ - "type":"list", - "member":{"shape":"ProtectedQuerySummary"} + "ProtectedQuerySummaryList": { + "member": { + "shape": "ProtectedQuerySummary" + }, + "type": "list" }, - "ProtectedQueryType":{ - "type":"string", - "enum":["SQL"] + "ProtectedQueryType": { + "enum": [ + "SQL" + ], + "type": "string" }, - "QueryComputePaymentConfig":{ - "type":"structure", - "required":["isResponsible"], - "members":{ - "isResponsible":{"shape":"Boolean"} - } + "QueryComputePaymentConfig": { + "members": { + "isResponsible": { + "shape": "Boolean" + } + }, + "required": [ + "isResponsible" + ], + "type": "structure" + }, + "QueryConstraint": { + "members": { + "requireOverlap": { + "shape": "QueryConstraintRequireOverlap" + } + }, + "type": "structure", + "union": true + }, + "QueryConstraintList": { + "max": 1, + "member": { + "shape": "QueryConstraint" + }, + "min": 0, + "type": "list" + }, + "QueryConstraintRequireOverlap": { + "members": { + "columns": { + "shape": "AnalysisRuleColumnList" + } + }, + "type": "structure" }, - "QueryTables":{ - "type":"list", - "member":{"shape":"TableAlias"} - }, - "ResourceAlias":{ - "type":"string", - "max":128, - "min":0, - "pattern":"[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?" - }, - "ResourceDescription":{ - "type":"string", - "max":255, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*" - }, - "ResourceNotFoundException":{ - "type":"structure", - "required":[ + "QueryTables": { + "member": { + "shape": "TableAlias" + }, + "type": "list" + }, + "ResourceAlias": { + "max": 128, + "min": 0, + "pattern": "[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?", + "type": "string" + }, + "ResourceDescription": { + "max": 255, + "min": 0, + "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*", + "type": "string" + }, + "ResourceNotFoundException": { + "error": { + "httpStatusCode": 404, + "senderFault": true + }, + "exception": true, + "members": { + "message": { + "shape": "String" + }, + "resourceId": { + "shape": "String" + }, + "resourceType": { + "shape": "ResourceType" + } + }, + "required": [ "message", "resourceId", "resourceType" ], - "members":{ - "message":{"shape":"String"}, - "resourceId":{"shape":"String"}, - "resourceType":{"shape":"ResourceType"} - }, - "error":{ - "httpStatusCode":404, - "senderFault":true - }, - "exception":true + "type": "structure" }, - "ResourceType":{ - "type":"string", - "enum":[ + "ResourceType": { + "enum": [ "CONFIGURED_TABLE", "COLLABORATION", "MEMBERSHIP", "CONFIGURED_TABLE_ASSOCIATION" - ] + ], + "type": "string" }, - "ResultFormat":{ - "type":"string", - "enum":[ + "ResultFormat": { + "enum": [ "CSV", "PARQUET" - ] + ], + "type": "string" }, - "RoleArn":{ - "type":"string", - "max":512, - "min":32, - "pattern":"arn:aws:iam::[\\w]+:role/[\\w+=./@-]+" + "RoleArn": { + "max": 512, + "min": 32, + "pattern": "arn:aws:iam::[\\w]+:role/[\\w+=./@-]+", + "type": "string" }, - "ScalarFunctions":{ - "type":"string", - "enum":[ + "ScalarFunctions": { + "enum": [ "ABS", "CAST", "CEILING", @@ -4397,15 +7579,61 @@ "TRIM", "TRUNC", "UPPER" - ] + ], + "type": "string" }, - "ScalarFunctionsList":{ - "type":"list", - "member":{"shape":"ScalarFunctions"} + "ScalarFunctionsList": { + "member": { + "shape": "ScalarFunctions" + }, + "type": "list" }, - "Schema":{ - "type":"structure", - "required":[ + "Schema": { + "members": { + "analysisMethod": { + "shape": "AnalysisMethod" + }, + "analysisRuleTypes": { + "shape": "AnalysisRuleTypeList" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "columns": { + "shape": "ColumnList" + }, + "createTime": { + "shape": "Timestamp" + }, + "creatorAccountId": { + "shape": "AccountId" + }, + "description": { + "shape": "TableDescription" + }, + "name": { + "shape": "TableAlias" + }, + "partitionKeys": { + "shape": "ColumnList" + }, + "schemaStatusDetails": { + "shape": "SchemaStatusDetailList" + }, + "schemaTypeProperties": { + "shape": "SchemaTypeProperties" + }, + "type": { + "shape": "SchemaType" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ "columns", "partitionKeys", "analysisRuleTypes", @@ -4419,107 +7647,158 @@ "type", "schemaStatusDetails" ], - "members":{ - "columns":{"shape":"ColumnList"}, - "partitionKeys":{"shape":"ColumnList"}, - "analysisRuleTypes":{"shape":"AnalysisRuleTypeList"}, - "analysisMethod":{"shape":"AnalysisMethod"}, - "creatorAccountId":{"shape":"AccountId"}, - "name":{"shape":"TableAlias"}, - "collaborationId":{"shape":"UUID"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "description":{"shape":"TableDescription"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "type":{"shape":"SchemaType"}, - "schemaStatusDetails":{"shape":"SchemaStatusDetailList"} - } + "type": "structure" }, - "SchemaAnalysisRuleList":{ - "type":"list", - "member":{"shape":"AnalysisRule"}, - "max":25, - "min":0 + "SchemaAnalysisRuleList": { + "max": 25, + "member": { + "shape": "AnalysisRule" + }, + "min": 0, + "type": "list" }, - "SchemaAnalysisRuleRequest":{ - "type":"structure", - "required":[ + "SchemaAnalysisRuleRequest": { + "members": { + "name": { + "shape": "TableAlias" + }, + "type": { + "shape": "AnalysisRuleType" + } + }, + "required": [ "name", "type" ], - "members":{ - "name":{"shape":"TableAlias"}, - "type":{"shape":"AnalysisRuleType"} - } + "type": "structure" + }, + "SchemaAnalysisRuleRequestList": { + "max": 25, + "member": { + "shape": "SchemaAnalysisRuleRequest" + }, + "min": 1, + "type": "list" + }, + "SchemaConfiguration": { + "enum": [ + "DIFFERENTIAL_PRIVACY", + "CUSTOM_ANALYSIS_NOT_ALLOWED", + "NO_MEMBER_ACCOUNT_ALLOWED_TO_PROVIDE_ANALYSIS", + "DIFFERENTIAL_PRIVACY_BUDGET_NOT_CONFIGURED", + "ID_MAPPING_TABLE_NOT_POPULATED" + ], + "type": "string" + }, + "SchemaConfigurationList": { + "member": { + "shape": "SchemaConfiguration" + }, + "type": "list" + }, + "SchemaList": { + "max": 25, + "member": { + "shape": "Schema" + }, + "min": 0, + "type": "list" }, - "SchemaAnalysisRuleRequestList":{ - "type":"list", - "member":{"shape":"SchemaAnalysisRuleRequest"}, - "max":25, - "min":1 - }, - "SchemaConfiguration":{ - "type":"string", - "enum":["DIFFERENTIAL_PRIVACY"] - }, - "SchemaConfigurationList":{ - "type":"list", - "member":{"shape":"SchemaConfiguration"} - }, - "SchemaList":{ - "type":"list", - "member":{"shape":"Schema"}, - "max":25, - "min":0 - }, - "SchemaStatus":{ - "type":"string", - "enum":[ + "SchemaStatus": { + "enum": [ "READY", "NOT_READY" - ] - }, - "SchemaStatusDetail":{ - "type":"structure", - "required":["status"], - "members":{ - "status":{"shape":"SchemaStatus"}, - "reasons":{"shape":"SchemaStatusReasonList"}, - "analysisRuleType":{"shape":"AnalysisRuleType"}, - "configurations":{"shape":"SchemaConfigurationList"} - } + ], + "type": "string" + }, + "SchemaStatusDetail": { + "members": { + "analysisRuleType": { + "shape": "AnalysisRuleType" + }, + "configurations": { + "shape": "SchemaConfigurationList" + }, + "reasons": { + "shape": "SchemaStatusReasonList" + }, + "status": { + "shape": "SchemaStatus" + } + }, + "required": [ + "status" + ], + "type": "structure" }, - "SchemaStatusDetailList":{ - "type":"list", - "member":{"shape":"SchemaStatusDetail"} + "SchemaStatusDetailList": { + "member": { + "shape": "SchemaStatusDetail" + }, + "type": "list" }, - "SchemaStatusReason":{ - "type":"structure", - "required":[ + "SchemaStatusReason": { + "members": { + "code": { + "shape": "SchemaStatusReasonCode" + }, + "message": { + "shape": "String" + } + }, + "required": [ "code", "message" ], - "members":{ - "code":{"shape":"SchemaStatusReasonCode"}, - "message":{"shape":"String"} - } + "type": "structure" }, - "SchemaStatusReasonCode":{ - "type":"string", - "enum":[ + "SchemaStatusReasonCode": { + "enum": [ "ANALYSIS_RULE_MISSING", "ANALYSIS_TEMPLATES_NOT_CONFIGURED", "ANALYSIS_PROVIDERS_NOT_CONFIGURED", - "DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED" - ] + "DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED", + "ID_MAPPING_TABLE_NOT_POPULATED" + ], + "type": "string" }, - "SchemaStatusReasonList":{ - "type":"list", - "member":{"shape":"SchemaStatusReason"} + "SchemaStatusReasonList": { + "member": { + "shape": "SchemaStatusReason" + }, + "type": "list" }, - "SchemaSummary":{ - "type":"structure", - "required":[ + "SchemaSummary": { + "members": { + "analysisMethod": { + "shape": "AnalysisMethod" + }, + "analysisRuleTypes": { + "shape": "AnalysisRuleTypeList" + }, + "collaborationArn": { + "shape": "CollaborationArn" + }, + "collaborationId": { + "shape": "UUID" + }, + "createTime": { + "shape": "Timestamp" + }, + "creatorAccountId": { + "shape": "AccountId" + }, + "name": { + "shape": "TableAlias" + }, + "type": { + "shape": "SchemaType" + }, + "updateTime": { + "shape": "Timestamp" + } + }, + "required": [ "name", "type", "creatorAccountId", @@ -4529,452 +7808,639 @@ "collaborationArn", "analysisRuleTypes" ], - "members":{ - "name":{"shape":"TableAlias"}, - "type":{"shape":"SchemaType"}, - "creatorAccountId":{"shape":"AccountId"}, - "createTime":{"shape":"Timestamp"}, - "updateTime":{"shape":"Timestamp"}, - "collaborationId":{"shape":"UUID"}, - "collaborationArn":{"shape":"CollaborationArn"}, - "analysisRuleTypes":{"shape":"AnalysisRuleTypeList"}, - "analysisMethod":{"shape":"AnalysisMethod"} - } + "type": "structure" }, - "SchemaSummaryList":{ - "type":"list", - "member":{"shape":"SchemaSummary"} + "SchemaSummaryList": { + "member": { + "shape": "SchemaSummary" + }, + "type": "list" + }, + "SchemaType": { + "enum": [ + "TABLE", + "ID_MAPPING_TABLE" + ], + "type": "string" }, - "SchemaType":{ - "type":"string", - "enum":["TABLE"] + "SchemaTypeProperties": { + "members": { + "idMappingTable": { + "shape": "IdMappingTableSchemaTypeProperties" + } + }, + "type": "structure", + "union": true }, - "ServiceQuotaExceededException":{ - "type":"structure", - "required":[ + "ServiceQuotaExceededException": { + "error": { + "httpStatusCode": 402, + "senderFault": true + }, + "exception": true, + "members": { + "message": { + "shape": "String" + }, + "quotaName": { + "shape": "String" + }, + "quotaValue": { + "shape": "Double" + } + }, + "required": [ "message", "quotaName", "quotaValue" ], - "members":{ - "message":{"shape":"String"}, - "quotaName":{"shape":"String"}, - "quotaValue":{"shape":"Double"} - }, - "error":{ - "httpStatusCode":402, - "senderFault":true + "type": "structure" + }, + "StartProtectedQueryInput": { + "members": { + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "resultConfiguration": { + "shape": "ProtectedQueryResultConfiguration" + }, + "sqlParameters": { + "shape": "ProtectedQuerySQLParameters" + }, + "type": { + "shape": "ProtectedQueryType" + } }, - "exception":true - }, - "StartProtectedQueryInput":{ - "type":"structure", - "required":[ + "required": [ "type", "membershipIdentifier", "sqlParameters" ], - "members":{ - "type":{"shape":"ProtectedQueryType"}, - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" - }, - "sqlParameters":{"shape":"ProtectedQuerySQLParameters"}, - "resultConfiguration":{"shape":"ProtectedQueryResultConfiguration"} - } + "type": "structure" }, - "StartProtectedQueryOutput":{ - "type":"structure", - "required":["protectedQuery"], - "members":{ - "protectedQuery":{"shape":"ProtectedQuery"} - } + "StartProtectedQueryOutput": { + "members": { + "protectedQuery": { + "shape": "ProtectedQuery" + } + }, + "required": [ + "protectedQuery" + ], + "type": "structure" + }, + "String": { + "type": "string" + }, + "TableAlias": { + "max": 128, + "min": 0, + "pattern": "[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?", + "type": "string" + }, + "TableAliasList": { + "max": 25, + "member": { + "shape": "TableAlias" + }, + "min": 1, + "type": "list" + }, + "TableDescription": { + "max": 255, + "min": 0, + "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*", + "type": "string" + }, + "TableReference": { + "members": { + "glue": { + "shape": "GlueTableReference" + } + }, + "type": "structure", + "union": true }, - "String":{"type":"string"}, - "TableAlias":{ - "type":"string", - "max":128, - "min":0, - "pattern":"[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?" - }, - "TableAliasList":{ - "type":"list", - "member":{"shape":"TableAlias"}, - "max":25, - "min":1 - }, - "TableDescription":{ - "type":"string", - "max":255, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*" - }, - "TableReference":{ - "type":"structure", - "members":{ - "glue":{"shape":"GlueTableReference"} - }, - "union":true - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1 - }, - "TagKeys":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagMap":{ - "type":"map", - "key":{"shape":"TagKey"}, - "value":{"shape":"TagValue"}, - "max":200, - "min":0 - }, - "TagResourceInput":{ - "type":"structure", - "required":[ + "TagKey": { + "max": 128, + "min": 1, + "type": "string" + }, + "TagKeys": { + "member": { + "shape": "TagKey" + }, + "type": "list" + }, + "TagMap": { + "key": { + "shape": "TagKey" + }, + "max": 200, + "min": 0, + "type": "map", + "value": { + "shape": "TagValue" + } + }, + "TagResourceInput": { + "members": { + "resourceArn": { + "location": "uri", + "locationName": "resourceArn", + "shape": "CleanroomsArn" + }, + "tags": { + "shape": "TagMap" + } + }, + "required": [ "resourceArn", "tags" ], - "members":{ - "resourceArn":{ - "shape":"CleanroomsArn", - "location":"uri", - "locationName":"resourceArn" - }, - "tags":{"shape":"TagMap"} - } + "type": "structure" }, - "TagResourceOutput":{ - "type":"structure", - "members":{ - } + "TagResourceOutput": { + "members": {}, + "type": "structure" }, - "TagValue":{ - "type":"string", - "max":256, - "min":0 + "TagValue": { + "max": 256, + "min": 0, + "type": "string" }, - "TargetProtectedQueryStatus":{ - "type":"string", - "enum":["CANCELLED"] + "TargetProtectedQueryStatus": { + "enum": [ + "CANCELLED" + ], + "type": "string" }, - "ThrottlingException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} + "ThrottlingException": { + "error": { + "httpStatusCode": 429, + "senderFault": true }, - "error":{ - "httpStatusCode":429, - "senderFault":true + "exception": true, + "members": { + "message": { + "shape": "String" + } }, - "exception":true - }, - "Timestamp":{"type":"timestamp"}, - "UUID":{ - "type":"string", - "max":36, - "min":36, - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "UntagResourceInput":{ - "type":"structure", - "required":[ + "type": "structure" + }, + "Timestamp": { + "type": "timestamp" + }, + "UUID": { + "max": 36, + "min": 36, + "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", + "type": "string" + }, + "UntagResourceInput": { + "members": { + "resourceArn": { + "location": "uri", + "locationName": "resourceArn", + "shape": "CleanroomsArn" + }, + "tagKeys": { + "location": "querystring", + "locationName": "tagKeys", + "shape": "TagKeys" + } + }, + "required": [ "resourceArn", "tagKeys" ], - "members":{ - "resourceArn":{ - "shape":"CleanroomsArn", - "location":"uri", - "locationName":"resourceArn" + "type": "structure" + }, + "UntagResourceOutput": { + "members": {}, + "type": "structure" + }, + "UpdateAnalysisTemplateInput": { + "members": { + "analysisTemplateIdentifier": { + "location": "uri", + "locationName": "analysisTemplateIdentifier", + "shape": "AnalysisTemplateIdentifier" + }, + "description": { + "shape": "ResourceDescription" }, - "tagKeys":{ - "shape":"TagKeys", - "location":"querystring", - "locationName":"tagKeys" + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" } - } - }, - "UntagResourceOutput":{ - "type":"structure", - "members":{ - } - }, - "UpdateAnalysisTemplateInput":{ - "type":"structure", - "required":[ + }, + "required": [ "membershipIdentifier", "analysisTemplateIdentifier" ], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "type": "structure" + }, + "UpdateAnalysisTemplateOutput": { + "members": { + "analysisTemplate": { + "shape": "AnalysisTemplate" + } + }, + "required": [ + "analysisTemplate" + ], + "type": "structure" + }, + "UpdateCollaborationInput": { + "members": { + "collaborationIdentifier": { + "location": "uri", + "locationName": "collaborationIdentifier", + "shape": "CollaborationIdentifier" }, - "analysisTemplateIdentifier":{ - "shape":"AnalysisTemplateIdentifier", - "location":"uri", - "locationName":"analysisTemplateIdentifier" + "description": { + "shape": "CollaborationDescription" }, - "description":{"shape":"ResourceDescription"} - } - }, - "UpdateAnalysisTemplateOutput":{ - "type":"structure", - "required":["analysisTemplate"], - "members":{ - "analysisTemplate":{"shape":"AnalysisTemplate"} - } - }, - "UpdateCollaborationInput":{ - "type":"structure", - "required":["collaborationIdentifier"], - "members":{ - "collaborationIdentifier":{ - "shape":"CollaborationIdentifier", - "location":"uri", - "locationName":"collaborationIdentifier" - }, - "name":{"shape":"CollaborationName"}, - "description":{"shape":"CollaborationDescription"} - } - }, - "UpdateCollaborationOutput":{ - "type":"structure", - "required":["collaboration"], - "members":{ - "collaboration":{"shape":"Collaboration"} - } + "name": { + "shape": "CollaborationName" + } + }, + "required": [ + "collaborationIdentifier" + ], + "type": "structure" }, - "UpdateConfiguredAudienceModelAssociationInput":{ - "type":"structure", - "required":[ - "configuredAudienceModelAssociationIdentifier", - "membershipIdentifier" + "UpdateCollaborationOutput": { + "members": { + "collaboration": { + "shape": "Collaboration" + } + }, + "required": [ + "collaboration" ], - "members":{ - "configuredAudienceModelAssociationIdentifier":{ - "shape":"ConfiguredAudienceModelAssociationIdentifier", - "location":"uri", - "locationName":"configuredAudienceModelAssociationIdentifier" + "type": "structure" + }, + "UpdateConfiguredAudienceModelAssociationInput": { + "members": { + "configuredAudienceModelAssociationIdentifier": { + "location": "uri", + "locationName": "configuredAudienceModelAssociationIdentifier", + "shape": "ConfiguredAudienceModelAssociationIdentifier" }, - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "description": { + "shape": "ResourceDescription" }, - "description":{"shape":"ResourceDescription"}, - "name":{"shape":"ConfiguredAudienceModelAssociationName"} - } + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "name": { + "shape": "ConfiguredAudienceModelAssociationName" + } + }, + "required": [ + "configuredAudienceModelAssociationIdentifier", + "membershipIdentifier" + ], + "type": "structure" }, - "UpdateConfiguredAudienceModelAssociationOutput":{ - "type":"structure", - "required":["configuredAudienceModelAssociation"], - "members":{ - "configuredAudienceModelAssociation":{"shape":"ConfiguredAudienceModelAssociation"} - } + "UpdateConfiguredAudienceModelAssociationOutput": { + "members": { + "configuredAudienceModelAssociation": { + "shape": "ConfiguredAudienceModelAssociation" + } + }, + "required": [ + "configuredAudienceModelAssociation" + ], + "type": "structure" }, - "UpdateConfiguredTableAnalysisRuleInput":{ - "type":"structure", - "required":[ + "UpdateConfiguredTableAnalysisRuleInput": { + "members": { + "analysisRulePolicy": { + "shape": "ConfiguredTableAnalysisRulePolicy" + }, + "analysisRuleType": { + "location": "uri", + "locationName": "analysisRuleType", + "shape": "ConfiguredTableAnalysisRuleType" + }, + "configuredTableIdentifier": { + "location": "uri", + "locationName": "configuredTableIdentifier", + "shape": "ConfiguredTableIdentifier" + } + }, + "required": [ "configuredTableIdentifier", "analysisRuleType", "analysisRulePolicy" ], - "members":{ - "configuredTableIdentifier":{ - "shape":"ConfiguredTableIdentifier", - "location":"uri", - "locationName":"configuredTableIdentifier" + "type": "structure" + }, + "UpdateConfiguredTableAnalysisRuleOutput": { + "members": { + "analysisRule": { + "shape": "ConfiguredTableAnalysisRule" + } + }, + "required": [ + "analysisRule" + ], + "type": "structure" + }, + "UpdateConfiguredTableAssociationInput": { + "members": { + "configuredTableAssociationIdentifier": { + "location": "uri", + "locationName": "configuredTableAssociationIdentifier", + "shape": "ConfiguredTableAssociationIdentifier" }, - "analysisRuleType":{ - "shape":"ConfiguredTableAnalysisRuleType", - "location":"uri", - "locationName":"analysisRuleType" + "description": { + "shape": "TableDescription" }, - "analysisRulePolicy":{"shape":"ConfiguredTableAnalysisRulePolicy"} - } - }, - "UpdateConfiguredTableAnalysisRuleOutput":{ - "type":"structure", - "required":["analysisRule"], - "members":{ - "analysisRule":{"shape":"ConfiguredTableAnalysisRule"} - } - }, - "UpdateConfiguredTableAssociationInput":{ - "type":"structure", - "required":[ + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "roleArn": { + "shape": "RoleArn" + } + }, + "required": [ "configuredTableAssociationIdentifier", "membershipIdentifier" ], - "members":{ - "configuredTableAssociationIdentifier":{ - "shape":"ConfiguredTableAssociationIdentifier", - "location":"uri", - "locationName":"configuredTableAssociationIdentifier" + "type": "structure" + }, + "UpdateConfiguredTableAssociationOutput": { + "members": { + "configuredTableAssociation": { + "shape": "ConfiguredTableAssociation" + } + }, + "required": [ + "configuredTableAssociation" + ], + "type": "structure" + }, + "UpdateConfiguredTableInput": { + "members": { + "configuredTableIdentifier": { + "location": "uri", + "locationName": "configuredTableIdentifier", + "shape": "ConfiguredTableIdentifier" }, - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "description": { + "shape": "TableDescription" }, - "description":{"shape":"TableDescription"}, - "roleArn":{"shape":"RoleArn"} - } + "name": { + "shape": "DisplayName" + } + }, + "required": [ + "configuredTableIdentifier" + ], + "type": "structure" }, - "UpdateConfiguredTableAssociationOutput":{ - "type":"structure", - "required":["configuredTableAssociation"], - "members":{ - "configuredTableAssociation":{"shape":"ConfiguredTableAssociation"} - } + "UpdateConfiguredTableOutput": { + "members": { + "configuredTable": { + "shape": "ConfiguredTable" + } + }, + "required": [ + "configuredTable" + ], + "type": "structure" }, - "UpdateConfiguredTableInput":{ - "type":"structure", - "required":["configuredTableIdentifier"], - "members":{ - "configuredTableIdentifier":{ - "shape":"ConfiguredTableIdentifier", - "location":"uri", - "locationName":"configuredTableIdentifier" - }, - "name":{"shape":"DisplayName"}, - "description":{"shape":"TableDescription"} - } + "UpdateIdMappingTableInput": { + "members": { + "description": { + "shape": "ResourceDescription" + }, + "idMappingTableIdentifier": { + "location": "uri", + "locationName": "idMappingTableIdentifier", + "shape": "UUID" + }, + "kmsKeyArn": { + "shape": "KMSKeyArn" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + } + }, + "required": [ + "idMappingTableIdentifier", + "membershipIdentifier" + ], + "type": "structure" }, - "UpdateConfiguredTableOutput":{ - "type":"structure", - "required":["configuredTable"], - "members":{ - "configuredTable":{"shape":"ConfiguredTable"} - } + "UpdateIdMappingTableOutput": { + "members": { + "idMappingTable": { + "shape": "IdMappingTable" + } + }, + "required": [ + "idMappingTable" + ], + "type": "structure" }, - "UpdateMembershipInput":{ - "type":"structure", - "required":["membershipIdentifier"], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" - }, - "queryLogStatus":{"shape":"MembershipQueryLogStatus"}, - "defaultResultConfiguration":{"shape":"MembershipProtectedQueryResultConfiguration"} - } + "UpdateIdNamespaceAssociationInput": { + "members": { + "description": { + "shape": "ResourceDescription" + }, + "idMappingConfig": { + "shape": "IdMappingConfig" + }, + "idNamespaceAssociationIdentifier": { + "location": "uri", + "locationName": "idNamespaceAssociationIdentifier", + "shape": "IdNamespaceAssociationIdentifier" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "name": { + "shape": "GenericResourceName" + } + }, + "required": [ + "idNamespaceAssociationIdentifier", + "membershipIdentifier" + ], + "type": "structure" }, - "UpdateMembershipOutput":{ - "type":"structure", - "required":["membership"], - "members":{ - "membership":{"shape":"Membership"} - } + "UpdateMembershipInput": { + "members": { + "defaultResultConfiguration": { + "shape": "MembershipProtectedQueryResultConfiguration" + }, + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "queryLogStatus": { + "shape": "MembershipQueryLogStatus" + } + }, + "required": [ + "membershipIdentifier" + ], + "type": "structure" }, - "UpdatePrivacyBudgetTemplateInput":{ - "type":"structure", - "required":[ + "UpdateMembershipOutput": { + "members": { + "membership": { + "shape": "Membership" + } + }, + "required": [ + "membership" + ], + "type": "structure" + }, + "UpdatePrivacyBudgetTemplateInput": { + "members": { + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" + }, + "parameters": { + "shape": "PrivacyBudgetTemplateUpdateParameters" + }, + "privacyBudgetTemplateIdentifier": { + "location": "uri", + "locationName": "privacyBudgetTemplateIdentifier", + "shape": "PrivacyBudgetTemplateIdentifier" + }, + "privacyBudgetType": { + "shape": "PrivacyBudgetType" + } + }, + "required": [ "membershipIdentifier", "privacyBudgetTemplateIdentifier", "privacyBudgetType" ], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" + "type": "structure" + }, + "UpdatePrivacyBudgetTemplateOutput": { + "members": { + "privacyBudgetTemplate": { + "shape": "PrivacyBudgetTemplate" + } + }, + "required": [ + "privacyBudgetTemplate" + ], + "type": "structure" + }, + "UpdateProtectedQueryInput": { + "members": { + "membershipIdentifier": { + "location": "uri", + "locationName": "membershipIdentifier", + "shape": "MembershipIdentifier" }, - "privacyBudgetTemplateIdentifier":{ - "shape":"PrivacyBudgetTemplateIdentifier", - "location":"uri", - "locationName":"privacyBudgetTemplateIdentifier" + "protectedQueryIdentifier": { + "location": "uri", + "locationName": "protectedQueryIdentifier", + "shape": "ProtectedQueryIdentifier" }, - "privacyBudgetType":{"shape":"PrivacyBudgetType"}, - "parameters":{"shape":"PrivacyBudgetTemplateUpdateParameters"} - } - }, - "UpdatePrivacyBudgetTemplateOutput":{ - "type":"structure", - "required":["privacyBudgetTemplate"], - "members":{ - "privacyBudgetTemplate":{"shape":"PrivacyBudgetTemplate"} - } - }, - "UpdateProtectedQueryInput":{ - "type":"structure", - "required":[ + "targetStatus": { + "shape": "TargetProtectedQueryStatus" + } + }, + "required": [ "membershipIdentifier", "protectedQueryIdentifier", "targetStatus" ], - "members":{ - "membershipIdentifier":{ - "shape":"MembershipIdentifier", - "location":"uri", - "locationName":"membershipIdentifier" - }, - "protectedQueryIdentifier":{ - "shape":"ProtectedQueryIdentifier", - "location":"uri", - "locationName":"protectedQueryIdentifier" - }, - "targetStatus":{"shape":"TargetProtectedQueryStatus"} - } + "type": "structure" }, - "UpdateProtectedQueryOutput":{ - "type":"structure", - "required":["protectedQuery"], - "members":{ - "protectedQuery":{"shape":"ProtectedQuery"} - } - }, - "UsersNoisePerQuery":{ - "type":"integer", - "box":true, - "max":100, - "min":10 - }, - "ValidationException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"}, - "reason":{"shape":"ValidationExceptionReason"}, - "fieldList":{"shape":"ValidationExceptionFieldList"} + "UpdateProtectedQueryOutput": { + "members": { + "protectedQuery": { + "shape": "ProtectedQuery" + } }, - "error":{ - "httpStatusCode":400, - "senderFault":true + "required": [ + "protectedQuery" + ], + "type": "structure" + }, + "UsersNoisePerQuery": { + "box": true, + "max": 100, + "min": 10, + "type": "integer" + }, + "ValidationException": { + "error": { + "httpStatusCode": 400, + "senderFault": true + }, + "exception": true, + "members": { + "fieldList": { + "shape": "ValidationExceptionFieldList" + }, + "message": { + "shape": "String" + }, + "reason": { + "shape": "ValidationExceptionReason" + } }, - "exception":true + "type": "structure" }, - "ValidationExceptionField":{ - "type":"structure", - "required":[ + "ValidationExceptionField": { + "members": { + "message": { + "shape": "String" + }, + "name": { + "shape": "String" + } + }, + "required": [ "name", "message" ], - "members":{ - "name":{"shape":"String"}, - "message":{"shape":"String"} - } + "type": "structure" }, - "ValidationExceptionFieldList":{ - "type":"list", - "member":{"shape":"ValidationExceptionField"} + "ValidationExceptionFieldList": { + "member": { + "shape": "ValidationExceptionField" + }, + "type": "list" }, - "ValidationExceptionReason":{ - "type":"string", - "enum":[ + "ValidationExceptionReason": { + "enum": [ "FIELD_VALIDATION_FAILED", "INVALID_CONFIGURATION", "INVALID_QUERY", "IAM_SYNCHRONIZATION_DELAY" - ] + ], + "type": "string" } - } -} + }, + "version": "2.0" +} \ No newline at end of file diff --git a/models/apis/cleanrooms/2022-02-17/docs-2.json b/models/apis/cleanrooms/2022-02-17/docs-2.json index 68807bd0536..b458191cef4 100644 --- a/models/apis/cleanrooms/2022-02-17/docs-2.json +++ b/models/apis/cleanrooms/2022-02-17/docs-2.json @@ -11,6 +11,8 @@ "CreateConfiguredTable": "

Creates a new configured table resource.

", "CreateConfiguredTableAnalysisRule": "

Creates a new analysis rule for a configured table. Currently, only one analysis rule can be created for a given configured table.

", "CreateConfiguredTableAssociation": "

Creates a configured table association. A configured table association links a configured table with a collaboration.

", + "CreateIdMappingTable": "

Creates an ID mapping table.

", + "CreateIdNamespaceAssociation": "

Creates an ID namespace association.

", "CreateMembership": "

Creates a membership for a specific collaboration identifier and joins the collaboration.

", "CreatePrivacyBudgetTemplate": "

Creates a privacy budget template for a specified membership. Each membership can have only one privacy budget template, but it can be deleted and recreated. If you need to change the privacy budget template for a membership, use the UpdatePrivacyBudgetTemplate operation.

", "DeleteAnalysisTemplate": "

Deletes an analysis template.

", @@ -19,6 +21,8 @@ "DeleteConfiguredTable": "

Deletes a configured table.

", "DeleteConfiguredTableAnalysisRule": "

Deletes a configured table analysis rule.

", "DeleteConfiguredTableAssociation": "

Deletes a configured table association.

", + "DeleteIdMappingTable": "

Deletes an ID mapping table.

", + "DeleteIdNamespaceAssociation": "

Deletes an ID namespace association.

", "DeleteMember": "

Removes the specified member from a collaboration. The removed member is placed in the Removed status and can't interact with the collaboration. The removed member's data is inaccessible to active members of the collaboration.

", "DeleteMembership": "

Deletes a specified membership. All resources under a membership must be deleted.

", "DeletePrivacyBudgetTemplate": "

Deletes a privacy budget template for a specified membership.

", @@ -26,11 +30,14 @@ "GetCollaboration": "

Returns metadata about a collaboration.

", "GetCollaborationAnalysisTemplate": "

Retrieves an analysis template within a collaboration.

", "GetCollaborationConfiguredAudienceModelAssociation": "

Retrieves a configured audience model association within a collaboration.

", + "GetCollaborationIdNamespaceAssociation": "

Retrieves an ID namespace association from a specific collaboration.

", "GetCollaborationPrivacyBudgetTemplate": "

Returns details about a specified privacy budget template.

", "GetConfiguredAudienceModelAssociation": "

Returns information about a configured audience model association.

", "GetConfiguredTable": "

Retrieves a configured table.

", "GetConfiguredTableAnalysisRule": "

Retrieves a configured table analysis rule.

", "GetConfiguredTableAssociation": "

Retrieves a configured table association.

", + "GetIdMappingTable": "

Retrieves an ID mapping table.

", + "GetIdNamespaceAssociation": "

Retrieves an ID namespace association.

", "GetMembership": "

Retrieves a specified membership for an identifier.

", "GetPrivacyBudgetTemplate": "

Returns details for a specified privacy budget template.

", "GetProtectedQuery": "

Returns query processing metadata.

", @@ -39,12 +46,15 @@ "ListAnalysisTemplates": "

Lists analysis templates that the caller owns.

", "ListCollaborationAnalysisTemplates": "

Lists analysis templates within a collaboration.

", "ListCollaborationConfiguredAudienceModelAssociations": "

Lists configured audience model associations within a collaboration.

", + "ListCollaborationIdNamespaceAssociations": "

Returns a list of the ID namespace associations in a collaboration.

", "ListCollaborationPrivacyBudgetTemplates": "

Returns an array that summarizes each privacy budget template in a specified collaboration.

", "ListCollaborationPrivacyBudgets": "

Returns an array that summarizes each privacy budget in a specified collaboration. The summary includes the collaboration ARN, creation time, creating account, and privacy budget details.

", "ListCollaborations": "

Lists collaborations the caller owns, is active in, or has been invited to.

", "ListConfiguredAudienceModelAssociations": "

Lists information about requested configured audience model associations.

", "ListConfiguredTableAssociations": "

Lists configured table associations for a membership.

", "ListConfiguredTables": "

Lists configured tables.

", + "ListIdMappingTables": "

Returns a list of ID mapping tables.

", + "ListIdNamespaceAssociations": "

Returns a list of ID namespace associations.

", "ListMembers": "

Lists all members within a collaboration.

", "ListMemberships": "

Lists all memberships resources within the caller's account.

", "ListPrivacyBudgetTemplates": "

Returns detailed information about the privacy budget templates in a specified membership.

", @@ -52,6 +62,7 @@ "ListProtectedQueries": "

Lists protected queries, sorted by the most recent query.

", "ListSchemas": "

Lists the schemas for relations within a collaboration.

", "ListTagsForResource": "

Lists all of the tags that have been added to a resource.

", + "PopulateIdMappingTable": "

Defines the information that's necessary to populate an ID mapping table.

", "PreviewPrivacyImpact": "

An estimate of the number of aggregation functions that the member who can query can run given epsilon and noise parameters.

", "StartProtectedQuery": "

Creates a protected query that is started by Clean Rooms.

", "TagResource": "

Tags a resource.

", @@ -62,6 +73,8 @@ "UpdateConfiguredTable": "

Updates a configured table.

", "UpdateConfiguredTableAnalysisRule": "

Updates a configured table analysis rule.

", "UpdateConfiguredTableAssociation": "

Updates a configured table association.

", + "UpdateIdMappingTable": "

Provides the details that are necessary to update an ID mapping table.

", + "UpdateIdNamespaceAssociation": "

Provides the details that are necessary to update an ID namespace association.

", "UpdateMembership": "

Updates a membership.

", "UpdatePrivacyBudgetTemplate": "

Updates the privacy budget template for the specified membership.

", "UpdateProtectedQuery": "

Updates the processing of a currently running query.

" @@ -85,8 +98,10 @@ "Collaboration$creatorAccountId": "

The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

", "CollaborationAnalysisTemplate$creatorAccountId": "

The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

", "CollaborationAnalysisTemplateSummary$creatorAccountId": "

The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

", - "CollaborationConfiguredAudienceModelAssociation$creatorAccountId": "

The identifier used to reference members of the collaboration. Only supports AWS account ID.

", - "CollaborationConfiguredAudienceModelAssociationSummary$creatorAccountId": "

The identifier used to reference members of the collaboration. Only supports AWS account ID.

", + "CollaborationConfiguredAudienceModelAssociation$creatorAccountId": "

The identifier used to reference members of the collaboration. Only supports Amazon Web Services account ID.

", + "CollaborationConfiguredAudienceModelAssociationSummary$creatorAccountId": "

The identifier used to reference members of the collaboration. Only supports Amazon Web Services account ID.

", + "CollaborationIdNamespaceAssociation$creatorAccountId": "

The unique identifier of the Amazon Web Services account that created the collaboration ID namespace association.

", + "CollaborationIdNamespaceAssociationSummary$creatorAccountId": "

The Amazon Web Services account that created this collaboration ID namespace association.

", "CollaborationPrivacyBudgetSummary$creatorAccountId": "

The unique identifier of the account that created this privacy budget.

", "CollaborationPrivacyBudgetTemplate$creatorAccountId": "

The unique identifier of the account that created this collaboration privacy budget template.

", "CollaborationPrivacyBudgetTemplateSummary$creatorAccountId": "

The unique identifier of the account that created this collaboration privacy budget template.

", @@ -164,7 +179,7 @@ "ConfiguredTable$analysisMethod": "

The analysis method for the configured table. The only valid value is currently `DIRECT_QUERY`.

", "ConfiguredTableSummary$analysisMethod": "

The analysis method for the configured tables. The only valid value is currently `DIRECT_QUERY`.

", "CreateConfiguredTableInput$analysisMethod": "

The analysis method for the configured tables. The only valid value is currently `DIRECT_QUERY`.

", - "Schema$analysisMethod": "

The analysis method for the schema. The only valid value is currently DIRECT_QUERY.

", + "Schema$analysisMethod": "

The analysis method for the schema. The only valid value is currently DIRECT_QUERY.

", "SchemaSummary$analysisMethod": "

The analysis method for the associated schema. The only valid value is currently `DIRECT_QUERY`.

" } }, @@ -207,7 +222,9 @@ "refs": { "AnalysisRuleAggregation$joinColumns": "

Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly.

", "AnalysisRuleAggregation$dimensionColumns": "

The columns that query runners are allowed to select, group by, or filter by.

", - "AnalysisRuleList$listColumns": "

Columns that can be listed in the output.

" + "AnalysisRuleIdMappingTable$dimensionColumns": "

The columns that query runners are allowed to select, group by, or filter by.

", + "AnalysisRuleList$listColumns": "

Columns that can be listed in the output.

", + "QueryConstraintRequireOverlap$columns": "

The columns that are required to overlap.

" } }, "AnalysisRuleColumnName": { @@ -216,6 +233,7 @@ "AggregateColumnColumnNamesList$member": null, "AggregationConstraint$columnName": "

Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output.

", "AnalysisRuleColumnList$member": null, + "AnalysisRuleIdMappingTableJoinColumnsList$member": null, "AnalysisRuleListJoinColumnsList$member": null } }, @@ -238,6 +256,18 @@ "AnalysisRuleCustom$allowedAnalysisProviders": "

The IDs of the Amazon Web Services accounts that are allowed to query by the custom analysis rule. Required when allowedAnalyses is ANY_QUERY.

" } }, + "AnalysisRuleIdMappingTable": { + "base": "

Defines details for the analysis rule ID mapping table.

", + "refs": { + "AnalysisRulePolicyV1$idMappingTable": "

The ID mapping table.

" + } + }, + "AnalysisRuleIdMappingTableJoinColumnsList": { + "base": null, + "refs": { + "AnalysisRuleIdMappingTable$joinColumns": "

The columns that query runners are allowed to use in an INNER JOIN statement.

" + } + }, "AnalysisRuleList": { "base": "

A type of analysis rule that enables row-level analysis.

", "refs": { @@ -277,7 +307,7 @@ "AnalysisRuleTypeList": { "base": null, "refs": { - "Schema$analysisRuleTypes": "

The analysis rule types associated with the schema. Currently, only one entry is present.

", + "Schema$analysisRuleTypes": "

The analysis rule types that are associated with the schema. Currently, only one entry is present.

", "SchemaSummary$analysisRuleTypes": "

The types of analysis rules that are associated with this schema object.

" } }, @@ -471,6 +501,9 @@ "DataEncryptionMetadata$allowDuplicates": "

Indicates whether Fingerprint columns can contain duplicate entries (TRUE) or are to contain only non-repeated values (FALSE).

", "DataEncryptionMetadata$allowJoinsOnColumnsWithDifferentNames": "

Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name (TRUE) or can only be joined on Fingerprint columns of the same name (FALSE).

", "DataEncryptionMetadata$preserveNulls": "

Indicates whether NULL values are to be copied as NULL to encrypted tables (TRUE) or cryptographically processed (FALSE).

", + "IdMappingConfig$allowUseAsDimensionColumn": "

An indicator as to whether you can use your column as a dimension column in the ID mapping table (TRUE) or not (FALSE).

Default is FALSE.

", + "IdMappingTableInputReferenceConfig$manageResourcePolicies": "

When TRUE, Clean Rooms manages permissions for the ID mapping table resource.

When FALSE, the resource owner manages permissions for the ID mapping table resource.

", + "IdNamespaceAssociationInputReferenceConfig$manageResourcePolicies": "

When TRUE, Clean Rooms manages permissions for the ID namespace association resource.

When FALSE, the resource owner manages permissions for the ID namespace association resource.

", "MembershipQueryComputePaymentConfig$isResponsible": "

Indicates whether the collaboration member has accepted to pay for query compute costs (TRUE) or has not accepted to pay for query compute costs (FALSE).

If the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer.

An error message is returned for the following reasons:

", "QueryComputePaymentConfig$isResponsible": "

Indicates whether the collaboration creator has configured the collaboration member to pay for query compute costs (TRUE) or has not configured the collaboration member to pay for query compute costs (FALSE).

Exactly one member can be configured to pay for query compute costs. An error is returned if the collaboration creator sets a TRUE value for more than one member in the collaboration.

If the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a FALSE value for the member who can query.

" } @@ -526,18 +559,24 @@ "CollaborationAnalysisTemplateSummary$collaborationArn": "

The unique ARN for the analysis template’s associated collaboration.

", "CollaborationConfiguredAudienceModelAssociation$collaborationArn": "

The unique ARN for the configured audience model's associated collaboration.

", "CollaborationConfiguredAudienceModelAssociationSummary$collaborationArn": "

The unique ARN for the configured audience model's associated collaboration.

", + "CollaborationIdNamespaceAssociation$collaborationArn": "

The Amazon Resource Name (ARN) of the collaboration that contains the collaboration ID namespace association.

", + "CollaborationIdNamespaceAssociationSummary$collaborationArn": "

The Amazon Resource Name (ARN) of the collaboration that contains this collaboration ID namespace association.

", "CollaborationPrivacyBudgetSummary$collaborationArn": "

The ARN of the collaboration that includes this privacy budget.

", "CollaborationPrivacyBudgetTemplate$collaborationArn": "

The ARN of the collaboration that includes this collaboration privacy budget template.

", "CollaborationPrivacyBudgetTemplateSummary$collaborationArn": "

The ARN of the collaboration that contains this collaboration privacy budget template.

", "CollaborationSummary$arn": "

The ARN of the collaboration.

", "ConfiguredAudienceModelAssociation$collaborationArn": "

The Amazon Resource Name (ARN) of the collaboration that contains this configured audience model association.

", "ConfiguredAudienceModelAssociationSummary$collaborationArn": "

The Amazon Resource Name (ARN) of the collaboration that contains the configured audience model association.

", + "IdMappingTable$collaborationArn": "

The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table.

", + "IdMappingTableSummary$collaborationArn": "

The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table.

", + "IdNamespaceAssociation$collaborationArn": "

The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association.

", + "IdNamespaceAssociationSummary$collaborationArn": "

The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association.

", "Membership$collaborationArn": "

The unique ARN for the membership's associated collaboration.

", "MembershipSummary$collaborationArn": "

The unique ARN for the membership's associated collaboration.

", "PrivacyBudgetSummary$collaborationArn": "

The ARN of the collaboration that contains this privacy budget.

", "PrivacyBudgetTemplate$collaborationArn": "

The ARN of the collaboration that contains this privacy budget template.

", "PrivacyBudgetTemplateSummary$collaborationArn": "

The ARN of the collaboration that contains this privacy budget template.

", - "Schema$collaborationArn": "

The unique ARN for the collaboration that the schema belongs to.

", + "Schema$collaborationArn": "

The unique Amazon Resource Name (ARN) for the collaboration that the schema belongs to.

", "SchemaSummary$collaborationArn": "

The unique ARN for the collaboration that the schema belongs to.

" } }, @@ -567,6 +606,24 @@ "UpdateCollaborationInput$description": "

A description of the collaboration.

" } }, + "CollaborationIdNamespaceAssociation": { + "base": "

Defines details for the collaboration ID namespace association.

", + "refs": { + "GetCollaborationIdNamespaceAssociationOutput$collaborationIdNamespaceAssociation": "

The ID namespace association that you requested.

" + } + }, + "CollaborationIdNamespaceAssociationSummary": { + "base": "

Provides summary information about the collaboration ID namespace association.

", + "refs": { + "CollaborationIdNamespaceAssociationSummaryList$member": null + } + }, + "CollaborationIdNamespaceAssociationSummaryList": { + "base": null, + "refs": { + "ListCollaborationIdNamespaceAssociationsOutput$collaborationIdNamespaceAssociationSummaries": "

The summary information of the collaboration ID namespace associations that you requested.

" + } + }, "CollaborationIdentifier": { "base": null, "refs": { @@ -579,12 +636,14 @@ "DeleteMemberInput$collaborationIdentifier": "

The unique identifier for the associated collaboration.

", "GetCollaborationAnalysisTemplateInput$collaborationIdentifier": "

A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID.

", "GetCollaborationConfiguredAudienceModelAssociationInput$collaborationIdentifier": "

A unique identifier for the collaboration that the configured audience model association belongs to. Accepts a collaboration ID.

", + "GetCollaborationIdNamespaceAssociationInput$collaborationIdentifier": "

The unique identifier of the collaboration that contains the ID namespace association that you want to retrieve.

", "GetCollaborationInput$collaborationIdentifier": "

The identifier for the collaboration.

", "GetCollaborationPrivacyBudgetTemplateInput$collaborationIdentifier": "

A unique identifier for one of your collaborations.

", "GetSchemaAnalysisRuleInput$collaborationIdentifier": "

A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID.

", "GetSchemaInput$collaborationIdentifier": "

A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID.

", "ListCollaborationAnalysisTemplatesInput$collaborationIdentifier": "

A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID.

", "ListCollaborationConfiguredAudienceModelAssociationsInput$collaborationIdentifier": "

A unique identifier for the collaboration that the configured audience model association belongs to. Accepts a collaboration ID.

", + "ListCollaborationIdNamespaceAssociationsInput$collaborationIdentifier": "

The unique identifier of the collaboration that contains the ID namespace associations that you want to retrieve.

", "ListCollaborationPrivacyBudgetTemplatesInput$collaborationIdentifier": "

A unique identifier for one of your collaborations.

", "ListCollaborationPrivacyBudgetsInput$collaborationIdentifier": "

A unique identifier for one of your collaborations.

", "ListMembersInput$collaborationIdentifier": "

The identifier of the collaboration in which the members are listed.

", @@ -662,7 +721,7 @@ "ColumnList": { "base": null, "refs": { - "Schema$columns": "

The columns for the relation this schema represents.

", + "Schema$columns": "

The columns for the relation that this schema represents.

", "Schema$partitionKeys": "

The partition keys for the dataset underlying this schema.

" } }, @@ -929,6 +988,26 @@ "refs": { } }, + "CreateIdMappingTableInput": { + "base": null, + "refs": { + } + }, + "CreateIdMappingTableOutput": { + "base": null, + "refs": { + } + }, + "CreateIdNamespaceAssociationInput": { + "base": null, + "refs": { + } + }, + "CreateIdNamespaceAssociationOutput": { + "base": null, + "refs": { + } + }, "CreateMembershipInput": { "base": null, "refs": { @@ -1016,6 +1095,26 @@ "refs": { } }, + "DeleteIdMappingTableInput": { + "base": null, + "refs": { + } + }, + "DeleteIdMappingTableOutput": { + "base": null, + "refs": { + } + }, + "DeleteIdNamespaceAssociationInput": { + "base": null, + "refs": { + } + }, + "DeleteIdNamespaceAssociationOutput": { + "base": null, + "refs": { + } + }, "DeleteMemberInput": { "base": null, "refs": { @@ -1196,6 +1295,12 @@ "UpdateConfiguredTableInput$name": "

A new name for the configured table.

" } }, + "Document": { + "base": null, + "refs": { + "IdMappingWorkflowsSupported$member": null + } + }, "Double": { "base": null, "refs": { @@ -1225,6 +1330,17 @@ "DifferentialPrivacySensitivityParameters$maxColumnValue": "

The upper bound of the aggregation expression.

" } }, + "GenericResourceName": { + "base": null, + "refs": { + "CollaborationIdNamespaceAssociation$name": "

The name of the collaboration ID namespace association.

", + "CollaborationIdNamespaceAssociationSummary$name": "

The name of the collaboration ID namespace association.

", + "CreateIdNamespaceAssociationInput$name": "

The name for the ID namespace association.

", + "IdNamespaceAssociation$name": "

The name of this ID namespace association.

", + "IdNamespaceAssociationSummary$name": "

The name of the ID namespace association.

", + "UpdateIdNamespaceAssociationInput$name": "

A new name for the ID namespace association.

" + } + }, "GetAnalysisTemplateInput": { "base": null, "refs": { @@ -1255,6 +1371,16 @@ "refs": { } }, + "GetCollaborationIdNamespaceAssociationInput": { + "base": null, + "refs": { + } + }, + "GetCollaborationIdNamespaceAssociationOutput": { + "base": null, + "refs": { + } + }, "GetCollaborationInput": { "base": null, "refs": { @@ -1315,6 +1441,26 @@ "refs": { } }, + "GetIdMappingTableInput": { + "base": null, + "refs": { + } + }, + "GetIdMappingTableOutput": { + "base": null, + "refs": { + } + }, + "GetIdNamespaceAssociationInput": { + "base": null, + "refs": { + } + }, + "GetIdNamespaceAssociationOutput": { + "base": null, + "refs": { + } + }, "GetMembershipInput": { "base": null, "refs": { @@ -1383,6 +1529,166 @@ "TableReference$glue": "

If present, a reference to the Glue table referred to by this table reference.

" } }, + "IdMappingConfig": { + "base": "

The configuration settings for the ID mapping table.

", + "refs": { + "CollaborationIdNamespaceAssociation$idMappingConfig": null, + "CreateIdNamespaceAssociationInput$idMappingConfig": "

The configuration settings for the ID mapping table.

", + "IdNamespaceAssociation$idMappingConfig": "

The configuration settings for the ID mapping table.

", + "UpdateIdNamespaceAssociationInput$idMappingConfig": "

The configuration settings for the ID mapping table.

" + } + }, + "IdMappingTable": { + "base": "

Describes information about the ID mapping table.

", + "refs": { + "CreateIdMappingTableOutput$idMappingTable": "

The ID mapping table that was created.

", + "GetIdMappingTableOutput$idMappingTable": "

The ID mapping table that you requested.

", + "UpdateIdMappingTableOutput$idMappingTable": "

The updated ID mapping table.

" + } + }, + "IdMappingTableArn": { + "base": null, + "refs": { + "IdMappingTable$arn": "

The Amazon Resource Name (ARN) of the ID mapping table.

", + "IdMappingTableSummary$arn": "

The Amazon Resource Name (ARN) of this ID mapping table.

" + } + }, + "IdMappingTableInputReferenceArn": { + "base": null, + "refs": { + "IdMappingTableInputReferenceConfig$inputReferenceArn": "

The Amazon Resource Name (ARN) of the referenced resource in Entity Resolution. Valid values are ID mapping workflow ARNs.

" + } + }, + "IdMappingTableInputReferenceConfig": { + "base": "

Provides the input reference configuration for the ID mapping table.

", + "refs": { + "CreateIdMappingTableInput$inputReferenceConfig": "

The input reference configuration needed to create the ID mapping table.

", + "IdMappingTable$inputReferenceConfig": "

The input reference configuration for the ID mapping table.

", + "IdMappingTableSummary$inputReferenceConfig": "

The input reference configuration for the ID mapping table.

" + } + }, + "IdMappingTableInputReferenceProperties": { + "base": "

The input reference properties for the ID mapping table.

", + "refs": { + "IdMappingTable$inputReferenceProperties": "

The input reference properties for the ID mapping table.

" + } + }, + "IdMappingTableInputSource": { + "base": "

The input source of the ID mapping table.

", + "refs": { + "IdMappingTableInputSourceList$member": null + } + }, + "IdMappingTableInputSourceList": { + "base": null, + "refs": { + "IdMappingTableInputReferenceProperties$idMappingTableInputSource": "

The input source of the ID mapping table.

", + "IdMappingTableSchemaTypeProperties$idMappingTableInputSource": "

Defines which ID namespace associations are used to create the ID mapping table.

" + } + }, + "IdMappingTableSchemaTypeProperties": { + "base": "

Additional properties that are specific to the type of the associated schema.

", + "refs": { + "SchemaTypeProperties$idMappingTable": "

The ID mapping table for the schema type properties.

" + } + }, + "IdMappingTableSummary": { + "base": "

Detailed information about the ID mapping table.

", + "refs": { + "IdMappingTableSummaryList$member": null + } + }, + "IdMappingTableSummaryList": { + "base": null, + "refs": { + "ListIdMappingTablesOutput$idMappingTableSummaries": "

The summary information of the ID mapping tables that you requested.

" + } + }, + "IdMappingWorkflowsSupported": { + "base": null, + "refs": { + "IdNamespaceAssociationInputReferenceProperties$idMappingWorkflowsSupported": "

Defines how ID mapping workflows are supported for this ID namespace association.

" + } + }, + "IdNamespaceAssociation": { + "base": "

Provides information to create the ID namespace association.

", + "refs": { + "CreateIdNamespaceAssociationOutput$idNamespaceAssociation": "

The ID namespace association that was created.

", + "GetIdNamespaceAssociationOutput$idNamespaceAssociation": "

The ID namespace association that you requested.

", + "UpdateIdNamespaceAssociationOutput$idNamespaceAssociation": "

The updated ID namespace association.

" + } + }, + "IdNamespaceAssociationArn": { + "base": null, + "refs": { + "CollaborationIdNamespaceAssociation$arn": "

The Amazon Resource Name (ARN) of the collaboration ID namespace association.

", + "CollaborationIdNamespaceAssociationSummary$arn": "

The Amazon Resource Name (ARN) of the collaboration ID namespace association.

", + "IdNamespaceAssociation$arn": "

The Amazon Resource Name (ARN) of the ID namespace association.

", + "IdNamespaceAssociationSummary$arn": "

The Amazon Resource Name (ARN) of this ID namespace association.

" + } + }, + "IdNamespaceAssociationIdentifier": { + "base": null, + "refs": { + "CollaborationIdNamespaceAssociation$id": "

The unique identifier of the collaboration ID namespace association.

", + "CollaborationIdNamespaceAssociationSummary$id": "

The unique identifier of the collaboration ID namespace association.

", + "DeleteIdNamespaceAssociationInput$idNamespaceAssociationIdentifier": "

The unique identifier of the ID namespace association that you want to delete.

", + "GetCollaborationIdNamespaceAssociationInput$idNamespaceAssociationIdentifier": "

The unique identifier of the ID namespace association that you want to retrieve.

", + "GetIdNamespaceAssociationInput$idNamespaceAssociationIdentifier": "

The unique identifier of the ID namespace association that you want to retrieve.

", + "IdNamespaceAssociation$id": "

The unique identifier for this ID namespace association.

", + "UpdateIdNamespaceAssociationInput$idNamespaceAssociationIdentifier": "

The unique identifier of the ID namespace association that you want to update.

" + } + }, + "IdNamespaceAssociationInputReferenceArn": { + "base": null, + "refs": { + "IdNamespaceAssociationInputReferenceConfig$inputReferenceArn": "

The Amazon Resource Name (ARN) of the Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own.

" + } + }, + "IdNamespaceAssociationInputReferenceConfig": { + "base": "

Provides the information for the ID namespace association input reference configuration.

", + "refs": { + "CollaborationIdNamespaceAssociation$inputReferenceConfig": "

The input reference configuration that's necessary to create the collaboration ID namespace association.

", + "CollaborationIdNamespaceAssociationSummary$inputReferenceConfig": "

The input reference configuration that's used to create the collaboration ID namespace association.

", + "CreateIdNamespaceAssociationInput$inputReferenceConfig": "

The input reference configuration needed to create the ID namespace association.

", + "IdNamespaceAssociation$inputReferenceConfig": "

The input reference configuration for the ID namespace association.

", + "IdNamespaceAssociationSummary$inputReferenceConfig": "

The input reference configuration details for this ID namespace association.

" + } + }, + "IdNamespaceAssociationInputReferenceProperties": { + "base": "

Provides the information for the ID namespace association input reference properties.

", + "refs": { + "CollaborationIdNamespaceAssociation$inputReferenceProperties": "

The input reference properties that are needed to create the collaboration ID namespace association.

", + "IdNamespaceAssociation$inputReferenceProperties": "

The input reference properties for the ID namespace association.

" + } + }, + "IdNamespaceAssociationInputReferencePropertiesSummary": { + "base": "

Detailed information about the ID namespace association input reference properties.

", + "refs": { + "CollaborationIdNamespaceAssociationSummary$inputReferenceProperties": "

The input reference properties that are used to create the collaboration ID namespace association.

", + "IdNamespaceAssociationSummary$inputReferenceProperties": "

The input reference properties for this ID namespace association.

" + } + }, + "IdNamespaceAssociationSummary": { + "base": "

Detailed information about the ID namespace association.

", + "refs": { + "IdNamespaceAssociationSummaryList$member": null + } + }, + "IdNamespaceAssociationSummaryList": { + "base": null, + "refs": { + "ListIdNamespaceAssociationsOutput$idNamespaceAssociationSummaries": "

The summary information of the ID namespace associations that you requested.

" + } + }, + "IdNamespaceType": { + "base": null, + "refs": { + "IdMappingTableInputSource$type": "

The type of the input source of the ID mapping table.

", + "IdNamespaceAssociationInputReferenceProperties$idNamespaceType": "

The ID namespace type for this ID namespace association.

", + "IdNamespaceAssociationInputReferencePropertiesSummary$idNamespaceType": "

The ID namespace type for this ID namespace association.

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

Unexpected error during processing of request.

", "refs": { @@ -1407,6 +1713,14 @@ "AnalysisRuleAggregation$joinRequired": "

Control that requires member who runs query to do a join with their configured table and/or other configured table in query.

" } }, + "KMSKeyArn": { + "base": null, + "refs": { + "CreateIdMappingTableInput$kmsKeyArn": "

The Amazon Resource Name (ARN) of the Amazon Web Services KMS key. This value is used to encrypt the mapping table data that is stored by Clean Rooms.

", + "IdMappingTable$kmsKeyArn": "

The Amazon Resource Name (ARN) of the Amazon Web Services KMS key.

", + "UpdateIdMappingTableInput$kmsKeyArn": "

The Amazon Resource Name (ARN) of the Amazon Web Services KMS key.

" + } + }, "KeyPrefix": { "base": null, "refs": { @@ -1443,6 +1757,16 @@ "refs": { } }, + "ListCollaborationIdNamespaceAssociationsInput": { + "base": null, + "refs": { + } + }, + "ListCollaborationIdNamespaceAssociationsOutput": { + "base": null, + "refs": { + } + }, "ListCollaborationPrivacyBudgetTemplatesInput": { "base": null, "refs": { @@ -1503,6 +1827,26 @@ "refs": { } }, + "ListIdMappingTablesInput": { + "base": null, + "refs": { + } + }, + "ListIdMappingTablesOutput": { + "base": null, + "refs": { + } + }, + "ListIdNamespaceAssociationsInput": { + "base": null, + "refs": { + } + }, + "ListIdNamespaceAssociationsOutput": { + "base": null, + "refs": { + } + }, "ListMembersInput": { "base": null, "refs": { @@ -1582,21 +1926,24 @@ "MaxResults": { "base": null, "refs": { - "ListAnalysisTemplatesInput$maxResults": "

The maximum size of the results that is returned per call.

", - "ListCollaborationAnalysisTemplatesInput$maxResults": "

The maximum size of the results that is returned per call.

", - "ListCollaborationConfiguredAudienceModelAssociationsInput$maxResults": "

The maximum size of the results that is returned per call.

", - "ListCollaborationPrivacyBudgetTemplatesInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.

", - "ListCollaborationPrivacyBudgetsInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.

", - "ListCollaborationsInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.

", - "ListConfiguredAudienceModelAssociationsInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.

", - "ListConfiguredTableAssociationsInput$maxResults": "

The maximum size of the results that is returned per call.

", - "ListConfiguredTablesInput$maxResults": "

The maximum size of the results that is returned per call.

", - "ListMembersInput$maxResults": "

The maximum size of the results that is returned per call.

", - "ListMembershipsInput$maxResults": "

The maximum size of the results that is returned per call.

", - "ListPrivacyBudgetTemplatesInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.

", - "ListPrivacyBudgetsInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.

", - "ListProtectedQueriesInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service can return a nextToken even if the maximum results has not been met.

", - "ListSchemasInput$maxResults": "

The maximum size of the results that is returned per call.

" + "ListAnalysisTemplatesInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

", + "ListCollaborationAnalysisTemplatesInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

", + "ListCollaborationConfiguredAudienceModelAssociationsInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

", + "ListCollaborationIdNamespaceAssociationsInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.>

", + "ListCollaborationPrivacyBudgetTemplatesInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

", + "ListCollaborationPrivacyBudgetsInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

", + "ListCollaborationsInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

", + "ListConfiguredAudienceModelAssociationsInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

", + "ListConfiguredTableAssociationsInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

", + "ListConfiguredTablesInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

", + "ListIdMappingTablesInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.

", + "ListIdNamespaceAssociationsInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.

", + "ListMembersInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

", + "ListMembershipsInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

", + "ListPrivacyBudgetTemplatesInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

", + "ListPrivacyBudgetsInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

", + "ListProtectedQueriesInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

", + "ListSchemasInput$maxResults": "

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been met.

" } }, "MemberAbilities": { @@ -1666,6 +2013,10 @@ "ConfiguredAudienceModelAssociationSummary$membershipArn": "

The Amazon Resource Name (ARN) of the membership that contains the configured audience model association.

", "ConfiguredTableAssociation$membershipArn": "

The unique ARN for the membership this configured table association belongs to.

", "ConfiguredTableAssociationSummary$membershipArn": "

The unique ARN for the membership that the configured table association belongs to.

", + "IdMappingTable$membershipArn": "

The Amazon Resource Name (ARN) of the membership resource for the ID mapping table.

", + "IdMappingTableSummary$membershipArn": "

The Amazon Resource Name (ARN) of the membership resource for this ID mapping table.

", + "IdNamespaceAssociation$membershipArn": "

The Amazon Resource Name (ARN) of the membership resource for this ID namespace association.

", + "IdNamespaceAssociationSummary$membershipArn": "

The Amazon Resource Name (ARN) of the membership resource for this ID namespace association.

", "MemberSummary$membershipArn": "

The unique ARN for the member's associated membership, if present.

", "Membership$arn": "

The unique ARN for the membership.

", "MembershipSummary$arn": "

The unique ARN for the membership.

", @@ -1684,30 +2035,43 @@ "CreateAnalysisTemplateInput$membershipIdentifier": "

The identifier for a membership resource.

", "CreateConfiguredAudienceModelAssociationInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The configured audience model is associated to the collaboration that this membership belongs to. Accepts a membership ID.

", "CreateConfiguredTableAssociationInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The configured table is associated to the collaboration that this membership belongs to. Currently accepts a membership ID.

", + "CreateIdMappingTableInput$membershipIdentifier": "

The unique identifier of the membership that contains the ID mapping table.

", + "CreateIdNamespaceAssociationInput$membershipIdentifier": "

The unique identifier of the membership that contains the ID namespace association.

", "CreatePrivacyBudgetTemplateInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The privacy budget template is created in the collaboration that this membership belongs to. Accepts a membership ID.

", "DeleteAnalysisTemplateInput$membershipIdentifier": "

The identifier for a membership resource.

", "DeleteConfiguredAudienceModelAssociationInput$membershipIdentifier": "

A unique identifier of the membership that contains the audience model association that you want to delete.

", "DeleteConfiguredTableAssociationInput$membershipIdentifier": "

A unique identifier for the membership that the configured table association belongs to. Currently accepts the membership ID.

", + "DeleteIdMappingTableInput$membershipIdentifier": "

The unique identifier of the membership that contains the ID mapping table that you want to delete.

", + "DeleteIdNamespaceAssociationInput$membershipIdentifier": "

The unique identifier of the membership that contains the ID namespace association that you want to delete.

", "DeleteMembershipInput$membershipIdentifier": "

The identifier for a membership resource.

", "DeletePrivacyBudgetTemplateInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The privacy budget template is deleted from the collaboration that this membership belongs to. Accepts a membership ID.

", "GetAnalysisTemplateInput$membershipIdentifier": "

The identifier for a membership resource.

", "GetConfiguredAudienceModelAssociationInput$membershipIdentifier": "

A unique identifier for the membership that contains the configured audience model association that you want to retrieve.

", "GetConfiguredTableAssociationInput$membershipIdentifier": "

A unique identifier for the membership that the configured table association belongs to. Currently accepts the membership ID.

", + "GetIdMappingTableInput$membershipIdentifier": "

The unique identifier of the membership that contains the ID mapping table that you want to retrieve.

", + "GetIdNamespaceAssociationInput$membershipIdentifier": "

The unique identifier of the membership that contains the ID namespace association that you want to retrieve.

", "GetMembershipInput$membershipIdentifier": "

The identifier for a membership resource.

", "GetPrivacyBudgetTemplateInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The privacy budget template is retrieved from the collaboration that this membership belongs to. Accepts a membership ID.

", "GetProtectedQueryInput$membershipIdentifier": "

The identifier for a membership in a protected query instance.

", + "IdMappingTableSummary$membershipId": "

The unique identifier of the membership resource for this ID mapping table.

", + "IdNamespaceAssociationSummary$membershipId": "

The unique identifier of the membership resource for this ID namespace association.

", "ListAnalysisTemplatesInput$membershipIdentifier": "

The identifier for a membership resource.

", "ListConfiguredAudienceModelAssociationsInput$membershipIdentifier": "

A unique identifier for a membership that contains the configured audience model associations that you want to retrieve.

", "ListConfiguredTableAssociationsInput$membershipIdentifier": "

A unique identifier for the membership to list configured table associations for. Currently accepts the membership ID.

", + "ListIdMappingTablesInput$membershipIdentifier": "

The unique identifier of the membership that contains the ID mapping tables that you want to view.

", + "ListIdNamespaceAssociationsInput$membershipIdentifier": "

The unique identifier of the membership that contains the ID namespace association that you want to view.

", "ListPrivacyBudgetTemplatesInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The privacy budget templates are retrieved from the collaboration that this membership belongs to. Accepts a membership ID.

", "ListPrivacyBudgetsInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The privacy budget is retrieved from the collaboration that this membership belongs to. Accepts a membership ID.

", "ListProtectedQueriesInput$membershipIdentifier": "

The identifier for the membership in the collaboration.

", + "PopulateIdMappingTableInput$membershipIdentifier": "

The unique identifier of the membership that contains the ID mapping table that you want to populate.

", "PreviewPrivacyImpactInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. Accepts a membership ID.

", "PrivacyBudgetSummary$membershipId": "

The identifier for a membership resource.

", "StartProtectedQueryInput$membershipIdentifier": "

A unique identifier for the membership to run this query against. Currently accepts a membership ID.

", "UpdateAnalysisTemplateInput$membershipIdentifier": "

The identifier for a membership resource.

", "UpdateConfiguredAudienceModelAssociationInput$membershipIdentifier": "

A unique identifier of the membership that contains the configured audience model association that you want to update.

", "UpdateConfiguredTableAssociationInput$membershipIdentifier": "

The unique ID for the membership that the configured table association belongs to.

", + "UpdateIdMappingTableInput$membershipIdentifier": "

The unique identifier of the membership that contains the ID mapping table that you want to update.

", + "UpdateIdNamespaceAssociationInput$membershipIdentifier": "

The unique identifier of the membership that contains the ID namespace association that you want to update.

", "UpdateMembershipInput$membershipIdentifier": "

The unique identifier of the membership.

", "UpdatePrivacyBudgetTemplateInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The privacy budget template is updated in the collaboration that this membership belongs to. Accepts a membership ID.

", "UpdateProtectedQueryInput$membershipIdentifier": "

The identifier for a member of a protected query instance.

" @@ -1772,36 +2136,42 @@ "PaginationToken": { "base": null, "refs": { - "ListAnalysisTemplatesInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListAnalysisTemplatesOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListCollaborationAnalysisTemplatesInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListCollaborationAnalysisTemplatesOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListCollaborationConfiguredAudienceModelAssociationsInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListCollaborationConfiguredAudienceModelAssociationsOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListCollaborationPrivacyBudgetTemplatesInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListCollaborationPrivacyBudgetTemplatesOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListCollaborationPrivacyBudgetsInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListCollaborationPrivacyBudgetsOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListCollaborationsInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListCollaborationsOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListConfiguredAudienceModelAssociationsInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListAnalysisTemplatesInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListAnalysisTemplatesOutput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListCollaborationAnalysisTemplatesInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListCollaborationAnalysisTemplatesOutput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListCollaborationConfiguredAudienceModelAssociationsInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListCollaborationConfiguredAudienceModelAssociationsOutput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListCollaborationIdNamespaceAssociationsInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListCollaborationIdNamespaceAssociationsOutput$nextToken": "

The token value provided to access the next page of results.

", + "ListCollaborationPrivacyBudgetTemplatesInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListCollaborationPrivacyBudgetTemplatesOutput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListCollaborationPrivacyBudgetsInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListCollaborationPrivacyBudgetsOutput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListCollaborationsInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListCollaborationsOutput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListConfiguredAudienceModelAssociationsInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", "ListConfiguredAudienceModelAssociationsOutput$nextToken": "

The token value provided to access the next page of results.

", - "ListConfiguredTableAssociationsInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListConfiguredTableAssociationsOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListConfiguredTablesInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListConfiguredTablesOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListMembersInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListMembersOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListMembershipsInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListMembershipsOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListPrivacyBudgetTemplatesInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListPrivacyBudgetTemplatesOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListPrivacyBudgetsInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListPrivacyBudgetsOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListProtectedQueriesInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListProtectedQueriesOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListSchemasInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", - "ListSchemasOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

" + "ListConfiguredTableAssociationsInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListConfiguredTableAssociationsOutput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListConfiguredTablesInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListConfiguredTablesOutput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListIdMappingTablesInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListIdMappingTablesOutput$nextToken": "

The token value provided to access the next page of results.

", + "ListIdNamespaceAssociationsInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListIdNamespaceAssociationsOutput$nextToken": "

The token value provided to access the next page of results.

", + "ListMembersInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListMembersOutput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListMembershipsInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListMembershipsOutput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListPrivacyBudgetTemplatesInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListPrivacyBudgetTemplatesOutput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListPrivacyBudgetsInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListPrivacyBudgetsOutput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListProtectedQueriesInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListProtectedQueriesOutput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListSchemasInput$nextToken": "

The pagination token that's used to fetch the next set of results.

", + "ListSchemasOutput$nextToken": "

The pagination token that's used to fetch the next set of results.

" } }, "ParameterMap": { @@ -1838,6 +2208,16 @@ "MemberSummary$paymentConfiguration": "

The collaboration member's payment responsibilities set by the collaboration creator.

" } }, + "PopulateIdMappingTableInput": { + "base": null, + "refs": { + } + }, + "PopulateIdMappingTableOutput": { + "base": null, + "refs": { + } + }, "PreviewPrivacyImpactInput": { "base": null, "refs": { @@ -1925,7 +2305,7 @@ "base": "

The epsilon and noise parameters that were used in the privacy budget template.

", "refs": { "CollaborationPrivacyBudgetTemplate$parameters": "

Specifies the epsilon and noise parameters for the privacy budget template.

", - "PrivacyBudgetTemplate$parameters": "

Specifies the epislon and noise parameters for the privacy budget template.

" + "PrivacyBudgetTemplate$parameters": "

Specifies the epsilon and noise parameters for the privacy budget template.

" } }, "PrivacyBudgetTemplateSummary": { @@ -2095,6 +2475,24 @@ "PaymentConfiguration$queryCompute": "

The collaboration member's payment responsibilities set by the collaboration creator for query compute costs.

" } }, + "QueryConstraint": { + "base": "

Provides any necessary query constraint information.

", + "refs": { + "QueryConstraintList$member": null + } + }, + "QueryConstraintList": { + "base": null, + "refs": { + "AnalysisRuleIdMappingTable$queryConstraints": "

The query constraints of the analysis rule ID mapping table.

" + } + }, + "QueryConstraintRequireOverlap": { + "base": "

Provides the name of the columns that are required to overlap.

", + "refs": { + "QueryConstraint$requireOverlap": "

An array of column names that specifies which columns are required in the JOIN statement.

" + } + }, "QueryTables": { "base": null, "refs": { @@ -2107,7 +2505,10 @@ "AnalysisTemplate$name": "

The name of the analysis template.

", "AnalysisTemplateSummary$name": "

The name of the analysis template.

", "CollaborationAnalysisTemplate$name": "

The name of the analysis template.

", - "CollaborationAnalysisTemplateSummary$name": "

The name of the analysis template.

" + "CollaborationAnalysisTemplateSummary$name": "

The name of the analysis template.

", + "CreateIdMappingTableInput$name": "

A name for the ID mapping table.

", + "IdMappingTable$name": "

The name of the ID mapping table.

", + "IdMappingTableSummary$name": "

The name of this ID mapping table.

" } }, "ResourceDescription": { @@ -2119,12 +2520,22 @@ "CollaborationAnalysisTemplateSummary$description": "

The description of the analysis template.

", "CollaborationConfiguredAudienceModelAssociation$description": "

The description of the configured audience model association.

", "CollaborationConfiguredAudienceModelAssociationSummary$description": "

The description of the configured audience model association.

", + "CollaborationIdNamespaceAssociation$description": "

The description of the collaboration ID namespace association.

", + "CollaborationIdNamespaceAssociationSummary$description": "

The description of the collaboration ID namepsace association.

", "ConfiguredAudienceModelAssociation$description": "

The description of the configured audience model association.

", "ConfiguredAudienceModelAssociationSummary$description": "

The description of the configured audience model association.

", "CreateAnalysisTemplateInput$description": "

The description of the analysis template.

", "CreateConfiguredAudienceModelAssociationInput$description": "

A description of the configured audience model association.

", + "CreateIdMappingTableInput$description": "

A description of the ID mapping table.

", + "CreateIdNamespaceAssociationInput$description": "

The description of the ID namespace association.

", + "IdMappingTable$description": "

The description of the ID mapping table.

", + "IdMappingTableSummary$description": "

The description of this ID mapping table.

", + "IdNamespaceAssociation$description": "

The description of the ID namespace association.

", + "IdNamespaceAssociationSummary$description": "

The description of the ID namespace association.

", "UpdateAnalysisTemplateInput$description": "

A new description for the analysis template.

", - "UpdateConfiguredAudienceModelAssociationInput$description": "

A new description for the configured audience model association.

" + "UpdateConfiguredAudienceModelAssociationInput$description": "

A new description for the configured audience model association.

", + "UpdateIdMappingTableInput$description": "

A new description for the ID mapping table.

", + "UpdateIdNamespaceAssociationInput$description": "

A new description for the ID namespace association.

" } }, "ResourceNotFoundException": { @@ -2260,9 +2671,15 @@ "SchemaType": { "base": null, "refs": { - "ListSchemasInput$schemaType": "

If present, filter schemas by schema type. The only valid schema type is currently `TABLE`.

", - "Schema$type": "

The type of schema. The only valid value is currently `TABLE`.

", - "SchemaSummary$type": "

The type of schema object. The only valid schema type is currently `TABLE`.

" + "ListSchemasInput$schemaType": "

If present, filter schemas by schema type.

", + "Schema$type": "

The type of schema.

", + "SchemaSummary$type": "

The type of schema object.

" + } + }, + "SchemaTypeProperties": { + "base": "

Information about the schema type properties.

", + "refs": { + "Schema$schemaTypeProperties": "

The schema type properties.

" } }, "ServiceQuotaExceededException": { @@ -2294,6 +2711,7 @@ "ConflictException$message": null, "ConflictException$resourceId": "

The ID of the conflicting resource.

", "DifferentialPrivacyColumn$name": "

The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

", + "IdMappingTableInputSource$idNamespaceAssociationId": "

The unique identifier of the ID namespace association.

", "InternalServerException$message": null, "ProtectedQueryError$message": "

A description of why the query failed.

", "ProtectedQueryError$code": "

An error code for the error.

", @@ -2374,6 +2792,8 @@ "CreateConfiguredAudienceModelAssociationInput$tags": "

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

", "CreateConfiguredTableAssociationInput$tags": "

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

", "CreateConfiguredTableInput$tags": "

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

", + "CreateIdMappingTableInput$tags": "

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

", + "CreateIdNamespaceAssociationInput$tags": "

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

", "CreateMembershipInput$tags": "

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

", "CreatePrivacyBudgetTemplateInput$tags": "

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

", "ListTagsForResourceOutput$tags": "

A map of objects specifying each key name and value.

", @@ -2426,6 +2846,10 @@ "CollaborationConfiguredAudienceModelAssociation$updateTime": "

The most recent time at which the configured audience model association was updated.

", "CollaborationConfiguredAudienceModelAssociationSummary$createTime": "

The time at which the configured audience model association was created.

", "CollaborationConfiguredAudienceModelAssociationSummary$updateTime": "

The most recent time at which the configured audience model association was updated.

", + "CollaborationIdNamespaceAssociation$createTime": "

The time at which the collaboration ID namespace association was created.

", + "CollaborationIdNamespaceAssociation$updateTime": "

The most recent time at which the collaboration ID namespace was updated.

", + "CollaborationIdNamespaceAssociationSummary$createTime": "

The time at which the collaboration ID namespace association was created.

", + "CollaborationIdNamespaceAssociationSummary$updateTime": "

The most recent time at which the collaboration ID namespace association was updated.

", "CollaborationPrivacyBudgetSummary$createTime": "

The time at which the privacy budget was created.

", "CollaborationPrivacyBudgetSummary$updateTime": "

The most recent time at which the privacy budget was updated.

", "CollaborationPrivacyBudgetTemplate$createTime": "

The time at which the collaboration privacy budget template was created.

", @@ -2448,6 +2872,14 @@ "ConfiguredTableAssociationSummary$updateTime": "

The time the configured table association was last updated.

", "ConfiguredTableSummary$createTime": "

The time the configured table was created.

", "ConfiguredTableSummary$updateTime": "

The time the configured table was last updated.

", + "IdMappingTable$createTime": "

The time at which the ID mapping table was created.

", + "IdMappingTable$updateTime": "

The most recent time at which the ID mapping table was updated.

", + "IdMappingTableSummary$createTime": "

The time at which this ID mapping table was created.

", + "IdMappingTableSummary$updateTime": "

The most recent time at which this ID mapping table was updated.

", + "IdNamespaceAssociation$createTime": "

The time at which the ID namespace association was created.

", + "IdNamespaceAssociation$updateTime": "

The most recent time at which the ID namespace association was updated.

", + "IdNamespaceAssociationSummary$createTime": "

The time at which this ID namespace association was created.

", + "IdNamespaceAssociationSummary$updateTime": "

The most recent time at which this ID namespace association has been updated.

", "MemberSummary$createTime": "

The time when the member was created.

", "MemberSummary$updateTime": "

The time the member metadata was last updated.

", "Membership$createTime": "

The time when the membership was created.

", @@ -2462,8 +2894,8 @@ "PrivacyBudgetTemplateSummary$updateTime": "

The most recent time at which the privacy budget template was updated.

", "ProtectedQuery$createTime": "

The time at which the protected query was created.

", "ProtectedQuerySummary$createTime": "

The time the protected query was created.

", - "Schema$createTime": "

The time the schema was created.

", - "Schema$updateTime": "

The time the schema was last updated.

", + "Schema$createTime": "

The time at which the schema was created.

", + "Schema$updateTime": "

The most recent time at which the schema was updated.

", "SchemaSummary$createTime": "

The time the schema object was created.

", "SchemaSummary$updateTime": "

The time the schema object was last updated.

" } @@ -2481,6 +2913,8 @@ "CollaborationAnalysisTemplateSummary$collaborationId": "

A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID.

", "CollaborationConfiguredAudienceModelAssociation$collaborationId": "

A unique identifier for the collaboration that the configured audience model associations belong to. Accepts collaboration ID.

", "CollaborationConfiguredAudienceModelAssociationSummary$collaborationId": "

A unique identifier for the collaboration that the configured audience model associations belong to. Accepts collaboration ID.

", + "CollaborationIdNamespaceAssociation$collaborationId": "

The unique identifier of the collaboration that contains the collaboration ID namespace association.

", + "CollaborationIdNamespaceAssociationSummary$collaborationId": "

The unique identifier of the collaboration that contains this collaboration ID namespace association.

", "CollaborationPrivacyBudgetSummary$id": "

The unique identifier of the collaboration privacy budget.

", "CollaborationPrivacyBudgetSummary$collaborationId": "

The unique identifier of the collaboration that includes this privacy budget.

", "CollaborationPrivacyBudgetTemplate$collaborationId": "

The unique identifier of the collaboration that includes this collaboration privacy budget template.

", @@ -2498,10 +2932,23 @@ "ConfiguredTableAssociation$membershipId": "

The unique ID for the membership this configured table association belongs to.

", "ConfiguredTableAssociationSummary$configuredTableId": "

The unique configured table ID that this configured table association refers to.

", "ConfiguredTableAssociationSummary$id": "

The unique ID for the configured table association.

", + "DeleteIdMappingTableInput$idMappingTableIdentifier": "

The unique identifier of the ID mapping table that you want to delete.

", + "GetIdMappingTableInput$idMappingTableIdentifier": "

The unique identifier of the ID mapping table identifier that you want to retrieve.

", + "IdMappingTable$id": "

The unique identifier of the ID mapping table.

", + "IdMappingTable$membershipId": "

The unique identifier of the membership resource for the ID mapping table.

", + "IdMappingTable$collaborationId": "

The unique identifier of the collaboration that contains this ID mapping table.

", + "IdMappingTableSummary$collaborationId": "

The unique identifier of the collaboration that contains this ID mapping table.

", + "IdMappingTableSummary$id": "

The unique identifier of this ID mapping table.

", + "IdNamespaceAssociation$membershipId": "

The unique identifier of the membership resource for this ID namespace association.

", + "IdNamespaceAssociation$collaborationId": "

The unique identifier of the collaboration that contains this ID namespace association.

", + "IdNamespaceAssociationSummary$collaborationId": "

The unique identifier of the collaboration that contains this ID namespace association.

", + "IdNamespaceAssociationSummary$id": "

The unique identifier of this ID namespace association.

", "MemberSummary$membershipId": "

The unique ID for the member's associated membership, if present.

", "Membership$id": "

The unique ID of the membership.

", "Membership$collaborationId": "

The unique ID for the membership's collaboration.

", "MembershipSummary$id": "

The unique ID for the membership's collaboration.

", + "PopulateIdMappingTableInput$idMappingTableIdentifier": "

The unique identifier of the ID mapping table that you want to populate.

", + "PopulateIdMappingTableOutput$idMappingJobId": "

The unique identifier of the mapping job that will populate the ID mapping table.

", "PrivacyBudgetSummary$id": "

The unique identifier of the privacy budget.

", "PrivacyBudgetSummary$collaborationId": "

The unique identifier of the collaboration that contains this privacy budget.

", "PrivacyBudgetTemplate$membershipId": "

The identifier for a membership resource.

", @@ -2513,7 +2960,8 @@ "ProtectedQuerySummary$id": "

The unique ID of the protected query.

", "ProtectedQuerySummary$membershipId": "

The unique ID for the membership that initiated the protected query.

", "Schema$collaborationId": "

The unique ID for the collaboration that the schema belongs to.

", - "SchemaSummary$collaborationId": "

The unique ID for the collaboration that the schema belongs to.

" + "SchemaSummary$collaborationId": "

The unique ID for the collaboration that the schema belongs to.

", + "UpdateIdMappingTableInput$idMappingTableIdentifier": "

The unique identifier of the ID mapping table that you want to update.

" } }, "UntagResourceInput": { @@ -2586,6 +3034,26 @@ "refs": { } }, + "UpdateIdMappingTableInput": { + "base": null, + "refs": { + } + }, + "UpdateIdMappingTableOutput": { + "base": null, + "refs": { + } + }, + "UpdateIdNamespaceAssociationInput": { + "base": null, + "refs": { + } + }, + "UpdateIdNamespaceAssociationOutput": { + "base": null, + "refs": { + } + }, "UpdateMembershipInput": { "base": null, "refs": { diff --git a/models/apis/cleanrooms/2022-02-17/paginators-1.json b/models/apis/cleanrooms/2022-02-17/paginators-1.json index 7f66572e3f5..f7bd3a90ae5 100644 --- a/models/apis/cleanrooms/2022-02-17/paginators-1.json +++ b/models/apis/cleanrooms/2022-02-17/paginators-1.json @@ -18,6 +18,12 @@ "limit_key": "maxResults", "result_key": "collaborationConfiguredAudienceModelAssociationSummaries" }, + "ListCollaborationIdNamespaceAssociations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "collaborationIdNamespaceAssociationSummaries" + }, "ListCollaborationPrivacyBudgetTemplates": { "input_token": "nextToken", "output_token": "nextToken", @@ -54,6 +60,18 @@ "limit_key": "maxResults", "result_key": "configuredTableSummaries" }, + "ListIdMappingTables": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "idMappingTableSummaries" + }, + "ListIdNamespaceAssociations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "idNamespaceAssociationSummaries" + }, "ListMembers": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/cleanroomsml/2023-09-06/api-2.json b/models/apis/cleanroomsml/2023-09-06/api-2.json index 5cc3e911a3c..a349371dea2 100644 --- a/models/apis/cleanroomsml/2023-09-06/api-2.json +++ b/models/apis/cleanroomsml/2023-09-06/api-2.json @@ -2,9 +2,10 @@ "version":"2.0", "metadata":{ "apiVersion":"2023-09-06", + "auth":["aws.auth#sigv4"], "endpointPrefix":"cleanrooms-ml", - "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceFullName":"AWS Clean Rooms ML", "serviceId":"CleanRoomsML", "signatureVersion":"v4", @@ -420,7 +421,13 @@ "type":"string", "max":12, "min":12, - "pattern":"^[0-9]{12}$" + "pattern":"[0-9]{12}" + }, + "AnalysisTemplateArn":{ + "type":"string", + "max":200, + "min":0, + "pattern":"arn:aws[-a-z]*:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+/analysistemplate/[\\d\\w-]+" }, "AudienceDestination":{ "type":"structure", @@ -445,40 +452,38 @@ "AudienceExportJobSummary":{ "type":"structure", "required":[ - "audienceGenerationJobArn", - "audienceSize", "createTime", + "updateTime", "name", - "status", - "updateTime" + "audienceGenerationJobArn", + "audienceSize", + "status" ], "members":{ + "createTime":{"shape":"SyntheticTimestamp_date_time"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"}, + "name":{"shape":"NameString"}, "audienceGenerationJobArn":{"shape":"AudienceGenerationJobArn"}, "audienceSize":{"shape":"AudienceSize"}, - "createTime":{"shape":"SyntheticTimestamp_date_time"}, "description":{"shape":"ResourceDescription"}, - "name":{"shape":"NameString"}, - "outputLocation":{"shape":"S3Path"}, "status":{"shape":"AudienceExportJobStatus"}, "statusDetails":{"shape":"StatusDetails"}, - "updateTime":{"shape":"SyntheticTimestamp_date_time"} + "outputLocation":{"shape":"S3Path"} } }, "AudienceGenerationJobArn":{ "type":"string", "max":2048, "min":20, - "pattern":"^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:audience-generation-job/[-a-zA-Z0-9_/.]+$" + "pattern":"arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:audience-generation-job/[-a-zA-Z0-9_/.]+" }, "AudienceGenerationJobDataSource":{ "type":"structure", - "required":[ - "dataSource", - "roleArn" - ], + "required":["roleArn"], "members":{ "dataSource":{"shape":"S3ConfigMap"}, - "roleArn":{"shape":"IamRoleArn"} + "roleArn":{"shape":"IamRoleArn"}, + "sqlParameters":{"shape":"ProtectedQuerySQLParameters"} } }, "AudienceGenerationJobList":{ @@ -500,30 +505,30 @@ "AudienceGenerationJobSummary":{ "type":"structure", "required":[ - "audienceGenerationJobArn", - "configuredAudienceModelArn", "createTime", + "updateTime", + "audienceGenerationJobArn", "name", "status", - "updateTime" + "configuredAudienceModelArn" ], "members":{ - "audienceGenerationJobArn":{"shape":"AudienceGenerationJobArn"}, - "collaborationId":{"shape":"UUID"}, - "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, "createTime":{"shape":"SyntheticTimestamp_date_time"}, - "description":{"shape":"ResourceDescription"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"}, + "audienceGenerationJobArn":{"shape":"AudienceGenerationJobArn"}, "name":{"shape":"NameString"}, - "startedBy":{"shape":"AccountId"}, + "description":{"shape":"ResourceDescription"}, "status":{"shape":"AudienceGenerationJobStatus"}, - "updateTime":{"shape":"SyntheticTimestamp_date_time"} + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, + "collaborationId":{"shape":"UUID"}, + "startedBy":{"shape":"AccountId"} } }, "AudienceModelArn":{ "type":"string", "max":2048, "min":20, - "pattern":"^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:audience-model/[-a-zA-Z0-9_/.]+$" + "pattern":"arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:audience-model/[-a-zA-Z0-9_/.]+" }, "AudienceModelList":{ "type":"list", @@ -544,29 +549,29 @@ "AudienceModelSummary":{ "type":"structure", "required":[ - "audienceModelArn", "createTime", + "updateTime", + "audienceModelArn", "name", - "status", "trainingDatasetArn", - "updateTime" + "status" ], "members":{ - "audienceModelArn":{"shape":"AudienceModelArn"}, "createTime":{"shape":"SyntheticTimestamp_date_time"}, - "description":{"shape":"ResourceDescription"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"}, + "audienceModelArn":{"shape":"AudienceModelArn"}, "name":{"shape":"NameString"}, - "status":{"shape":"AudienceModelStatus"}, "trainingDatasetArn":{"shape":"TrainingDatasetArn"}, - "updateTime":{"shape":"SyntheticTimestamp_date_time"} + "status":{"shape":"AudienceModelStatus"}, + "description":{"shape":"ResourceDescription"} } }, "AudienceQualityMetrics":{ "type":"structure", "required":["relevanceMetrics"], "members":{ - "recallMetric":{"shape":"Double"}, - "relevanceMetrics":{"shape":"RelevanceMetrics"} + "relevanceMetrics":{"shape":"RelevanceMetrics"}, + "recallMetric":{"shape":"Double"} } }, "AudienceSize":{ @@ -589,12 +594,12 @@ "AudienceSizeConfig":{ "type":"structure", "required":[ - "audienceSizeBins", - "audienceSizeType" + "audienceSizeType", + "audienceSizeBins" ], "members":{ - "audienceSizeBins":{"shape":"AudienceSizeBins"}, - "audienceSizeType":{"shape":"AudienceSizeType"} + "audienceSizeType":{"shape":"AudienceSizeType"}, + "audienceSizeBins":{"shape":"AudienceSizeBins"} } }, "AudienceSizeType":{ @@ -618,7 +623,7 @@ "type":"string", "max":128, "min":1, - "pattern":"^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$" + "pattern":"[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?" }, "ColumnSchema":{ "type":"structure", @@ -651,7 +656,7 @@ "type":"string", "max":2048, "min":20, - "pattern":"^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:configured-audience-model/[-a-zA-Z0-9_/.]+$" + "pattern":"arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:configured-audience-model/[-a-zA-Z0-9_/.]+" }, "ConfiguredAudienceModelList":{ "type":"list", @@ -675,23 +680,23 @@ "ConfiguredAudienceModelSummary":{ "type":"structure", "required":[ - "audienceModelArn", - "configuredAudienceModelArn", "createTime", + "updateTime", "name", + "audienceModelArn", "outputConfig", - "status", - "updateTime" + "configuredAudienceModelArn", + "status" ], "members":{ - "audienceModelArn":{"shape":"AudienceModelArn"}, - "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, "createTime":{"shape":"SyntheticTimestamp_date_time"}, - "description":{"shape":"ResourceDescription"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"}, "name":{"shape":"NameString"}, + "audienceModelArn":{"shape":"AudienceModelArn"}, "outputConfig":{"shape":"ConfiguredAudienceModelOutputConfig"}, - "status":{"shape":"ConfiguredAudienceModelStatus"}, - "updateTime":{"shape":"SyntheticTimestamp_date_time"} + "description":{"shape":"ResourceDescription"}, + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, + "status":{"shape":"ConfiguredAudienceModelStatus"} } }, "ConflictException":{ @@ -713,13 +718,13 @@ "trainingDatasetArn" ], "members":{ - "description":{"shape":"ResourceDescription"}, - "kmsKeyArn":{"shape":"KmsKeyArn"}, + "trainingDataStartTime":{"shape":"SyntheticTimestamp_date_time"}, + "trainingDataEndTime":{"shape":"SyntheticTimestamp_date_time"}, "name":{"shape":"NameString"}, + "trainingDatasetArn":{"shape":"TrainingDatasetArn"}, + "kmsKeyArn":{"shape":"KmsKeyArn"}, "tags":{"shape":"TagMap"}, - "trainingDataEndTime":{"shape":"SyntheticTimestamp_date_time"}, - "trainingDataStartTime":{"shape":"SyntheticTimestamp_date_time"}, - "trainingDatasetArn":{"shape":"TrainingDatasetArn"} + "description":{"shape":"ResourceDescription"} } }, "CreateAudienceModelResponse":{ @@ -732,21 +737,21 @@ "CreateConfiguredAudienceModelRequest":{ "type":"structure", "required":[ - "audienceModelArn", "name", + "audienceModelArn", "outputConfig", "sharedAudienceMetrics" ], "members":{ - "audienceModelArn":{"shape":"AudienceModelArn"}, - "audienceSizeConfig":{"shape":"AudienceSizeConfig"}, - "childResourceTagOnCreatePolicy":{"shape":"TagOnCreatePolicy"}, - "description":{"shape":"ResourceDescription"}, - "minMatchingSeedSize":{"shape":"MinMatchingSeedSize"}, "name":{"shape":"NameString"}, + "audienceModelArn":{"shape":"AudienceModelArn"}, "outputConfig":{"shape":"ConfiguredAudienceModelOutputConfig"}, + "description":{"shape":"ResourceDescription"}, "sharedAudienceMetrics":{"shape":"MetricsList"}, - "tags":{"shape":"TagMap"} + "minMatchingSeedSize":{"shape":"MinMatchingSeedSize"}, + "audienceSizeConfig":{"shape":"AudienceSizeConfig"}, + "tags":{"shape":"TagMap"}, + "childResourceTagOnCreatePolicy":{"shape":"TagOnCreatePolicy"} } }, "CreateConfiguredAudienceModelResponse":{ @@ -764,11 +769,11 @@ "trainingData" ], "members":{ - "description":{"shape":"ResourceDescription"}, "name":{"shape":"NameString"}, "roleArn":{"shape":"IamRoleArn"}, + "trainingData":{"shape":"CreateTrainingDatasetRequestTrainingDataList"}, "tags":{"shape":"TagMap"}, - "trainingData":{"shape":"CreateTrainingDatasetRequestTrainingDataList"} + "description":{"shape":"ResourceDescription"} } }, "CreateTrainingDatasetRequestTrainingDataList":{ @@ -794,23 +799,23 @@ "Dataset":{ "type":"structure", "required":[ - "inputConfig", - "type" + "type", + "inputConfig" ], "members":{ - "inputConfig":{"shape":"DatasetInputConfig"}, - "type":{"shape":"DatasetType"} + "type":{"shape":"DatasetType"}, + "inputConfig":{"shape":"DatasetInputConfig"} } }, "DatasetInputConfig":{ "type":"structure", "required":[ - "dataSource", - "schema" + "schema", + "dataSource" ], "members":{ - "dataSource":{"shape":"DataSource"}, - "schema":{"shape":"DatasetInputConfigSchemaList"} + "schema":{"shape":"DatasetInputConfigSchemaList"}, + "dataSource":{"shape":"DataSource"} } }, "DatasetInputConfigSchemaList":{ @@ -900,28 +905,29 @@ "GetAudienceGenerationJobResponse":{ "type":"structure", "required":[ - "audienceGenerationJobArn", - "configuredAudienceModelArn", "createTime", + "updateTime", + "audienceGenerationJobArn", "name", "status", - "updateTime" + "configuredAudienceModelArn" ], "members":{ - "audienceGenerationJobArn":{"shape":"AudienceGenerationJobArn"}, - "collaborationId":{"shape":"UUID"}, - "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, "createTime":{"shape":"SyntheticTimestamp_date_time"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"}, + "audienceGenerationJobArn":{"shape":"AudienceGenerationJobArn"}, + "name":{"shape":"NameString"}, "description":{"shape":"ResourceDescription"}, + "status":{"shape":"AudienceGenerationJobStatus"}, + "statusDetails":{"shape":"StatusDetails"}, + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, + "seedAudience":{"shape":"AudienceGenerationJobDataSource"}, "includeSeedInOutput":{"shape":"Boolean"}, + "collaborationId":{"shape":"UUID"}, "metrics":{"shape":"AudienceQualityMetrics"}, - "name":{"shape":"NameString"}, - "seedAudience":{"shape":"AudienceGenerationJobDataSource"}, "startedBy":{"shape":"AccountId"}, - "status":{"shape":"AudienceGenerationJobStatus"}, - "statusDetails":{"shape":"StatusDetails"}, "tags":{"shape":"TagMap"}, - "updateTime":{"shape":"SyntheticTimestamp_date_time"} + "protectedQueryIdentifier":{"shape":"String"} } }, "GetAudienceModelRequest":{ @@ -938,26 +944,26 @@ "GetAudienceModelResponse":{ "type":"structure", "required":[ - "audienceModelArn", "createTime", + "updateTime", + "audienceModelArn", "name", - "status", "trainingDatasetArn", - "updateTime" + "status" ], "members":{ - "audienceModelArn":{"shape":"AudienceModelArn"}, "createTime":{"shape":"SyntheticTimestamp_date_time"}, - "description":{"shape":"ResourceDescription"}, - "kmsKeyArn":{"shape":"KmsKeyArn"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"}, + "trainingDataStartTime":{"shape":"SyntheticTimestamp_date_time"}, + "trainingDataEndTime":{"shape":"SyntheticTimestamp_date_time"}, + "audienceModelArn":{"shape":"AudienceModelArn"}, "name":{"shape":"NameString"}, + "trainingDatasetArn":{"shape":"TrainingDatasetArn"}, "status":{"shape":"AudienceModelStatus"}, "statusDetails":{"shape":"StatusDetails"}, + "kmsKeyArn":{"shape":"KmsKeyArn"}, "tags":{"shape":"TagMap"}, - "trainingDataEndTime":{"shape":"SyntheticTimestamp_date_time"}, - "trainingDataStartTime":{"shape":"SyntheticTimestamp_date_time"}, - "trainingDatasetArn":{"shape":"TrainingDatasetArn"}, - "updateTime":{"shape":"SyntheticTimestamp_date_time"} + "description":{"shape":"ResourceDescription"} } }, "GetConfiguredAudienceModelPolicyRequest":{ @@ -998,29 +1004,29 @@ "GetConfiguredAudienceModelResponse":{ "type":"structure", "required":[ - "audienceModelArn", - "configuredAudienceModelArn", "createTime", + "updateTime", + "configuredAudienceModelArn", "name", + "audienceModelArn", "outputConfig", - "sharedAudienceMetrics", "status", - "updateTime" + "sharedAudienceMetrics" ], "members":{ - "audienceModelArn":{"shape":"AudienceModelArn"}, - "audienceSizeConfig":{"shape":"AudienceSizeConfig"}, - "childResourceTagOnCreatePolicy":{"shape":"TagOnCreatePolicy"}, - "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, "createTime":{"shape":"SyntheticTimestamp_date_time"}, - "description":{"shape":"ResourceDescription"}, - "minMatchingSeedSize":{"shape":"MinMatchingSeedSize"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"}, + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, "name":{"shape":"NameString"}, + "audienceModelArn":{"shape":"AudienceModelArn"}, "outputConfig":{"shape":"ConfiguredAudienceModelOutputConfig"}, - "sharedAudienceMetrics":{"shape":"MetricsList"}, + "description":{"shape":"ResourceDescription"}, "status":{"shape":"ConfiguredAudienceModelStatus"}, + "sharedAudienceMetrics":{"shape":"MetricsList"}, + "minMatchingSeedSize":{"shape":"MinMatchingSeedSize"}, + "audienceSizeConfig":{"shape":"AudienceSizeConfig"}, "tags":{"shape":"TagMap"}, - "updateTime":{"shape":"SyntheticTimestamp_date_time"} + "childResourceTagOnCreatePolicy":{"shape":"TagOnCreatePolicy"} } }, "GetTrainingDatasetRequest":{ @@ -1038,84 +1044,84 @@ "type":"structure", "required":[ "createTime", + "updateTime", + "trainingDatasetArn", "name", - "roleArn", - "status", "trainingData", - "trainingDatasetArn", - "updateTime" + "status", + "roleArn" ], "members":{ "createTime":{"shape":"SyntheticTimestamp_date_time"}, - "description":{"shape":"ResourceDescription"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"}, + "trainingDatasetArn":{"shape":"TrainingDatasetArn"}, "name":{"shape":"NameString"}, - "roleArn":{"shape":"IamRoleArn"}, + "trainingData":{"shape":"DatasetList"}, "status":{"shape":"TrainingDatasetStatus"}, + "roleArn":{"shape":"IamRoleArn"}, "tags":{"shape":"TagMap"}, - "trainingData":{"shape":"DatasetList"}, - "trainingDatasetArn":{"shape":"TrainingDatasetArn"}, - "updateTime":{"shape":"SyntheticTimestamp_date_time"} + "description":{"shape":"ResourceDescription"} } }, "GlueDataSource":{ "type":"structure", "required":[ - "databaseName", - "tableName" + "tableName", + "databaseName" ], "members":{ - "catalogId":{"shape":"AccountId"}, + "tableName":{"shape":"GlueTableName"}, "databaseName":{"shape":"GlueDatabaseName"}, - "tableName":{"shape":"GlueTableName"} + "catalogId":{"shape":"AccountId"} } }, "GlueDatabaseName":{ "type":"string", "max":128, "min":1, - "pattern":"^[a-zA-Z0-9_](([a-zA-Z0-9_]+-)*([a-zA-Z0-9_]+))?$" + "pattern":"[a-zA-Z0-9_](([a-zA-Z0-9_]+-)*([a-zA-Z0-9_]+))?" }, "GlueTableName":{ "type":"string", "max":128, "min":1, - "pattern":"^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$" + "pattern":"[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?" }, "Hash":{ "type":"string", "max":128, "min":64, - "pattern":"^[0-9a-f]+$" + "pattern":"[0-9a-f]+" }, "IamRoleArn":{ "type":"string", "max":2048, "min":20, - "pattern":"^arn:aws[-a-z]*:iam::[0-9]{12}:role/.+$" + "pattern":"arn:aws[-a-z]*:iam::[0-9]{12}:role/.+" }, "KmsKeyArn":{ "type":"string", "max":2048, "min":20, - "pattern":"^arn:aws[-a-z]*:kms:[-a-z0-9]+:[0-9]{12}:key/.+$" + "pattern":"arn:aws[-a-z]*:kms:[-a-z0-9]+:[0-9]{12}:key/.+" }, "ListAudienceExportJobsRequest":{ "type":"structure", "members":{ - "audienceGenerationJobArn":{ - "shape":"AudienceGenerationJobArn", + "nextToken":{ + "shape":"NextToken", "location":"querystring", - "locationName":"audienceGenerationJobArn" + "locationName":"nextToken" }, "maxResults":{ "shape":"MaxResults", "location":"querystring", "locationName":"maxResults" }, - "nextToken":{ - "shape":"NextToken", + "audienceGenerationJobArn":{ + "shape":"AudienceGenerationJobArn", "location":"querystring", - "locationName":"nextToken" + "locationName":"audienceGenerationJobArn" } } }, @@ -1123,32 +1129,32 @@ "type":"structure", "required":["audienceExportJobs"], "members":{ - "audienceExportJobs":{"shape":"AudienceExportJobList"}, - "nextToken":{"shape":"NextToken"} + "nextToken":{"shape":"NextToken"}, + "audienceExportJobs":{"shape":"AudienceExportJobList"} } }, "ListAudienceGenerationJobsRequest":{ "type":"structure", "members":{ - "collaborationId":{ - "shape":"UUID", - "location":"querystring", - "locationName":"collaborationId" - }, - "configuredAudienceModelArn":{ - "shape":"ConfiguredAudienceModelArn", + "nextToken":{ + "shape":"NextToken", "location":"querystring", - "locationName":"configuredAudienceModelArn" + "locationName":"nextToken" }, "maxResults":{ "shape":"MaxResults", "location":"querystring", "locationName":"maxResults" }, - "nextToken":{ - "shape":"NextToken", + "configuredAudienceModelArn":{ + "shape":"ConfiguredAudienceModelArn", "location":"querystring", - "locationName":"nextToken" + "locationName":"configuredAudienceModelArn" + }, + "collaborationId":{ + "shape":"UUID", + "location":"querystring", + "locationName":"collaborationId" } } }, @@ -1156,22 +1162,22 @@ "type":"structure", "required":["audienceGenerationJobs"], "members":{ - "audienceGenerationJobs":{"shape":"AudienceGenerationJobList"}, - "nextToken":{"shape":"NextToken"} + "nextToken":{"shape":"NextToken"}, + "audienceGenerationJobs":{"shape":"AudienceGenerationJobList"} } }, "ListAudienceModelsRequest":{ "type":"structure", "members":{ - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" - }, "nextToken":{ "shape":"NextToken", "location":"querystring", "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" } } }, @@ -1179,22 +1185,22 @@ "type":"structure", "required":["audienceModels"], "members":{ - "audienceModels":{"shape":"AudienceModelList"}, - "nextToken":{"shape":"NextToken"} + "nextToken":{"shape":"NextToken"}, + "audienceModels":{"shape":"AudienceModelList"} } }, "ListConfiguredAudienceModelsRequest":{ "type":"structure", "members":{ - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" - }, "nextToken":{ "shape":"NextToken", "location":"querystring", "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" } } }, @@ -1202,8 +1208,8 @@ "type":"structure", "required":["configuredAudienceModels"], "members":{ - "configuredAudienceModels":{"shape":"ConfiguredAudienceModelList"}, - "nextToken":{"shape":"NextToken"} + "nextToken":{"shape":"NextToken"}, + "configuredAudienceModels":{"shape":"ConfiguredAudienceModelList"} } }, "ListTagsForResourceRequest":{ @@ -1227,15 +1233,15 @@ "ListTrainingDatasetsRequest":{ "type":"structure", "members":{ - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" - }, "nextToken":{ "shape":"NextToken", "location":"querystring", "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" } } }, @@ -1269,13 +1275,29 @@ "type":"string", "max":63, "min":1, - "pattern":"^(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*$" + "pattern":"(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*" }, "NextToken":{ "type":"string", "max":10240, "min":1 }, + "ParameterKey":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[0-9a-zA-Z_]+" + }, + "ParameterMap":{ + "type":"map", + "key":{"shape":"ParameterKey"}, + "value":{"shape":"ParameterValue"} + }, + "ParameterValue":{ + "type":"string", + "max":250, + "min":0 + }, "PolicyExistenceCondition":{ "type":"string", "enum":[ @@ -1283,6 +1305,20 @@ "POLICY_MUST_NOT_EXIST" ] }, + "ProtectedQuerySQLParameters":{ + "type":"structure", + "members":{ + "queryString":{"shape":"ProtectedQuerySQLParametersQueryStringString"}, + "analysisTemplateArn":{"shape":"AnalysisTemplateArn"}, + "parameters":{"shape":"ParameterMap"} + }, + "sensitive":true + }, + "ProtectedQuerySQLParametersQueryStringString":{ + "type":"string", + "max":90000, + "min":0 + }, "PutConfiguredAudienceModelPolicyRequest":{ "type":"structure", "required":[ @@ -1296,8 +1332,8 @@ "locationName":"configuredAudienceModelArn" }, "configuredAudienceModelPolicy":{"shape":"ResourcePolicy"}, - "policyExistenceCondition":{"shape":"PolicyExistenceCondition"}, - "previousPolicyHash":{"shape":"Hash"} + "previousPolicyHash":{"shape":"Hash"}, + "policyExistenceCondition":{"shape":"PolicyExistenceCondition"} } }, "PutConfiguredAudienceModelPolicyResponse":{ @@ -1327,7 +1363,7 @@ "type":"string", "max":255, "min":0, - "pattern":"^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$" + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*" }, "ResourceNotFoundException":{ "type":"structure", @@ -1357,7 +1393,7 @@ "type":"string", "max":1285, "min":1, - "pattern":"^s3://.+$" + "pattern":"s3://.+" }, "ServiceQuotaExceededException":{ "type":"structure", @@ -1381,31 +1417,31 @@ "StartAudienceExportJobRequest":{ "type":"structure", "required":[ + "name", "audienceGenerationJobArn", - "audienceSize", - "name" + "audienceSize" ], "members":{ + "name":{"shape":"NameString"}, "audienceGenerationJobArn":{"shape":"AudienceGenerationJobArn"}, "audienceSize":{"shape":"AudienceSize"}, - "description":{"shape":"ResourceDescription"}, - "name":{"shape":"NameString"} + "description":{"shape":"ResourceDescription"} } }, "StartAudienceGenerationJobRequest":{ "type":"structure", "required":[ - "configuredAudienceModelArn", "name", + "configuredAudienceModelArn", "seedAudience" ], "members":{ - "collaborationId":{"shape":"UUID"}, - "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, - "description":{"shape":"ResourceDescription"}, - "includeSeedInOutput":{"shape":"Boolean"}, "name":{"shape":"NameString"}, + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, "seedAudience":{"shape":"AudienceGenerationJobDataSource"}, + "includeSeedInOutput":{"shape":"Boolean"}, + "collaborationId":{"shape":"UUID"}, + "description":{"shape":"ResourceDescription"}, "tags":{"shape":"TagMap"} } }, @@ -1419,8 +1455,8 @@ "StatusDetails":{ "type":"structure", "members":{ - "message":{"shape":"String"}, - "statusCode":{"shape":"String"} + "statusCode":{"shape":"String"}, + "message":{"shape":"String"} } }, "String":{"type":"string"}, @@ -1482,13 +1518,13 @@ "type":"string", "max":2048, "min":20, - "pattern":"^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:(training-dataset|audience-model|configured-audience-model|audience-generation-job)/[-a-zA-Z0-9_/.]+$" + "pattern":"arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:(training-dataset|audience-model|configured-audience-model|audience-generation-job)/[-a-zA-Z0-9_/.]+" }, "TrainingDatasetArn":{ "type":"string", "max":2048, "min":20, - "pattern":"^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:training-dataset/[-a-zA-Z0-9_/.]+$" + "pattern":"arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:training-dataset/[-a-zA-Z0-9_/.]+" }, "TrainingDatasetList":{ "type":"list", @@ -1502,25 +1538,25 @@ "type":"structure", "required":[ "createTime", - "name", - "status", + "updateTime", "trainingDatasetArn", - "updateTime" + "name", + "status" ], "members":{ "createTime":{"shape":"SyntheticTimestamp_date_time"}, - "description":{"shape":"ResourceDescription"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"}, + "trainingDatasetArn":{"shape":"TrainingDatasetArn"}, "name":{"shape":"NameString"}, "status":{"shape":"TrainingDatasetStatus"}, - "trainingDatasetArn":{"shape":"TrainingDatasetArn"}, - "updateTime":{"shape":"SyntheticTimestamp_date_time"} + "description":{"shape":"ResourceDescription"} } }, "UUID":{ "type":"string", "max":36, "min":36, - "pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" + "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" }, "UntagResourceRequest":{ "type":"structure", @@ -1550,17 +1586,17 @@ "type":"structure", "required":["configuredAudienceModelArn"], "members":{ - "audienceModelArn":{"shape":"AudienceModelArn"}, - "audienceSizeConfig":{"shape":"AudienceSizeConfig"}, "configuredAudienceModelArn":{ "shape":"ConfiguredAudienceModelArn", "location":"uri", "locationName":"configuredAudienceModelArn" }, - "description":{"shape":"ResourceDescription"}, - "minMatchingSeedSize":{"shape":"MinMatchingSeedSize"}, "outputConfig":{"shape":"ConfiguredAudienceModelOutputConfig"}, - "sharedAudienceMetrics":{"shape":"MetricsList"} + "audienceModelArn":{"shape":"AudienceModelArn"}, + "sharedAudienceMetrics":{"shape":"MetricsList"}, + "minMatchingSeedSize":{"shape":"MinMatchingSeedSize"}, + "audienceSizeConfig":{"shape":"AudienceSizeConfig"}, + "description":{"shape":"ResourceDescription"} } }, "UpdateConfiguredAudienceModelResponse":{ diff --git a/models/apis/cleanroomsml/2023-09-06/docs-2.json b/models/apis/cleanroomsml/2023-09-06/docs-2.json index 7e9e9d65b6b..65650c47f6f 100644 --- a/models/apis/cleanroomsml/2023-09-06/docs-2.json +++ b/models/apis/cleanroomsml/2023-09-06/docs-2.json @@ -42,6 +42,12 @@ "GlueDataSource$catalogId": "

The Glue catalog that contains the training data.

" } }, + "AnalysisTemplateArn": { + "base": null, + "refs": { + "ProtectedQuerySQLParameters$analysisTemplateArn": "

The Amazon Resource Name (ARN) associated with the analysis template within a collaboration.

" + } + }, "AudienceDestination": { "base": "

Defines the Amazon S3 bucket where the configured audience is stored.

", "refs": { @@ -159,7 +165,7 @@ } }, "AudienceSizeConfig": { - "base": "

Configure the list of audience output sizes that can be created. A request to StartAudienceGenerationJob that uses this configured audience model must have an audienceSize selected from this list. You can use the ABSOLUTE AudienceSize to configure out audience sizes using the count of identifiers in the output. You can use the Percentage AudienceSize to configure sizes in the range 1-100 percent.

", + "base": "

Returns the relevance scores at these audience sizes when used in the GetAudienceGenerationJob for a specified audience generation job and configured audience model.

Specifies the list of allowed audienceSize values when used in the StartAudienceExportJob for an audience generation job. You can use the ABSOLUTE AudienceSize to configure out audience sizes using the count of identifiers in the output. You can use the Percentage AudienceSize to configure sizes in the range 1-100 percent.

", "refs": { "CreateConfiguredAudienceModelRequest$audienceSizeConfig": "

Configure the list of output sizes of audiences that can be created using this configured audience model. A request to StartAudienceGenerationJob that uses this configured audience model must have an audienceSize selected from this list. You can use the ABSOLUTE AudienceSize to configure out audience sizes using the count of identifiers in the output. You can use the Percentage AudienceSize to configure sizes in the range 1-100 percent.

", "GetConfiguredAudienceModelResponse$audienceSizeConfig": "

The list of output sizes of audiences that can be created using this configured audience model. A request to StartAudienceGenerationJob that uses this configured audience model must have an audienceSize selected from this list. You can use the ABSOLUTE AudienceSize to configure out audience sizes using the count of identifiers in the output. You can use the Percentage AudienceSize to configure sizes in the range 1-100 percent.

", @@ -448,7 +454,7 @@ "IamRoleArn": { "base": null, "refs": { - "AudienceGenerationJobDataSource$roleArn": "

The ARN of the IAM role that can read the Amazon S3 bucket where the training data is stored.

", + "AudienceGenerationJobDataSource$roleArn": "

The ARN of the IAM role that can read the Amazon S3 bucket where the seed audience is stored.

", "ConfiguredAudienceModelOutputConfig$roleArn": "

The ARN of the IAM role that can write the Amazon S3 bucket.

", "CreateTrainingDatasetRequest$roleArn": "

The ARN of the IAM role that Clean Rooms ML can assume to read the data referred to in the dataSource field of each dataset.

Passing a role across AWS accounts is not allowed. If you pass a role that isn't in your account, you get an AccessDeniedException error.

", "GetTrainingDatasetResponse$roleArn": "

The IAM role used to read the training data.

" @@ -581,12 +587,42 @@ "ListTrainingDatasetsResponse$nextToken": "

The token value retrieved from a previous call to access the next page of results.

" } }, + "ParameterKey": { + "base": null, + "refs": { + "ParameterMap$key": null + } + }, + "ParameterMap": { + "base": null, + "refs": { + "ProtectedQuerySQLParameters$parameters": "

The protected query SQL parameters.

" + } + }, + "ParameterValue": { + "base": null, + "refs": { + "ParameterMap$value": null + } + }, "PolicyExistenceCondition": { "base": null, "refs": { "PutConfiguredAudienceModelPolicyRequest$policyExistenceCondition": "

Use this to prevent unexpected concurrent modification of the policy.

" } }, + "ProtectedQuerySQLParameters": { + "base": "

The parameters for the SQL type Protected Query.

", + "refs": { + "AudienceGenerationJobDataSource$sqlParameters": "

The protected SQL query parameters.

" + } + }, + "ProtectedQuerySQLParametersQueryStringString": { + "base": null, + "refs": { + "ProtectedQuerySQLParameters$queryString": "

The query string to be submitted.

" + } + }, "PutConfiguredAudienceModelPolicyRequest": { "base": null, "refs": { @@ -695,10 +731,11 @@ "refs": { "AccessDeniedException$message": null, "ConflictException$message": null, + "GetAudienceGenerationJobResponse$protectedQueryIdentifier": "

The unique identifier of the protected query for this audience generation job.

", "ResourceNotFoundException$message": null, "ServiceQuotaExceededException$message": null, - "StatusDetails$message": "

The error message that was returned. The message is intended for human consumption and can change at any time. Use the statusCode for programmatic error handling.

", "StatusDetails$statusCode": "

The status code that was returned. The status code is intended for programmatic error handling. Clean Rooms ML will not change the status code for existing error conditions.

", + "StatusDetails$message": "

The error message that was returned. The message is intended for human consumption and can change at any time. Use the statusCode for programmatic error handling.

", "ValidationException$message": null } }, @@ -713,14 +750,14 @@ "AudienceModelSummary$updateTime": "

The most recent time at which the audience model was updated.

", "ConfiguredAudienceModelSummary$createTime": "

The time at which the configured audience model was created.

", "ConfiguredAudienceModelSummary$updateTime": "

The most recent time at which the configured audience model was updated.

", - "CreateAudienceModelRequest$trainingDataEndTime": "

The end date and time of the training window.

", "CreateAudienceModelRequest$trainingDataStartTime": "

The start date and time of the training window.

", + "CreateAudienceModelRequest$trainingDataEndTime": "

The end date and time of the training window.

", "GetAudienceGenerationJobResponse$createTime": "

The time at which the audience generation job was created.

", "GetAudienceGenerationJobResponse$updateTime": "

The most recent time at which the audience generation job was updated.

", "GetAudienceModelResponse$createTime": "

The time at which the audience model was created.

", - "GetAudienceModelResponse$trainingDataEndTime": "

The end date specified for the training window.

", - "GetAudienceModelResponse$trainingDataStartTime": "

The start date specified for the training window.

", "GetAudienceModelResponse$updateTime": "

The most recent time at which the audience model was updated.

", + "GetAudienceModelResponse$trainingDataStartTime": "

The start date specified for the training window.

", + "GetAudienceModelResponse$trainingDataEndTime": "

The end date specified for the training window.

", "GetConfiguredAudienceModelResponse$createTime": "

The time at which the configured audience model was created.

", "GetConfiguredAudienceModelResponse$updateTime": "

The most recent time at which the configured audience model was updated.

", "GetTrainingDatasetResponse$createTime": "

The time at which the training dataset was created.

", diff --git a/models/apis/cleanroomsml/2023-09-06/smoke.json b/models/apis/cleanroomsml/2023-09-06/smoke.json new file mode 100644 index 00000000000..a9756813e4a --- /dev/null +++ b/models/apis/cleanroomsml/2023-09-06/smoke.json @@ -0,0 +1,6 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + ] +} diff --git a/models/apis/cleanroomsml/2023-09-06/waiters-2.json b/models/apis/cleanroomsml/2023-09-06/waiters-2.json new file mode 100644 index 00000000000..13f60ee66be --- /dev/null +++ b/models/apis/cleanroomsml/2023-09-06/waiters-2.json @@ -0,0 +1,5 @@ +{ + "version": 2, + "waiters": { + } +} diff --git a/models/apis/connect-contact-lens/2020-08-21/api-2.json b/models/apis/connect-contact-lens/2020-08-21/api-2.json index 96e7bb6baf7..82ab50b6003 100644 --- a/models/apis/connect-contact-lens/2020-08-21/api-2.json +++ b/models/apis/connect-contact-lens/2020-08-21/api-2.json @@ -5,12 +5,14 @@ "endpointPrefix":"contact-lens", "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceAbbreviation":"Amazon Connect Contact Lens", "serviceFullName":"Amazon Connect Contact Lens", "serviceId":"Connect Contact Lens", "signatureVersion":"v4", "signingName":"connect", - "uid":"connect-contact-lens-2020-08-21" + "uid":"connect-contact-lens-2020-08-21", + "auth":["aws.auth#sigv4"] }, "operations":{ "ListRealtimeContactAnalysisSegments":{ @@ -200,11 +202,43 @@ "max":20, "min":0 }, + "PostContactSummary":{ + "type":"structure", + "required":["Status"], + "members":{ + "Content":{"shape":"PostContactSummaryContent"}, + "Status":{"shape":"PostContactSummaryStatus"}, + "FailureCode":{"shape":"PostContactSummaryFailureCode"} + } + }, + "PostContactSummaryContent":{ + "type":"string", + "max":1762, + "min":1 + }, + "PostContactSummaryFailureCode":{ + "type":"string", + "enum":[ + "QUOTA_EXCEEDED", + "INSUFFICIENT_CONVERSATION_CONTENT", + "FAILED_SAFETY_GUIDELINES", + "INVALID_ANALYSIS_CONFIGURATION", + "INTERNAL_ERROR" + ] + }, + "PostContactSummaryStatus":{ + "type":"string", + "enum":[ + "FAILED", + "COMPLETED" + ] + }, "RealtimeContactAnalysisSegment":{ "type":"structure", "members":{ "Transcript":{"shape":"Transcript"}, - "Categories":{"shape":"Categories"} + "Categories":{"shape":"Categories"}, + "PostContactSummary":{"shape":"PostContactSummary"} } }, "RealtimeContactAnalysisSegments":{ diff --git a/models/apis/connect-contact-lens/2020-08-21/docs-2.json b/models/apis/connect-contact-lens/2020-08-21/docs-2.json index 88bdb709b77..a43325c7e8e 100644 --- a/models/apis/connect-contact-lens/2020-08-21/docs-2.json +++ b/models/apis/connect-contact-lens/2020-08-21/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "

Contact Lens for Amazon Connect enables you to analyze conversations between customer and agents, by using speech transcription, natural language processing, and intelligent search capabilities. It performs sentiment analysis, detects issues, and enables you to automatically categorize contacts.

Contact Lens for Amazon Connect provides both real-time and post-call analytics of customer-agent conversations. For more information, see Analyze conversations using Contact Lens in the Amazon Connect Administrator Guide.

", + "service": "

Amazon Connect Contact Lens enables you to analyze conversations between customer and agents, by using speech transcription, natural language processing, and intelligent search capabilities. It performs sentiment analysis, detects issues, and enables you to automatically categorize contacts.

Amazon Connect Contact Lens provides both real-time and post-call analytics of customer-agent conversations. For more information, see Analyze conversations using speech analytics in the Amazon Connect Administrator Guide.

", "operations": { "ListRealtimeContactAnalysisSegments": "

Provides a list of analysis segments for a real-time analysis session.

" }, @@ -101,7 +101,7 @@ "MaxResults": { "base": null, "refs": { - "ListRealtimeContactAnalysisSegmentsRequest$MaxResults": "

The maximimum number of results to return per page.

" + "ListRealtimeContactAnalysisSegmentsRequest$MaxResults": "

The maximum number of results to return per page.

" } }, "Message": { @@ -133,7 +133,7 @@ "ParticipantId": { "base": null, "refs": { - "Transcript$ParticipantId": "

The identifier of the participant.

" + "Transcript$ParticipantId": "

The identifier of the participant. Valid values are CUSTOMER or AGENT.

" } }, "ParticipantRole": { @@ -154,6 +154,30 @@ "CategoryDetails$PointsOfInterest": "

The section of audio where the category rule was detected.

" } }, + "PostContactSummary": { + "base": "

Information about the post-contact summary.

", + "refs": { + "RealtimeContactAnalysisSegment$PostContactSummary": "

Information about the post-contact summary.

" + } + }, + "PostContactSummaryContent": { + "base": null, + "refs": { + "PostContactSummary$Content": "

The content of the summary.

" + } + }, + "PostContactSummaryFailureCode": { + "base": null, + "refs": { + "PostContactSummary$FailureCode": "

If the summary failed to be generated, one of the following failure codes occurs:

" + } + }, + "PostContactSummaryStatus": { + "base": null, + "refs": { + "PostContactSummary$Status": "

Whether the summary was successfully COMPLETED or FAILED to be generated.

" + } + }, "RealtimeContactAnalysisSegment": { "base": "

An analyzed segment for a real-time analysis session.

", "refs": { @@ -174,7 +198,7 @@ "SentimentValue": { "base": null, "refs": { - "Transcript$Sentiment": "

The sentiment of the detected for this piece of transcript.

" + "Transcript$Sentiment": "

The sentiment detected for this piece of transcript.

" } }, "ThrottlingException": { diff --git a/models/apis/connect-contact-lens/2020-08-21/endpoint-rule-set-1.json b/models/apis/connect-contact-lens/2020-08-21/endpoint-rule-set-1.json new file mode 100644 index 00000000000..27684773746 --- /dev/null +++ b/models/apis/connect-contact-lens/2020-08-21/endpoint-rule-set-1.json @@ -0,0 +1,314 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://contact-lens-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://contact-lens-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://contact-lens.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://contact-lens.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] +} \ No newline at end of file diff --git a/models/apis/connect-contact-lens/2020-08-21/endpoint-tests-1.json b/models/apis/connect-contact-lens/2020-08-21/endpoint-tests-1.json new file mode 100644 index 00000000000..01e42bd8ac8 --- /dev/null +++ b/models/apis/connect-contact-lens/2020-08-21/endpoint-tests-1.json @@ -0,0 +1,405 @@ +{ + "testCases": [ + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.eu-central-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://contact-lens-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://contact-lens-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://contact-lens-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://contact-lens.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/connect/2017-08-08/api-2.json b/models/apis/connect/2017-08-08/api-2.json index 5fc303a0878..f14a112f48e 100644 --- a/models/apis/connect/2017-08-08/api-2.json +++ b/models/apis/connect/2017-08-08/api-2.json @@ -12957,6 +12957,28 @@ "max":5, "min":0 }, + "RealTimeContactAnalysisPostContactSummaryContent":{ + "type":"string", + "max":1270, + "min":1 + }, + "RealTimeContactAnalysisPostContactSummaryFailureCode":{ + "type":"string", + "enum":[ + "QUOTA_EXCEEDED", + "INSUFFICIENT_CONVERSATION_CONTENT", + "FAILED_SAFETY_GUIDELINES", + "INVALID_ANALYSIS_CONFIGURATION", + "INTERNAL_ERROR" + ] + }, + "RealTimeContactAnalysisPostContactSummaryStatus":{ + "type":"string", + "enum":[ + "FAILED", + "COMPLETED" + ] + }, "RealTimeContactAnalysisSegmentAttachments":{ "type":"structure", "required":[ @@ -13005,6 +13027,15 @@ "IssuesDetected":{"shape":"RealTimeContactAnalysisIssuesDetected"} } }, + "RealTimeContactAnalysisSegmentPostContactSummary":{ + "type":"structure", + "required":["Status"], + "members":{ + "Content":{"shape":"RealTimeContactAnalysisPostContactSummaryContent"}, + "Status":{"shape":"RealTimeContactAnalysisPostContactSummaryStatus"}, + "FailureCode":{"shape":"RealTimeContactAnalysisPostContactSummaryFailureCode"} + } + }, "RealTimeContactAnalysisSegmentTranscript":{ "type":"structure", "required":[ @@ -13033,13 +13064,14 @@ "Categories", "Issues", "Event", - "Attachments" + "Attachments", + "PostContactSummary" ] }, "RealTimeContactAnalysisSegmentTypes":{ "type":"list", "member":{"shape":"RealTimeContactAnalysisSegmentType"}, - "max":5 + "max":6 }, "RealTimeContactAnalysisSentimentLabel":{ "type":"string", @@ -13120,7 +13152,8 @@ "Categories":{"shape":"RealTimeContactAnalysisSegmentCategories"}, "Issues":{"shape":"RealTimeContactAnalysisSegmentIssues"}, "Event":{"shape":"RealTimeContactAnalysisSegmentEvent"}, - "Attachments":{"shape":"RealTimeContactAnalysisSegmentAttachments"} + "Attachments":{"shape":"RealTimeContactAnalysisSegmentAttachments"}, + "PostContactSummary":{"shape":"RealTimeContactAnalysisSegmentPostContactSummary"} }, "union":true }, diff --git a/models/apis/connect/2017-08-08/docs-2.json b/models/apis/connect/2017-08-08/docs-2.json index 9b043e5f899..e5dbdd0a792 100644 --- a/models/apis/connect/2017-08-08/docs-2.json +++ b/models/apis/connect/2017-08-08/docs-2.json @@ -3551,7 +3551,7 @@ "FiltersV2List": { "base": null, "refs": { - "GetMetricDataV2Request$Filters": "

The filters to apply to returned metrics. You can filter on the following resources:

At least one filter must be passed from queues, routing profiles, agents, or user hierarchy groups.

To filter by phone number, see Create a historical metrics report in the Amazon Connect Administrator Guide.

Note the following limits:

" + "GetMetricDataV2Request$Filters": "

The filters to apply to returned metrics. You can filter on the following resources:

At least one filter must be passed from queues, routing profiles, agents, or user hierarchy groups.

For metrics for outbound campaigns analytics, you can also use campaigns to satisfy at least one filter requirement.

To filter by phone number, see Create a historical metrics report in the Amazon Connect Administrator Guide.

Note the following limits:

" } }, "FlowAssociationResourceType": { @@ -3722,7 +3722,7 @@ "GroupingsV2": { "base": null, "refs": { - "GetMetricDataV2Request$Groupings": "

The grouping applied to the metrics that are returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values that are returned apply to the metrics for each queue. They are not aggregated for all queues.

If no grouping is specified, a summary of all metrics is returned.

Valid grouping keys: AGENT | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | CASE_TEMPLATE_ARN | CASE_STATUS | CHANNEL | contact/segmentAttributes/connect:Subtype | FLOWS_RESOURCE_ID | FLOWS_MODULE_RESOURCE_ID | FLOW_TYPE | FLOWS_OUTCOME_TYPE | INITIATION_METHOD | Q_CONNECT_ENABLED | QUEUE | RESOURCE_PUBLISHED_TIMESTAMP | ROUTING_PROFILE | ROUTING_STEP_EXPRESSION

" + "GetMetricDataV2Request$Groupings": "

The grouping applied to the metrics that are returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values that are returned apply to the metrics for each queue. They are not aggregated for all queues.

If no grouping is specified, a summary of all metrics is returned.

Valid grouping keys: AGENT | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | ANSWERING_MACHINE_DETECTION_STATUS | CAMPAIGN | CASE_TEMPLATE_ARN | CASE_STATUS | CHANNEL | contact/segmentAttributes/connect:Subtype | DISCONNECT_REASON | FLOWS_RESOURCE_ID | FLOWS_MODULE_RESOURCE_ID | FLOW_TYPE | FLOWS_OUTCOME_TYPE | INITIATION_METHOD | Q_CONNECT_ENABLED | QUEUE | RESOURCE_PUBLISHED_TIMESTAMP | ROUTING_PROFILE | ROUTING_STEP_EXPRESSION

" } }, "HierarchyGroup": { @@ -5390,7 +5390,7 @@ "MetricsV2": { "base": null, "refs": { - "GetMetricDataV2Request$Metrics": "

The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator Guide.

ABANDONMENT_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Abandonment rate

AGENT_ADHERENT_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Adherent time

AGENT_ANSWER_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent answer rate

AGENT_NON_ADHERENT_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Non-adherent time

AGENT_NON_RESPONSE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent non-response

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

UI name: Agent non-response without customer abandons

AGENT_OCCUPANCY

Unit: Percentage

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Occupancy

AGENT_SCHEDULE_ADHERENCE

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Adherence

AGENT_SCHEDULED_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Scheduled time

AVG_ABANDON_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average queue abandon time

AVG_ACTIVE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Average active time

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average after contact work time

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Average agent API connecting time

The Negate key in Metric Level Filters is not applicable for this metric.

AVG_AGENT_PAUSE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Average agent pause time

AVG_CASE_RELATED_CONTACTS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average contacts per case

AVG_CASE_RESOLUTION_TIME

Unit: Seconds

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average case resolution time

AVG_CONTACT_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average contact duration

Feature is a valid filter but not a valid grouping.

AVG_CONVERSATION_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average conversation duration

AVG_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Average flow time

AVG_GREETING_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent greeting time

AVG_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

UI name: Average handle time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average customer hold time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME_ALL_CONTACTS

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average customer hold time all contacts

AVG_HOLDS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average holds

Feature is a valid filter but not a valid grouping.

AVG_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interaction and customer hold time

AVG_INTERACTION_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interaction time

Feature is a valid filter but not a valid grouping.

AVG_INTERRUPTIONS_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interruptions

AVG_INTERRUPTION_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interruption time

AVG_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average non-talk time

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average queue answer time

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average resolution time

AVG_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average talk time

AVG_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent talk time

AVG_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average customer talk time

CASES_CREATED

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases created

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts created

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED

Unit: Count

Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

UI name: API contacts handled

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts handled (connected to agent timestamp)

CONTACTS_HOLD_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts hold disconnect

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts hold agent disconnect

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts hold customer disconnect

CONTACTS_PUT_ON_HOLD

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts put on hold

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts transferred out external

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts transferred out internal

CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts queued

CONTACTS_QUEUED_BY_ENQUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts queued (enqueue timestamp)

CONTACTS_REMOVED_FROM_QUEUE_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

UI name: Contacts removed from queue in X seconds

CONTACTS_RESOLVED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

Threshold: For ThresholdValue enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

UI name: Contacts resolved in X

CONTACTS_TRANSFERRED_OUT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts transferred out

Feature is a valid filter but not a valid grouping.

CONTACTS_TRANSFERRED_OUT_BY_AGENT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts transferred out by agent

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts transferred out queue

CURRENT_CASES

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Current cases

FLOWS_OUTCOME

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome

FLOWS_STARTED

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows started

MAX_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Maximum flow time

MAX_QUEUED_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Maximum queued time

MIN_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Minimum flow time

PERCENT_CASES_FIRST_CONTACT_RESOLVED

Unit: Percent

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved on first contact

PERCENT_CONTACTS_STEP_EXPIRED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

PERCENT_FLOWS_OUTCOME

Unit: Percent

Valid metric filter key: FLOWS_OUTCOME_TYPE

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome percentage.

The FLOWS_OUTCOME_TYPE is not a valid grouping.

PERCENT_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Non-talk time percent

PERCENT_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Talk time percent

PERCENT_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Agent talk time percent

PERCENT_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Customer talk time percent

REOPENED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases reopened

RESOLVED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved

SERVICE_LEVEL

You can include up to 20 SERVICE_LEVEL metrics in a request.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

UI name: Service level X

STEP_CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, RoutingStepExpression

UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: After contact work time

SUM_CONNECTING_TIME_AGENT

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. This metric only supports the following filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent API connecting time

The Negate key in Metric Level Filters is not applicable for this metric.

SUM_CONTACTS_ABANDONED

Unit: Count

Metric filter:

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

UI name: Contact abandoned

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

UI name: Contacts abandoned in X seconds

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

UI name: Contacts answered in X seconds

SUM_CONTACT_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contact flow time

SUM_CONTACT_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Agent on contact time

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contact disconnected

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Error status time

SUM_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contact handle time

SUM_HOLD_TIME

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Customer hold time

SUM_IDLE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Agent idle time

SUM_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Agent interaction and hold time

SUM_INTERACTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent interaction time

SUM_NON_PRODUCTIVE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Non-Productive Time

SUM_ONLINE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Online time

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Callback attempts

" + "GetMetricDataV2Request$Metrics": "

The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator Guide.

ABANDONMENT_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Abandonment rate

AGENT_ADHERENT_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Adherent time

AGENT_ANSWER_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent answer rate

AGENT_NON_ADHERENT_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Non-adherent time

AGENT_NON_RESPONSE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent non-response

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

UI name: Agent non-response without customer abandons

AGENT_OCCUPANCY

Unit: Percentage

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Occupancy

AGENT_SCHEDULE_ADHERENCE

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Adherence

AGENT_SCHEDULED_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Scheduled time

AVG_ABANDON_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average queue abandon time

AVG_ACTIVE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Average active time

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average after contact work time

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Average agent API connecting time

The Negate key in Metric Level Filters is not applicable for this metric.

AVG_AGENT_PAUSE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Average agent pause time

AVG_CASE_RELATED_CONTACTS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average contacts per case

AVG_CASE_RESOLUTION_TIME

Unit: Seconds

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average case resolution time

AVG_CONTACT_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average contact duration

Feature is a valid filter but not a valid grouping.

AVG_CONVERSATION_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average conversation duration

AVG_DIALS_PER_MINUTE

This metric is available only for contacts analyzed by outbound campaigns analytics.

Unit: Count

Valid groupings and filters: Campaign, Agent, Queue, Routing Profile

UI name: Average dials per minute

AVG_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Average flow time

AVG_GREETING_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent greeting time

AVG_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

UI name: Average handle time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average customer hold time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME_ALL_CONTACTS

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average customer hold time all contacts

AVG_HOLDS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average holds

Feature is a valid filter but not a valid grouping.

AVG_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interaction and customer hold time

AVG_INTERACTION_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interaction time

Feature is a valid filter but not a valid grouping.

AVG_INTERRUPTIONS_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interruptions

AVG_INTERRUPTION_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interruption time

AVG_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average non-talk time

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average queue answer time

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average resolution time

AVG_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average talk time

AVG_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent talk time

AVG_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average customer talk time

AVG_WAIT_TIME_AFTER_CUSTOMER_CONNECTION

This metric is available only for contacts analyzed by outbound campaigns analytics.

Unit: Seconds

Valid groupings and filters: Campaign

UI name: Average wait time after customer connection

CAMPAIGN_CONTACTS_ABANDONED_AFTER_X

This metric is available only for contacts analyzed by outbound campaigns analytics.

Unit: Count

Valid groupings and filters: Campaign, Agent

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter GT (for Greater than).

UI name: Campaign contacts abandoned after X

CAMPAIGN_CONTACTS_ABANDONED_AFTER_X_RATE

This metric is available only for contacts analyzed by outbound campaigns analytics.

Unit: Percent

Valid groupings and filters: Campaign, Agent

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter GT (for Greater than).

UI name: Campaign contacts abandoned after X rate

CASES_CREATED

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases created

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts created

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED

Unit: Count

Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

UI name: API contacts handled

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts handled (connected to agent timestamp)

CONTACTS_HOLD_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts hold disconnect

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts hold agent disconnect

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts hold customer disconnect

CONTACTS_PUT_ON_HOLD

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts put on hold

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts transferred out external

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts transferred out internal

CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts queued

CONTACTS_QUEUED_BY_ENQUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts queued (enqueue timestamp)

CONTACTS_REMOVED_FROM_QUEUE_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

UI name: Contacts removed from queue in X seconds

CONTACTS_RESOLVED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

Threshold: For ThresholdValue enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

UI name: Contacts resolved in X

CONTACTS_TRANSFERRED_OUT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts transferred out

Feature is a valid filter but not a valid grouping.

CONTACTS_TRANSFERRED_OUT_BY_AGENT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts transferred out by agent

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts transferred out queue

CURRENT_CASES

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Current cases

DELIVERY_ATTEMPTS

This metric is available only for contacts analyzed by outbound campaigns analytics.

Unit: Count

Valid metric filter key: ANSWERING_MACHINE_DETECTION_STATUS, DISCONNECT_REASON

Valid groupings and filters: Campaign, Agent, Queue, Routing Profile, Answering Machine Detection Status, Disconnect Reason

UI name: Delivery attempts

DELIVERY_ATTEMPT_DISPOSITION_RATE

This metric is available only for contacts analyzed by outbound campaigns analytics, and with the answering machine detection enabled.

Unit: Percent

Valid metric filter key: ANSWERING_MACHINE_DETECTION_STATUS, DISCONNECT_REASON

Valid groupings and filters: Campaign, Agent, Answering Machine Detection Status, Disconnect Reason

Answering Machine Detection Status and Disconnect Reason are valid filters but not valid groupings.

UI name: Delivery attempt disposition rate

FLOWS_OUTCOME

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome

FLOWS_STARTED

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows started

HUMAN_ANSWERED_CALLS

This metric is available only for contacts analyzed by outbound campaigns analytics, and with the answering machine detection enabled.

Unit: Count

Valid groupings and filters: Campaign, Agent

UI name: Human answered

MAX_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Maximum flow time

MAX_QUEUED_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Maximum queued time

MIN_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Minimum flow time

PERCENT_CASES_FIRST_CONTACT_RESOLVED

Unit: Percent

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved on first contact

PERCENT_CONTACTS_STEP_EXPIRED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

PERCENT_FLOWS_OUTCOME

Unit: Percent

Valid metric filter key: FLOWS_OUTCOME_TYPE

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome percentage.

The FLOWS_OUTCOME_TYPE is not a valid grouping.

PERCENT_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Non-talk time percent

PERCENT_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Talk time percent

PERCENT_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Agent talk time percent

PERCENT_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Customer talk time percent

REOPENED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases reopened

RESOLVED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved

SERVICE_LEVEL

You can include up to 20 SERVICE_LEVEL metrics in a request.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

UI name: Service level X

STEP_CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, RoutingStepExpression

UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: After contact work time

SUM_CONNECTING_TIME_AGENT

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. This metric only supports the following filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent API connecting time

The Negate key in Metric Level Filters is not applicable for this metric.

SUM_CONTACTS_ABANDONED

Unit: Count

Metric filter:

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

UI name: Contact abandoned

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

UI name: Contacts abandoned in X seconds

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

UI name: Contacts answered in X seconds

SUM_CONTACT_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contact flow time

SUM_CONTACT_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Agent on contact time

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contact disconnected

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Error status time

SUM_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contact handle time

SUM_HOLD_TIME

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Customer hold time

SUM_IDLE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Agent idle time

SUM_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Agent interaction and hold time

SUM_INTERACTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent interaction time

SUM_NON_PRODUCTIVE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Non-Productive Time

SUM_ONLINE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Online time

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Callback attempts

" } }, "MinutesLimit60": { @@ -6611,6 +6611,24 @@ "RealTimeContactAnalysisCategoryDetails$PointsOfInterest": "

List of PointOfInterest - objects describing a single match of a rule.

" } }, + "RealTimeContactAnalysisPostContactSummaryContent": { + "base": null, + "refs": { + "RealTimeContactAnalysisSegmentPostContactSummary$Content": "

The content of the summary.

" + } + }, + "RealTimeContactAnalysisPostContactSummaryFailureCode": { + "base": null, + "refs": { + "RealTimeContactAnalysisSegmentPostContactSummary$FailureCode": "

If the summary failed to be generated, one of the following failure codes occurs:

" + } + }, + "RealTimeContactAnalysisPostContactSummaryStatus": { + "base": null, + "refs": { + "RealTimeContactAnalysisSegmentPostContactSummary$Status": "

Whether the summary was successfully COMPLETED or FAILED to be generated.

" + } + }, "RealTimeContactAnalysisSegmentAttachments": { "base": "

Segment containing list of attachments.

", "refs": { @@ -6635,6 +6653,12 @@ "RealtimeContactAnalysisSegment$Issues": null } }, + "RealTimeContactAnalysisSegmentPostContactSummary": { + "base": "

Information about the post-contact summary for a real-time contact segment.

", + "refs": { + "RealtimeContactAnalysisSegment$PostContactSummary": "

Information about the post-contact summary.

" + } + }, "RealTimeContactAnalysisSegmentTranscript": { "base": "

The analyzed transcript segment.

", "refs": { @@ -6892,7 +6916,7 @@ "refs": { "FilterV2$FilterKey": "

The key to use for filtering data. For example, QUEUE, ROUTING_PROFILE, AGENT, CHANNEL, AGENT_HIERARCHY_LEVEL_ONE, AGENT_HIERARCHY_LEVEL_TWO, AGENT_HIERARCHY_LEVEL_THREE, AGENT_HIERARCHY_LEVEL_FOUR, AGENT_HIERARCHY_LEVEL_FIVE. There must be at least 1 key and a maximum 5 keys.

", "FilterValueList$member": null, - "ThresholdV2$Comparison": "

The type of comparison. Only \"less than\" (LT) comparisons are supported.

" + "ThresholdV2$Comparison": "

The type of comparison. Only \"less than\" (LT) and \"greater than\" (GT) comparisons are supported.

" } }, "ResourceConflictException": { diff --git a/models/apis/datazone/2018-05-10/api-2.json b/models/apis/datazone/2018-05-10/api-2.json index 4cd7bf72a4e..f1f5f74755b 100644 --- a/models/apis/datazone/2018-05-10/api-2.json +++ b/models/apis/datazone/2018-05-10/api-2.json @@ -3873,63 +3873,6 @@ "type":"string", "pattern":"^[a-zA-Z0-9_-]{0,36}$" }, - "DataProductDescription":{ - "type":"string", - "max":4096, - "min":1, - "sensitive":true - }, - "DataProductId":{ - "type":"string", - "pattern":"^[a-zA-Z0-9_-]{1,36}$" - }, - "DataProductItem":{ - "type":"structure", - "members":{ - "domainId":{"shape":"DomainId"}, - "itemId":{"shape":"DataProductId"} - }, - "deprecated":true, - "deprecatedMessage":"This structure is deprecated." - }, - "DataProductItems":{ - "type":"list", - "member":{"shape":"DataProductItem"}, - "deprecated":true, - "deprecatedMessage":"This structure is deprecated.", - "max":100, - "min":0 - }, - "DataProductName":{ - "type":"string", - "max":64, - "min":1, - "sensitive":true - }, - "DataProductSummary":{ - "type":"structure", - "required":[ - "domainId", - "id", - "name", - "owningProjectId" - ], - "members":{ - "createdAt":{"shape":"CreatedAt"}, - "createdBy":{"shape":"CreatedBy"}, - "dataProductItems":{"shape":"DataProductItems"}, - "description":{"shape":"DataProductDescription"}, - "domainId":{"shape":"DomainId"}, - "glossaryTerms":{"shape":"GlossaryTerms"}, - "id":{"shape":"DataProductId"}, - "name":{"shape":"DataProductName"}, - "owningProjectId":{"shape":"ProjectId"}, - "updatedAt":{"shape":"UpdatedAt"}, - "updatedBy":{"shape":"UpdatedBy"} - }, - "deprecated":true, - "deprecatedMessage":"This structure is deprecated." - }, "DataSourceConfigurationInput":{ "type":"structure", "members":{ @@ -8819,11 +8762,6 @@ "type":"structure", "members":{ "assetItem":{"shape":"AssetItem"}, - "dataProductItem":{ - "shape":"DataProductSummary", - "deprecated":true, - "deprecatedMessage":"This field is deprecated." - }, "glossaryItem":{"shape":"GlossaryItem"}, "glossaryTermItem":{"shape":"GlossaryTermItem"} }, diff --git a/models/apis/datazone/2018-05-10/docs-2.json b/models/apis/datazone/2018-05-10/docs-2.json index c81fd77648a..68b01944d47 100644 --- a/models/apis/datazone/2018-05-10/docs-2.json +++ b/models/apis/datazone/2018-05-10/docs-2.json @@ -815,7 +815,6 @@ "CreateSubscriptionGrantOutput$createdAt": "

A timestamp of when the subscription grant is created.

", "CreateSubscriptionRequestOutput$createdAt": "

A timestamp of when the subscription request is created.

", "CreateSubscriptionTargetOutput$createdAt": "

The timestamp of when the subscription target was created.

", - "DataProductSummary$createdAt": "

", "DeleteSubscriptionGrantOutput$createdAt": "

The timestamp of when the subscription grant that is deleted was created.

", "DomainSummary$createdAt": "

A timestamp of when a Amazon DataZone domain was created.

", "FormTypeData$createdAt": "

The timestamp of when the metadata form type was created.

", @@ -871,7 +870,6 @@ "CreateSubscriptionGrantOutput$createdBy": "

The Amazon DataZone user who created the subscription grant.

", "CreateSubscriptionRequestOutput$createdBy": "

The Amazon DataZone user who created the subscription request.

", "CreateSubscriptionTargetOutput$createdBy": "

The Amazon DataZone user who created the subscription target.

", - "DataProductSummary$createdBy": "

", "DeleteSubscriptionGrantOutput$createdBy": "

The Amazon DataZone user who created the subscription grant that is deleted.

", "FormTypeData$createdBy": "

The Amazon DataZone user who created teh metadata form type.

", "GetAssetOutput$createdBy": "

The Amazon DataZone user who created the asset.

", @@ -951,43 +949,6 @@ "TimeSeriesDataPointSummaryFormOutput$id": "

The ID of the time series data points summary form.

" } }, - "DataProductDescription": { - "base": null, - "refs": { - "DataProductSummary$description": "

" - } - }, - "DataProductId": { - "base": null, - "refs": { - "DataProductItem$itemId": "

", - "DataProductSummary$id": "

" - } - }, - "DataProductItem": { - "base": "

", - "refs": { - "DataProductItems$member": null - } - }, - "DataProductItems": { - "base": null, - "refs": { - "DataProductSummary$dataProductItems": "

" - } - }, - "DataProductName": { - "base": null, - "refs": { - "DataProductSummary$name": "

" - } - }, - "DataProductSummary": { - "base": "

", - "refs": { - "SearchInventoryResultItem$dataProductItem": "

The data product item included in the search results.

" - } - }, "DataSourceConfigurationInput": { "base": "

The configuration of the data source.

", "refs": { @@ -1535,8 +1496,6 @@ "CreateSubscriptionTargetOutput$domainId": "

The ID of the Amazon DataZone domain in which the subscription target was created.

", "CreateUserProfileInput$domainIdentifier": "

The identifier of the Amazon DataZone domain in which a user profile is created.

", "CreateUserProfileOutput$domainId": "

The identifier of the Amazon DataZone domain in which a user profile is created.

", - "DataProductItem$domainId": "

", - "DataProductSummary$domainId": "

", "DataSourceSummary$domainId": "

The ID of the Amazon DataZone domain in which the data source exists.

", "DeleteAssetFilterInput$domainIdentifier": "

The ID of the domain where you want to delete an asset filter.

", "DeleteAssetInput$domainIdentifier": "

The ID of the Amazon DataZone domain in which the asset is deleted.

", @@ -2652,7 +2611,6 @@ "CreateEnvironmentOutput$glossaryTerms": "

The glossary terms that can be used in this Amazon DataZone environment.

", "CreateProjectInput$glossaryTerms": "

The glossary terms that can be used in this Amazon DataZone project.

", "CreateProjectOutput$glossaryTerms": "

The glossary terms that can be used in the project.

", - "DataProductSummary$glossaryTerms": "

", "GetAssetOutput$glossaryTerms": "

The business glossary terms attached to the asset.

", "GetEnvironmentBlueprintOutput$glossaryTerms": "

The glossary terms attached to this Amazon DataZone blueprint.

", "GetEnvironmentOutput$glossaryTerms": "

The business glossary terms that can be used in this environment.

", @@ -3567,7 +3525,6 @@ "CreateProjectMembershipInput$projectIdentifier": "

The ID of the project for which this project membership was created.

", "CreateProjectOutput$id": "

The ID of the Amazon DataZone project.

", "CreateSubscriptionTargetOutput$projectId": "

???

", - "DataProductSummary$owningProjectId": "

", "DataSourceRunActivity$projectId": "

The project ID included in the data source run activity.

", "DataSourceRunSummary$projectId": "

The project ID of the data source run.

", "DeleteDataSourceOutput$projectId": "

The ID of the project in which this data source exists and from which it's deleted.

", @@ -5266,7 +5223,6 @@ "CreateSubscriptionGrantOutput$updatedAt": "

A timestamp of when the subscription grant was updated.

", "CreateSubscriptionRequestOutput$updatedAt": "

The timestamp of when the subscription request was updated.

", "CreateSubscriptionTargetOutput$updatedAt": "

The timestamp of when the subscription target was updated.

", - "DataProductSummary$updatedAt": "

", "DeleteSubscriptionGrantOutput$updatedAt": "

The timestamp of when the subscription grant that is deleted was updated.

", "DomainSummary$lastUpdatedAt": "

A timestamp of when a Amazon DataZone domain was last updated.

", "GetAssetTypeOutput$updatedAt": "

The timestamp of when the asset type was updated.

", @@ -5306,7 +5262,6 @@ "CreateSubscriptionGrantOutput$updatedBy": "

The Amazon DataZone user who updated the subscription grant.

", "CreateSubscriptionRequestOutput$updatedBy": "

The Amazon DataZone user who updated the subscription request.

", "CreateSubscriptionTargetOutput$updatedBy": "

The Amazon DataZone user who updated the subscription target.

", - "DataProductSummary$updatedBy": "

", "DeleteSubscriptionGrantOutput$updatedBy": "

The Amazon DataZone user who updated the subscription grant that is deleted.

", "GetAssetTypeOutput$updatedBy": "

The Amazon DataZone user that updated the asset type.

", "GetGlossaryOutput$updatedBy": "

The Amazon DataZone user who updated the business glossary.

", diff --git a/models/apis/entityresolution/2018-05-10/api-2.json b/models/apis/entityresolution/2018-05-10/api-2.json index dd474b94226..d896c27d826 100644 --- a/models/apis/entityresolution/2018-05-10/api-2.json +++ b/models/apis/entityresolution/2018-05-10/api-2.json @@ -1,9 +1,15 @@ { "metadata": { "apiVersion": "2018-05-10", + "auth": [ + "aws.auth#sigv4" + ], "endpointPrefix": "entityresolution", "jsonVersion": "1.1", "protocol": "rest-json", + "protocols": [ + "rest-json" + ], "serviceAbbreviation": "AWSEntityResolution", "serviceFullName": "AWS EntityResolution", "serviceId": "EntityResolution", @@ -1304,7 +1310,7 @@ "shape": "IdMappingWorkflowOutputSourceConfig" }, "roleArn": { - "shape": "RoleArn" + "shape": "IdMappingRoleArn" }, "tags": { "shape": "TagMap" @@ -1316,7 +1322,6 @@ "required": [ "idMappingTechniques", "inputSourceConfig", - "roleArn", "workflowName" ], "type": "structure" @@ -1336,7 +1341,7 @@ "shape": "IdMappingWorkflowOutputSourceConfig" }, "roleArn": { - "shape": "RoleArn" + "shape": "IdMappingRoleArn" }, "workflowArn": { "shape": "IdMappingWorkflowArn" @@ -1348,7 +1353,6 @@ "required": [ "idMappingTechniques", "inputSourceConfig", - "roleArn", "workflowArn", "workflowName" ], @@ -1866,7 +1870,7 @@ "shape": "IdMappingWorkflowOutputSourceConfig" }, "roleArn": { - "shape": "RoleArn" + "shape": "IdMappingRoleArn" }, "tags": { "shape": "TagMap" @@ -1885,7 +1889,6 @@ "createdAt", "idMappingTechniques", "inputSourceConfig", - "roleArn", "updatedAt", "workflowArn", "workflowName" @@ -2197,6 +2200,15 @@ "recordsNotProcessed": { "shape": "Integer" }, + "totalMappedRecords": { + "shape": "Integer" + }, + "totalMappedSourceRecords": { + "shape": "Integer" + }, + "totalMappedTargetRecords": { + "shape": "Integer" + }, "totalRecordsProcessed": { "shape": "Integer" } @@ -2229,6 +2241,42 @@ "min": 1, "type": "list" }, + "IdMappingRoleArn": { + "max": 512, + "min": 0, + "pattern": "^$|^arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "IdMappingRuleBasedProperties": { + "members": { + "attributeMatchingModel": { + "shape": "AttributeMatchingModel" + }, + "recordMatchingModel": { + "shape": "RecordMatchingModel" + }, + "ruleDefinitionType": { + "shape": "IdMappingWorkflowRuleDefinitionType" + }, + "rules": { + "shape": "IdMappingRuleBasedPropertiesRulesList" + } + }, + "required": [ + "attributeMatchingModel", + "recordMatchingModel", + "ruleDefinitionType" + ], + "type": "structure" + }, + "IdMappingRuleBasedPropertiesRulesList": { + "max": 25, + "member": { + "shape": "Rule" + }, + "min": 1, + "type": "list" + }, "IdMappingTechniques": { "members": { "idMappingType": { @@ -2236,6 +2284,9 @@ }, "providerProperties": { "shape": "ProviderProperties" + }, + "ruleBasedProperties": { + "shape": "IdMappingRuleBasedProperties" } }, "required": [ @@ -2245,7 +2296,8 @@ }, "IdMappingType": { "enum": [ - "PROVIDER" + "PROVIDER", + "RULE_BASED" ], "type": "string" }, @@ -2310,6 +2362,19 @@ "min": 1, "type": "list" }, + "IdMappingWorkflowRuleDefinitionType": { + "enum": [ + "SOURCE", + "TARGET" + ], + "type": "string" + }, + "IdMappingWorkflowRuleDefinitionTypeList": { + "member": { + "shape": "IdMappingWorkflowRuleDefinitionType" + }, + "type": "list" + }, "IdMappingWorkflowSummary": { "members": { "createdAt": { @@ -2337,6 +2402,25 @@ "pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(idnamespace/[a-zA-Z_0-9-]{1,255})$", "type": "string" }, + "IdNamespaceIdMappingWorkflowMetadata": { + "members": { + "idMappingType": { + "shape": "IdMappingType" + } + }, + "required": [ + "idMappingType" + ], + "type": "structure" + }, + "IdNamespaceIdMappingWorkflowMetadataList": { + "max": 1, + "member": { + "shape": "IdNamespaceIdMappingWorkflowMetadata" + }, + "min": 1, + "type": "list" + }, "IdNamespaceIdMappingWorkflowProperties": { "members": { "idMappingType": { @@ -2344,6 +2428,9 @@ }, "providerProperties": { "shape": "NamespaceProviderProperties" + }, + "ruleBasedProperties": { + "shape": "NamespaceRuleBasedProperties" } }, "required": [ @@ -2399,6 +2486,9 @@ "description": { "shape": "Description" }, + "idMappingWorkflowProperties": { + "shape": "IdNamespaceIdMappingWorkflowMetadataList" + }, "idNamespaceArn": { "shape": "IdNamespaceArn" }, @@ -2856,6 +2946,13 @@ ], "type": "structure" }, + "MatchPurpose": { + "enum": [ + "IDENTIFIER_GENERATION", + "INDEXING" + ], + "type": "string" + }, "MatchingWorkflowArn": { "pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(matchingworkflow/[a-zA-Z_0-9-]{1,255})$", "type": "string" @@ -2904,6 +3001,31 @@ ], "type": "structure" }, + "NamespaceRuleBasedProperties": { + "members": { + "attributeMatchingModel": { + "shape": "AttributeMatchingModel" + }, + "recordMatchingModels": { + "shape": "RecordMatchingModelList" + }, + "ruleDefinitionTypes": { + "shape": "IdMappingWorkflowRuleDefinitionTypeList" + }, + "rules": { + "shape": "NamespaceRuleBasedPropertiesRulesList" + } + }, + "type": "structure" + }, + "NamespaceRuleBasedPropertiesRulesList": { + "max": 25, + "member": { + "shape": "Rule" + }, + "min": 1, + "type": "list" + }, "NextToken": { "max": 1024, "min": 1, @@ -3179,6 +3301,19 @@ "pattern": "^[a-zA-Z_0-9-./@ ()+\\t]*$", "type": "string" }, + "RecordMatchingModel": { + "enum": [ + "ONE_SOURCE_TO_ONE_TARGET", + "MANY_SOURCE_TO_ONE_TARGET" + ], + "type": "string" + }, + "RecordMatchingModelList": { + "member": { + "shape": "RecordMatchingModel" + }, + "type": "list" + }, "RequiredBucketActionsList": { "member": { "shape": "String" @@ -3249,6 +3384,9 @@ "attributeMatchingModel": { "shape": "AttributeMatchingModel" }, + "matchPurpose": { + "shape": "MatchPurpose" + }, "rules": { "shape": "RuleBasedPropertiesRulesList" } @@ -3320,6 +3458,9 @@ "groupName": { "shape": "AttributeName" }, + "hashed": { + "shape": "Boolean" + }, "matchKey": { "shape": "AttributeName" }, @@ -3573,7 +3714,7 @@ "UniqueId": { "max": 760, "min": 1, - "pattern": "^[a-zA-Z_0-9-,]*$", + "pattern": "^[a-zA-Z_0-9-+=/,]*$", "type": "string" }, "UniqueIdList": { @@ -3620,7 +3761,7 @@ "shape": "IdMappingWorkflowOutputSourceConfig" }, "roleArn": { - "shape": "RoleArn" + "shape": "IdMappingRoleArn" }, "workflowName": { "location": "uri", @@ -3631,7 +3772,6 @@ "required": [ "idMappingTechniques", "inputSourceConfig", - "roleArn", "workflowName" ], "type": "structure" @@ -3651,7 +3791,7 @@ "shape": "IdMappingWorkflowOutputSourceConfig" }, "roleArn": { - "shape": "RoleArn" + "shape": "IdMappingRoleArn" }, "workflowArn": { "shape": "IdMappingWorkflowArn" @@ -3663,7 +3803,6 @@ "required": [ "idMappingTechniques", "inputSourceConfig", - "roleArn", "workflowArn", "workflowName" ], diff --git a/models/apis/entityresolution/2018-05-10/docs-2.json b/models/apis/entityresolution/2018-05-10/docs-2.json index 5b841955691..b94d4d4d30c 100644 --- a/models/apis/entityresolution/2018-05-10/docs-2.json +++ b/models/apis/entityresolution/2018-05-10/docs-2.json @@ -42,7 +42,7 @@ }, "shapes": { "AccessDeniedException": { - "base": "

You do not have sufficient access to perform this action. HTTP Status Code: 403

", + "base": "

You do not have sufficient access to perform this action.

", "refs": { } }, @@ -59,7 +59,9 @@ "AttributeMatchingModel": { "base": null, "refs": { - "RuleBasedProperties$attributeMatchingModel": "

The comparison type. You can either choose ONE_TO_ONE or MANY_TO_MANY as the AttributeMatchingModel. When choosing MANY_TO_MANY, the system can match attributes across the sub-types of an attribute type. For example, if the value of the Email field of Profile A and the value of BusinessEmail field of Profile B matches, the two profiles are matched on the Email type. When choosing ONE_TO_ONE ,the system can only match if the sub-types are exact matches. For example, only when the value of the Email field of Profile A and the value of the Email field of Profile B matches, the two profiles are matched on the Email type.

" + "IdMappingRuleBasedProperties$attributeMatchingModel": "

The comparison type. You can either choose ONE_TO_ONE or MANY_TO_MANY as the attributeMatchingModel.

If you choose MANY_TO_MANY, the system can match attributes across the sub-types of an attribute type. For example, if the value of the Email field of Profile A matches the value of the BusinessEmail field of Profile B, the two profiles are matched on the Email attribute type.

If you choose ONE_TO_ONE, the system can only match attributes if the sub-types are an exact match. For example, for the Email attribute type, the system will only consider it a match if the value of the Email field of Profile A matches the value of the Email field of Profile B.

", + "NamespaceRuleBasedProperties$attributeMatchingModel": "

The comparison type. You can either choose ONE_TO_ONE or MANY_TO_MANY as the attributeMatchingModel.

If you choose MANY_TO_MANY, the system can match attributes across the sub-types of an attribute type. For example, if the value of the Email field of Profile A matches the value of BusinessEmail field of Profile B, the two profiles are matched on the Email attribute type.

If you choose ONE_TO_ONE, the system can only match attributes if the sub-types are an exact match. For example, for the Email attribute type, the system will only consider it a match if the value of the Email field of Profile A matches the value of the Email field of Profile B.

", + "RuleBasedProperties$attributeMatchingModel": "

The comparison type. You can either choose ONE_TO_ONE or MANY_TO_MANY as the attributeMatchingModel.

If you choose MANY_TO_MANY, the system can match attributes across the sub-types of an attribute type. For example, if the value of the Email field of Profile A and the value of BusinessEmail field of Profile B matches, the two profiles are matched on the Email attribute type.

If you choose ONE_TO_ONE, the system can only match attributes if the sub-types are an exact match. For example, for the Email attribute type, the system will only consider it a match if the value of the Email field of Profile A matches the value of the Email field of Profile B.

" } }, "AttributeName": { @@ -71,7 +73,7 @@ "RuleMatchingKeysList$member": null, "SchemaInputAttribute$fieldName": "

A string containing the field name.

", "SchemaInputAttribute$groupName": "

A string that instructs Entity Resolution to combine several columns into a unified column with the identical attribute type.

For example, when working with columns such as first_name, middle_name, and last_name, assigning them a common groupName will prompt Entity Resolution to concatenate them into a single value.

", - "SchemaInputAttribute$matchKey": "

A key that allows grouping of multiple input attributes into a unified matching group. For example, consider a scenario where the source table contains various addresses, such as business_address and shipping_address. By assigning a matchKey called address to both attributes, Entity Resolution will match records across these fields to create a consolidated matching group. If no matchKey is specified for a column, it won't be utilized for matching purposes but will still be included in the output table.

", + "SchemaInputAttribute$matchKey": "

A key that allows grouping of multiple input attributes into a unified matching group.

For example, consider a scenario where the source table contains various addresses, such as business_address and shipping_address. By assigning a matchKey called address to both attributes, Entity Resolution will match records across these fields to create a consolidated matching group.

If no matchKey is specified for a column, it won't be utilized for matching purposes but will still be included in the output table.

", "SchemaInputAttribute$subType": "

The subtype of the attribute, selected from a list of values.

" } }, @@ -113,11 +115,12 @@ "OutputAttribute$hashed": "

Enables the ability to hash the column values in the output.

", "OutputSource$applyNormalization": "

Normalizes the attributes defined in the schema in the input data. For example, if an attribute has an AttributeType of PHONE_NUMBER, and the data in the input table is in a format of 1234567890, Entity Resolution will normalize this field in the output to (123)-456-7890.

", "ProviderSchemaAttribute$hashing": "

The hashing attribute of the provider schema.

", + "SchemaInputAttribute$hashed": "

Indicates if the column values are hashed in the schema input. If the value is set to TRUE, the column values are hashed. If the value is set to FALSE, the column values are cleartext.

", "SchemaMappingSummary$hasWorkflows": "

Specifies whether the schema mapping has been applied to a workflow.

" } }, "ConflictException": { - "base": "

The request could not be processed because of conflict in the current state of the resource. Example: Workflow already exists, Schema already exists, Workflow is currently running, etc. HTTP Status Code: 400

", + "base": "

The request could not be processed because of conflict in the current state of the resource. Example: Workflow already exists, Schema already exists, Workflow is currently running, etc.

", "refs": { } }, @@ -376,7 +379,7 @@ } }, "ExceedsLimitException": { - "base": "

The request was rejected because it attempted to create resources beyond the current Entity Resolution account limits. The error message describes the limit exceeded. HTTP Status Code: 402

", + "base": "

The request was rejected because it attempted to create resources beyond the current Entity Resolution account limits. The error message describes the limit exceeded.

", "refs": { } }, @@ -471,7 +474,7 @@ } }, "IdMappingJobMetrics": { - "base": "

An object containing InputRecords, TotalRecordsProcessed, MatchIDs, and RecordsNotProcessed.

", + "base": "

An object containing InputRecords, RecordsNotProcessed, TotalRecordsProcessed, TotalMappedRecords, TotalMappedSourceRecords, and TotalMappedTargetRecords.

", "refs": { "GetIdMappingJobOutput$metrics": "

Metrics associated with the execution, specifically total records processed, unique IDs generated, and records the execution skipped.

" } @@ -490,20 +493,43 @@ "StartIdMappingJobOutput$outputSourceConfig": "

A list of OutputSource objects.

" } }, + "IdMappingRoleArn": { + "base": null, + "refs": { + "CreateIdMappingWorkflowInput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.

", + "CreateIdMappingWorkflowOutput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.

", + "GetIdMappingWorkflowOutput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf.

", + "UpdateIdMappingWorkflowInput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf.

", + "UpdateIdMappingWorkflowOutput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf.

" + } + }, + "IdMappingRuleBasedProperties": { + "base": "

An object that defines the list of matching rules to run in an ID mapping workflow.

", + "refs": { + "IdMappingTechniques$ruleBasedProperties": "

An object which defines any additional configurations required by rule-based matching.

" + } + }, + "IdMappingRuleBasedPropertiesRulesList": { + "base": null, + "refs": { + "IdMappingRuleBasedProperties$rules": "

The rules that can be used for ID mapping.

" + } + }, "IdMappingTechniques": { - "base": "

An object which defines the ID mapping techniques and provider configurations.

", + "base": "

An object which defines the ID mapping technique and any additional configurations.

", "refs": { - "CreateIdMappingWorkflowInput$idMappingTechniques": "

An object which defines the idMappingType and the providerProperties.

", - "CreateIdMappingWorkflowOutput$idMappingTechniques": "

An object which defines the idMappingType and the providerProperties.

", - "GetIdMappingWorkflowOutput$idMappingTechniques": "

An object which defines the idMappingType and the providerProperties.

", - "UpdateIdMappingWorkflowInput$idMappingTechniques": "

An object which defines the idMappingType and the providerProperties.

", - "UpdateIdMappingWorkflowOutput$idMappingTechniques": "

An object which defines the idMappingType and the providerProperties.

" + "CreateIdMappingWorkflowInput$idMappingTechniques": "

An object which defines the ID mapping technique and any additional configurations.

", + "CreateIdMappingWorkflowOutput$idMappingTechniques": "

An object which defines the ID mapping technique and any additional configurations.

", + "GetIdMappingWorkflowOutput$idMappingTechniques": "

An object which defines the ID mapping technique and any additional configurations.

", + "UpdateIdMappingWorkflowInput$idMappingTechniques": "

An object which defines the ID mapping technique and any additional configurations.

", + "UpdateIdMappingWorkflowOutput$idMappingTechniques": "

An object which defines the ID mapping technique and any additional configurations.

" } }, "IdMappingType": { "base": null, "refs": { "IdMappingTechniques$idMappingType": "

The type of ID mapping.

", + "IdNamespaceIdMappingWorkflowMetadata$idMappingType": "

The type of ID mapping.

", "IdNamespaceIdMappingWorkflowProperties$idMappingType": "

The type of ID mapping.

" } }, @@ -535,7 +561,7 @@ "IdMappingWorkflowInputSourceInputSourceARNString": { "base": null, "refs": { - "IdMappingWorkflowInputSource$inputSourceARN": "

An Glue table ARN for the input source table.

" + "IdMappingWorkflowInputSource$inputSourceARN": "

An Glue table Amazon Resource Name (ARN) or a matching workflow ARN for the input source table.

" } }, "IdMappingWorkflowList": { @@ -560,6 +586,19 @@ "UpdateIdMappingWorkflowOutput$outputSourceConfig": "

A list of OutputSource objects, each of which contains fields OutputS3Path and KMSArn.

" } }, + "IdMappingWorkflowRuleDefinitionType": { + "base": null, + "refs": { + "IdMappingRuleBasedProperties$ruleDefinitionType": "

The set of rules you can use in an ID mapping workflow. The limitations specified for the source or target to define the match rules must be compatible.

", + "IdMappingWorkflowRuleDefinitionTypeList$member": null + } + }, + "IdMappingWorkflowRuleDefinitionTypeList": { + "base": null, + "refs": { + "NamespaceRuleBasedProperties$ruleDefinitionTypes": "

The sets of rules you can use in an ID mapping workflow. The limitations specified for the source and target must be compatible.

" + } + }, "IdMappingWorkflowSummary": { "base": "

A list of IdMappingWorkflowSummary objects, each of which contain the fields WorkflowName, WorkflowArn, CreatedAt, and UpdatedAt.

", "refs": { @@ -575,8 +614,20 @@ "UpdateIdNamespaceOutput$idNamespaceArn": "

The Amazon Resource Name (ARN) of the ID namespace.

" } }, + "IdNamespaceIdMappingWorkflowMetadata": { + "base": "

The settings for the ID namespace for the ID mapping workflow job.

", + "refs": { + "IdNamespaceIdMappingWorkflowMetadataList$member": null + } + }, + "IdNamespaceIdMappingWorkflowMetadataList": { + "base": null, + "refs": { + "IdNamespaceSummary$idMappingWorkflowProperties": "

An object which defines any additional configurations required by the ID mapping workflow.

" + } + }, "IdNamespaceIdMappingWorkflowProperties": { - "base": "

An object containing IdMappingType and ProviderProperties.

", + "base": "

An object containing IdMappingType, ProviderProperties, and RuleBasedProperties.

", "refs": { "IdNamespaceIdMappingWorkflowPropertiesList$member": null } @@ -610,7 +661,7 @@ "IdNamespaceInputSourceInputSourceARNString": { "base": null, "refs": { - "IdNamespaceInputSource$inputSourceARN": "

An Glue table ARN for the input source table.

" + "IdNamespaceInputSource$inputSourceARN": "

An Glue table Amazon Resource Name (ARN) or a matching workflow ARN for the input source table.

" } }, "IdNamespaceList": { @@ -631,8 +682,8 @@ "CreateIdNamespaceInput$type": "

The type of ID namespace. There are two types: SOURCE and TARGET.

The SOURCE contains configurations for sourceId data that will be processed in an ID mapping workflow.

The TARGET contains a configuration of targetId to which all sourceIds will resolve to.

", "CreateIdNamespaceOutput$type": "

The type of ID namespace. There are two types: SOURCE and TARGET.

The SOURCE contains configurations for sourceId data that will be processed in an ID mapping workflow.

The TARGET contains a configuration of targetId to which all sourceIds will resolve to.

", "GetIdNamespaceOutput$type": "

The type of ID namespace. There are two types: SOURCE and TARGET.

The SOURCE contains configurations for sourceId data that will be processed in an ID mapping workflow.

The TARGET contains a configuration of targetId to which all sourceIds will resolve to.

", - "IdMappingWorkflowInputSource$type": "

The type of ID namespace. There are two types: SOURCE and TARGET.

The SOURCE contains configurations for sourceId data that will be processed in an ID mapping workflow.

The TARGET contains a configuration of targetId to which all sourceIds will resolve to.

", - "IdNamespaceSummary$type": "

The type of ID namespace. There are two types: SOURCE and TARGET.

The SOURCE contains configurations for sourceId data that will be processed in an ID mapping workflow.

The TARGET contains a configuration of targetId to which all sourceIds will resolve to.

", + "IdMappingWorkflowInputSource$type": "

The type of ID namespace. There are two types: SOURCE and TARGET.

The SOURCE contains configurations for sourceId data that will be processed in an ID mapping workflow.

The TARGET contains a configuration of targetId which all sourceIds will resolve to.

", + "IdNamespaceSummary$type": "

The type of ID namespace. There are two types: SOURCE and TARGET.

The SOURCE contains configurations for sourceId data that will be processed in an ID mapping workflow.

The TARGET contains a configuration of targetId which all sourceIds will resolve to.

", "UpdateIdNamespaceOutput$type": "

The type of ID namespace. There are two types: SOURCE and TARGET.

The SOURCE contains configurations for sourceId data that will be processed in an ID mapping workflow.

The TARGET contains a configuration of targetId to which all sourceIds will resolve to.

" } }, @@ -671,16 +722,19 @@ "InputSourceInputSourceARNString": { "base": null, "refs": { - "InputSource$inputSourceARN": "

An Glue table ARN for the input source table.

" + "InputSource$inputSourceARN": "

An Glue table Amazon Resource Name (ARN) for the input source table.

" } }, "Integer": { "base": null, "refs": { "ExceedsLimitException$quotaValue": "

The current quota value for the customers.

", - "IdMappingJobMetrics$inputRecords": "

The total number of input records.

", + "IdMappingJobMetrics$inputRecords": "

The total number of records that were input for processing.

", "IdMappingJobMetrics$recordsNotProcessed": "

The total number of records that did not get processed.

", - "IdMappingJobMetrics$totalRecordsProcessed": "

The total number of records processed.

", + "IdMappingJobMetrics$totalMappedRecords": "

The total number of records that were mapped.

", + "IdMappingJobMetrics$totalMappedSourceRecords": "

The total number of mapped source records.

", + "IdMappingJobMetrics$totalMappedTargetRecords": "

The total number of distinct mapped target records.

", + "IdMappingJobMetrics$totalRecordsProcessed": "

The total number of records that were processed.

", "JobMetrics$inputRecords": "

The total number of input records.

", "JobMetrics$matchIDs": "

The total number of matchIDs generated.

", "JobMetrics$recordsNotProcessed": "

The total number of records that did not get processed.

", @@ -694,7 +748,7 @@ } }, "InternalServerException": { - "base": "

This exception occurs when there is an internal failure in the Entity Resolution service. HTTP Status Code: 500

", + "base": "

This exception occurs when there is an internal failure in the Entity Resolution service.

", "refs": { } }, @@ -880,6 +934,12 @@ "refs": { } }, + "MatchPurpose": { + "base": null, + "refs": { + "RuleBasedProperties$matchPurpose": "

An indicator of whether to generate IDs and index the data or not.

If you choose IDENTIFIER_GENERATION, the process generates IDs and indexes the data.

If you choose INDEXING, the process indexes the data without generating IDs.

" + } + }, "MatchingWorkflowArn": { "base": null, "refs": { @@ -906,6 +966,18 @@ "IdNamespaceIdMappingWorkflowProperties$providerProperties": "

An object which defines any additional configurations required by the provider service.

" } }, + "NamespaceRuleBasedProperties": { + "base": "

The rule-based properties of an ID namespace. These properties define how the ID namespace can be used in an ID mapping workflow.

", + "refs": { + "IdNamespaceIdMappingWorkflowProperties$ruleBasedProperties": "

An object which defines any additional configurations required by rule-based matching.

" + } + }, + "NamespaceRuleBasedPropertiesRulesList": { + "base": null, + "refs": { + "NamespaceRuleBasedProperties$rules": "

The rules for the ID namespace.

" + } + }, "NextToken": { "base": null, "refs": { @@ -959,7 +1031,7 @@ "AddPolicyStatementOutput$policy": "

The resource-based policy.

", "DeletePolicyStatementOutput$policy": "

The resource-based policy.

", "GetPolicyOutput$policy": "

The resource-based policy.

", - "PutPolicyInput$policy": "

The resource-based policy.

", + "PutPolicyInput$policy": "

The resource-based policy.

If you set the value of the effect parameter in the policy to Deny for the PutPolicy operation, you must also set the value of the effect parameter to Deny for the AddPolicyStatement operation.

", "PutPolicyOutput$policy": "

The resource-based policy.

" } }, @@ -1079,6 +1151,19 @@ "RecordAttributeMap$value": null } }, + "RecordMatchingModel": { + "base": null, + "refs": { + "IdMappingRuleBasedProperties$recordMatchingModel": "

The type of matching record that is allowed to be used in an ID mapping workflow.

If the value is set to ONE_SOURCE_TO_ONE_TARGET, only one record in the source can be matched to the same record in the target.

If the value is set to MANY_SOURCE_TO_ONE_TARGET, multiple records in the source can be matched to one record in the target.

", + "RecordMatchingModelList$member": null + } + }, + "RecordMatchingModelList": { + "base": null, + "refs": { + "NamespaceRuleBasedProperties$recordMatchingModels": "

The type of matching record that is allowed to be used in an ID mapping workflow.

If the value is set to ONE_SOURCE_TO_ONE_TARGET, only one record in the source is matched to one record in the target.

If the value is set to MANY_SOURCE_TO_ONE_TARGET, all matching records in the source are matched to one record in the target.

" + } + }, "RequiredBucketActionsList": { "base": null, "refs": { @@ -1103,23 +1188,18 @@ } }, "ResourceNotFoundException": { - "base": "

The resource could not be found. HTTP Status Code: 404

", + "base": "

The resource could not be found.

", "refs": { } }, "RoleArn": { "base": null, "refs": { - "CreateIdMappingWorkflowInput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.

", - "CreateIdMappingWorkflowOutput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.

", "CreateIdNamespaceInput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access the resources defined in this IdNamespace on your behalf as part of the workflow run.

", "CreateIdNamespaceOutput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access the resources defined in inputSourceConfig on your behalf as part of the workflow run.

", - "GetIdMappingWorkflowOutput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf.

", "GetIdNamespaceOutput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access the resources defined in this IdNamespace on your behalf as part of a workflow run.

", "IdMappingJobOutputSource$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf as part of workflow execution.

", "JobOutputSource$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf as part of workflow execution.

", - "UpdateIdMappingWorkflowInput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf.

", - "UpdateIdMappingWorkflowOutput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf.

", "UpdateIdNamespaceInput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access the resources defined in this IdNamespace on your behalf as part of a workflow run.

", "UpdateIdNamespaceOutput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access the resources defined in this IdNamespace on your behalf as part of a workflow run.

" } @@ -1127,11 +1207,13 @@ "Rule": { "base": "

An object containing RuleName, and MatchingKeys.

", "refs": { + "IdMappingRuleBasedPropertiesRulesList$member": null, + "NamespaceRuleBasedPropertiesRulesList$member": null, "RuleBasedPropertiesRulesList$member": null } }, "RuleBasedProperties": { - "base": "

An object which defines the list of matching rules to run and has a field Rules, which is a list of rule objects.

", + "base": "

An object which defines the list of matching rules to run in a matching workflow. RuleBasedProperties contain a Rules field, which is a list of rule objects.

", "refs": { "ResolutionTechniques$ruleBasedProperties": "

An object which defines the list of matching rules to run and has a field Rules, which is a list of rule objects.

" } @@ -1172,7 +1254,7 @@ } }, "SchemaInputAttribute": { - "base": "

An object containing FieldName, Type, GroupName, MatchKey, and SubType.

", + "base": "

An object containing FieldName, Type, GroupName, MatchKey, Hashing, and SubType.

", "refs": { "SchemaInputAttributes$member": null } @@ -1268,7 +1350,7 @@ "StatementEffect": { "base": null, "refs": { - "AddPolicyStatementInput$effect": "

Determines whether the permissions specified in the policy are to be allowed (Allow) or denied (Deny).

" + "AddPolicyStatementInput$effect": "

Determines whether the permissions specified in the policy are to be allowed (Allow) or denied (Deny).

If you set the value of the effect parameter to Deny for the AddPolicyStatement operation, you must also set the value of the effect parameter in the policy to Deny for the PutPolicy operation.

" } }, "StatementId": { @@ -1360,7 +1442,7 @@ } }, "ThrottlingException": { - "base": "

The request was denied due to request throttling. HTTP Status Code: 429

", + "base": "

The request was denied due to request throttling.

", "refs": { } }, @@ -1461,7 +1543,7 @@ } }, "ValidationException": { - "base": "

The input fails to satisfy the constraints specified by Entity Resolution. HTTP Status Code: 400

", + "base": "

The input fails to satisfy the constraints specified by Entity Resolution.

", "refs": { } }, diff --git a/service/appsync/api.go b/service/appsync/api.go index 843cba2e3fb..7b696eea11d 100644 --- a/service/appsync/api.go +++ b/service/appsync/api.go @@ -3596,6 +3596,12 @@ func (c *AppSync) ListApiKeysRequest(input *ListApiKeysInput) (req *request.Requ Name: opListApiKeys, HTTPMethod: "GET", HTTPPath: "/v1/apis/{apiId}/apikeys", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -3661,6 +3667,57 @@ func (c *AppSync) ListApiKeysWithContext(ctx aws.Context, input *ListApiKeysInpu return out, req.Send() } +// ListApiKeysPages iterates over the pages of a ListApiKeys operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListApiKeys 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 ListApiKeys operation. +// pageNum := 0 +// err := client.ListApiKeysPages(params, +// func(page *appsync.ListApiKeysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *AppSync) ListApiKeysPages(input *ListApiKeysInput, fn func(*ListApiKeysOutput, bool) bool) error { + return c.ListApiKeysPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListApiKeysPagesWithContext same as ListApiKeysPages 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 *AppSync) ListApiKeysPagesWithContext(ctx aws.Context, input *ListApiKeysInput, fn func(*ListApiKeysOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListApiKeysInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListApiKeysRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListApiKeysOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListDataSources = "ListDataSources" // ListDataSourcesRequest generates a "aws/request.Request" representing the @@ -3691,6 +3748,12 @@ func (c *AppSync) ListDataSourcesRequest(input *ListDataSourcesInput) (req *requ Name: opListDataSources, HTTPMethod: "GET", HTTPPath: "/v1/apis/{apiId}/datasources", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -3751,6 +3814,57 @@ func (c *AppSync) ListDataSourcesWithContext(ctx aws.Context, input *ListDataSou return out, req.Send() } +// ListDataSourcesPages iterates over the pages of a ListDataSources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDataSources 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 ListDataSources operation. +// pageNum := 0 +// err := client.ListDataSourcesPages(params, +// func(page *appsync.ListDataSourcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *AppSync) ListDataSourcesPages(input *ListDataSourcesInput, fn func(*ListDataSourcesOutput, bool) bool) error { + return c.ListDataSourcesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDataSourcesPagesWithContext same as ListDataSourcesPages 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 *AppSync) ListDataSourcesPagesWithContext(ctx aws.Context, input *ListDataSourcesInput, fn func(*ListDataSourcesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDataSourcesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDataSourcesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDataSourcesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListDomainNames = "ListDomainNames" // ListDomainNamesRequest generates a "aws/request.Request" representing the @@ -3781,6 +3895,12 @@ func (c *AppSync) ListDomainNamesRequest(input *ListDomainNamesInput) (req *requ Name: opListDomainNames, HTTPMethod: "GET", HTTPPath: "/v1/domainnames", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -3837,6 +3957,57 @@ func (c *AppSync) ListDomainNamesWithContext(ctx aws.Context, input *ListDomainN return out, req.Send() } +// ListDomainNamesPages iterates over the pages of a ListDomainNames operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDomainNames 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 ListDomainNames operation. +// pageNum := 0 +// err := client.ListDomainNamesPages(params, +// func(page *appsync.ListDomainNamesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *AppSync) ListDomainNamesPages(input *ListDomainNamesInput, fn func(*ListDomainNamesOutput, bool) bool) error { + return c.ListDomainNamesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDomainNamesPagesWithContext same as ListDomainNamesPages 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 *AppSync) ListDomainNamesPagesWithContext(ctx aws.Context, input *ListDomainNamesInput, fn func(*ListDomainNamesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDomainNamesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDomainNamesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDomainNamesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListFunctions = "ListFunctions" // ListFunctionsRequest generates a "aws/request.Request" representing the @@ -3867,6 +4038,12 @@ func (c *AppSync) ListFunctionsRequest(input *ListFunctionsInput) (req *request. Name: opListFunctions, HTTPMethod: "GET", HTTPPath: "/v1/apis/{apiId}/functions", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -3927,6 +4104,57 @@ func (c *AppSync) ListFunctionsWithContext(ctx aws.Context, input *ListFunctions return out, req.Send() } +// ListFunctionsPages iterates over the pages of a ListFunctions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFunctions 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 ListFunctions operation. +// pageNum := 0 +// err := client.ListFunctionsPages(params, +// func(page *appsync.ListFunctionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *AppSync) ListFunctionsPages(input *ListFunctionsInput, fn func(*ListFunctionsOutput, bool) bool) error { + return c.ListFunctionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListFunctionsPagesWithContext same as ListFunctionsPages 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 *AppSync) ListFunctionsPagesWithContext(ctx aws.Context, input *ListFunctionsInput, fn func(*ListFunctionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFunctionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFunctionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFunctionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListGraphqlApis = "ListGraphqlApis" // ListGraphqlApisRequest generates a "aws/request.Request" representing the @@ -3957,6 +4185,12 @@ func (c *AppSync) ListGraphqlApisRequest(input *ListGraphqlApisInput) (req *requ Name: opListGraphqlApis, HTTPMethod: "GET", HTTPPath: "/v1/apis", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -4013,6 +4247,57 @@ func (c *AppSync) ListGraphqlApisWithContext(ctx aws.Context, input *ListGraphql return out, req.Send() } +// ListGraphqlApisPages iterates over the pages of a ListGraphqlApis operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListGraphqlApis 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 ListGraphqlApis operation. +// pageNum := 0 +// err := client.ListGraphqlApisPages(params, +// func(page *appsync.ListGraphqlApisOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *AppSync) ListGraphqlApisPages(input *ListGraphqlApisInput, fn func(*ListGraphqlApisOutput, bool) bool) error { + return c.ListGraphqlApisPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListGraphqlApisPagesWithContext same as ListGraphqlApisPages 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 *AppSync) ListGraphqlApisPagesWithContext(ctx aws.Context, input *ListGraphqlApisInput, fn func(*ListGraphqlApisOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListGraphqlApisInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListGraphqlApisRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListGraphqlApisOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListResolvers = "ListResolvers" // ListResolversRequest generates a "aws/request.Request" representing the @@ -4043,6 +4328,12 @@ func (c *AppSync) ListResolversRequest(input *ListResolversInput) (req *request. Name: opListResolvers, HTTPMethod: "GET", HTTPPath: "/v1/apis/{apiId}/types/{typeName}/resolvers", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -4103,6 +4394,57 @@ func (c *AppSync) ListResolversWithContext(ctx aws.Context, input *ListResolvers return out, req.Send() } +// ListResolversPages iterates over the pages of a ListResolvers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolvers 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 ListResolvers operation. +// pageNum := 0 +// err := client.ListResolversPages(params, +// func(page *appsync.ListResolversOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *AppSync) ListResolversPages(input *ListResolversInput, fn func(*ListResolversOutput, bool) bool) error { + return c.ListResolversPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolversPagesWithContext same as ListResolversPages 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 *AppSync) ListResolversPagesWithContext(ctx aws.Context, input *ListResolversInput, fn func(*ListResolversOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolversInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolversRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResolversOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListResolversByFunction = "ListResolversByFunction" // ListResolversByFunctionRequest generates a "aws/request.Request" representing the @@ -4133,6 +4475,12 @@ func (c *AppSync) ListResolversByFunctionRequest(input *ListResolversByFunctionI Name: opListResolversByFunction, HTTPMethod: "GET", HTTPPath: "/v1/apis/{apiId}/functions/{functionId}/resolvers", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -4193,6 +4541,57 @@ func (c *AppSync) ListResolversByFunctionWithContext(ctx aws.Context, input *Lis return out, req.Send() } +// ListResolversByFunctionPages iterates over the pages of a ListResolversByFunction operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolversByFunction 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 ListResolversByFunction operation. +// pageNum := 0 +// err := client.ListResolversByFunctionPages(params, +// func(page *appsync.ListResolversByFunctionOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *AppSync) ListResolversByFunctionPages(input *ListResolversByFunctionInput, fn func(*ListResolversByFunctionOutput, bool) bool) error { + return c.ListResolversByFunctionPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolversByFunctionPagesWithContext same as ListResolversByFunctionPages 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 *AppSync) ListResolversByFunctionPagesWithContext(ctx aws.Context, input *ListResolversByFunctionInput, fn func(*ListResolversByFunctionOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolversByFunctionInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolversByFunctionRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResolversByFunctionOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListSourceApiAssociations = "ListSourceApiAssociations" // ListSourceApiAssociationsRequest generates a "aws/request.Request" representing the @@ -4223,6 +4622,12 @@ func (c *AppSync) ListSourceApiAssociationsRequest(input *ListSourceApiAssociati Name: opListSourceApiAssociations, HTTPMethod: "GET", HTTPPath: "/v1/apis/{apiId}/sourceApiAssociations", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -4283,6 +4688,57 @@ func (c *AppSync) ListSourceApiAssociationsWithContext(ctx aws.Context, input *L return out, req.Send() } +// ListSourceApiAssociationsPages iterates over the pages of a ListSourceApiAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSourceApiAssociations 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 ListSourceApiAssociations operation. +// pageNum := 0 +// err := client.ListSourceApiAssociationsPages(params, +// func(page *appsync.ListSourceApiAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *AppSync) ListSourceApiAssociationsPages(input *ListSourceApiAssociationsInput, fn func(*ListSourceApiAssociationsOutput, bool) bool) error { + return c.ListSourceApiAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSourceApiAssociationsPagesWithContext same as ListSourceApiAssociationsPages 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 *AppSync) ListSourceApiAssociationsPagesWithContext(ctx aws.Context, input *ListSourceApiAssociationsInput, fn func(*ListSourceApiAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSourceApiAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSourceApiAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSourceApiAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -4409,6 +4865,12 @@ func (c *AppSync) ListTypesRequest(input *ListTypesInput) (req *request.Request, Name: opListTypes, HTTPMethod: "GET", HTTPPath: "/v1/apis/{apiId}/types", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -4473,6 +4935,57 @@ func (c *AppSync) ListTypesWithContext(ctx aws.Context, input *ListTypesInput, o return out, req.Send() } +// ListTypesPages iterates over the pages of a ListTypes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTypes 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 ListTypes operation. +// pageNum := 0 +// err := client.ListTypesPages(params, +// func(page *appsync.ListTypesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *AppSync) ListTypesPages(input *ListTypesInput, fn func(*ListTypesOutput, bool) bool) error { + return c.ListTypesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTypesPagesWithContext same as ListTypesPages 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 *AppSync) ListTypesPagesWithContext(ctx aws.Context, input *ListTypesInput, fn func(*ListTypesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTypesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTypesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTypesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTypesByAssociation = "ListTypesByAssociation" // ListTypesByAssociationRequest generates a "aws/request.Request" representing the @@ -4503,6 +5016,12 @@ func (c *AppSync) ListTypesByAssociationRequest(input *ListTypesByAssociationInp Name: opListTypesByAssociation, HTTPMethod: "GET", HTTPPath: "/v1/mergedApis/{mergedApiIdentifier}/sourceApiAssociations/{associationId}/types", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -4567,6 +5086,57 @@ func (c *AppSync) ListTypesByAssociationWithContext(ctx aws.Context, input *List return out, req.Send() } +// ListTypesByAssociationPages iterates over the pages of a ListTypesByAssociation operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTypesByAssociation 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 ListTypesByAssociation operation. +// pageNum := 0 +// err := client.ListTypesByAssociationPages(params, +// func(page *appsync.ListTypesByAssociationOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *AppSync) ListTypesByAssociationPages(input *ListTypesByAssociationInput, fn func(*ListTypesByAssociationOutput, bool) bool) error { + return c.ListTypesByAssociationPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTypesByAssociationPagesWithContext same as ListTypesByAssociationPages 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 *AppSync) ListTypesByAssociationPagesWithContext(ctx aws.Context, input *ListTypesByAssociationInput, fn func(*ListTypesByAssociationOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTypesByAssociationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTypesByAssociationRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTypesByAssociationOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opPutGraphqlApiEnvironmentVariables = "PutGraphqlApiEnvironmentVariables" // PutGraphqlApiEnvironmentVariablesRequest generates a "aws/request.Request" representing the diff --git a/service/appsync/appsynciface/interface.go b/service/appsync/appsynciface/interface.go index 3041b2dfdf8..4e0f2487f7f 100644 --- a/service/appsync/appsynciface/interface.go +++ b/service/appsync/appsynciface/interface.go @@ -216,34 +216,58 @@ type AppSyncAPI interface { ListApiKeysWithContext(aws.Context, *appsync.ListApiKeysInput, ...request.Option) (*appsync.ListApiKeysOutput, error) ListApiKeysRequest(*appsync.ListApiKeysInput) (*request.Request, *appsync.ListApiKeysOutput) + ListApiKeysPages(*appsync.ListApiKeysInput, func(*appsync.ListApiKeysOutput, bool) bool) error + ListApiKeysPagesWithContext(aws.Context, *appsync.ListApiKeysInput, func(*appsync.ListApiKeysOutput, bool) bool, ...request.Option) error + ListDataSources(*appsync.ListDataSourcesInput) (*appsync.ListDataSourcesOutput, error) ListDataSourcesWithContext(aws.Context, *appsync.ListDataSourcesInput, ...request.Option) (*appsync.ListDataSourcesOutput, error) ListDataSourcesRequest(*appsync.ListDataSourcesInput) (*request.Request, *appsync.ListDataSourcesOutput) + ListDataSourcesPages(*appsync.ListDataSourcesInput, func(*appsync.ListDataSourcesOutput, bool) bool) error + ListDataSourcesPagesWithContext(aws.Context, *appsync.ListDataSourcesInput, func(*appsync.ListDataSourcesOutput, bool) bool, ...request.Option) error + ListDomainNames(*appsync.ListDomainNamesInput) (*appsync.ListDomainNamesOutput, error) ListDomainNamesWithContext(aws.Context, *appsync.ListDomainNamesInput, ...request.Option) (*appsync.ListDomainNamesOutput, error) ListDomainNamesRequest(*appsync.ListDomainNamesInput) (*request.Request, *appsync.ListDomainNamesOutput) + ListDomainNamesPages(*appsync.ListDomainNamesInput, func(*appsync.ListDomainNamesOutput, bool) bool) error + ListDomainNamesPagesWithContext(aws.Context, *appsync.ListDomainNamesInput, func(*appsync.ListDomainNamesOutput, bool) bool, ...request.Option) error + ListFunctions(*appsync.ListFunctionsInput) (*appsync.ListFunctionsOutput, error) ListFunctionsWithContext(aws.Context, *appsync.ListFunctionsInput, ...request.Option) (*appsync.ListFunctionsOutput, error) ListFunctionsRequest(*appsync.ListFunctionsInput) (*request.Request, *appsync.ListFunctionsOutput) + ListFunctionsPages(*appsync.ListFunctionsInput, func(*appsync.ListFunctionsOutput, bool) bool) error + ListFunctionsPagesWithContext(aws.Context, *appsync.ListFunctionsInput, func(*appsync.ListFunctionsOutput, bool) bool, ...request.Option) error + ListGraphqlApis(*appsync.ListGraphqlApisInput) (*appsync.ListGraphqlApisOutput, error) ListGraphqlApisWithContext(aws.Context, *appsync.ListGraphqlApisInput, ...request.Option) (*appsync.ListGraphqlApisOutput, error) ListGraphqlApisRequest(*appsync.ListGraphqlApisInput) (*request.Request, *appsync.ListGraphqlApisOutput) + ListGraphqlApisPages(*appsync.ListGraphqlApisInput, func(*appsync.ListGraphqlApisOutput, bool) bool) error + ListGraphqlApisPagesWithContext(aws.Context, *appsync.ListGraphqlApisInput, func(*appsync.ListGraphqlApisOutput, bool) bool, ...request.Option) error + ListResolvers(*appsync.ListResolversInput) (*appsync.ListResolversOutput, error) ListResolversWithContext(aws.Context, *appsync.ListResolversInput, ...request.Option) (*appsync.ListResolversOutput, error) ListResolversRequest(*appsync.ListResolversInput) (*request.Request, *appsync.ListResolversOutput) + ListResolversPages(*appsync.ListResolversInput, func(*appsync.ListResolversOutput, bool) bool) error + ListResolversPagesWithContext(aws.Context, *appsync.ListResolversInput, func(*appsync.ListResolversOutput, bool) bool, ...request.Option) error + ListResolversByFunction(*appsync.ListResolversByFunctionInput) (*appsync.ListResolversByFunctionOutput, error) ListResolversByFunctionWithContext(aws.Context, *appsync.ListResolversByFunctionInput, ...request.Option) (*appsync.ListResolversByFunctionOutput, error) ListResolversByFunctionRequest(*appsync.ListResolversByFunctionInput) (*request.Request, *appsync.ListResolversByFunctionOutput) + ListResolversByFunctionPages(*appsync.ListResolversByFunctionInput, func(*appsync.ListResolversByFunctionOutput, bool) bool) error + ListResolversByFunctionPagesWithContext(aws.Context, *appsync.ListResolversByFunctionInput, func(*appsync.ListResolversByFunctionOutput, bool) bool, ...request.Option) error + ListSourceApiAssociations(*appsync.ListSourceApiAssociationsInput) (*appsync.ListSourceApiAssociationsOutput, error) ListSourceApiAssociationsWithContext(aws.Context, *appsync.ListSourceApiAssociationsInput, ...request.Option) (*appsync.ListSourceApiAssociationsOutput, error) ListSourceApiAssociationsRequest(*appsync.ListSourceApiAssociationsInput) (*request.Request, *appsync.ListSourceApiAssociationsOutput) + ListSourceApiAssociationsPages(*appsync.ListSourceApiAssociationsInput, func(*appsync.ListSourceApiAssociationsOutput, bool) bool) error + ListSourceApiAssociationsPagesWithContext(aws.Context, *appsync.ListSourceApiAssociationsInput, func(*appsync.ListSourceApiAssociationsOutput, bool) bool, ...request.Option) error + ListTagsForResource(*appsync.ListTagsForResourceInput) (*appsync.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *appsync.ListTagsForResourceInput, ...request.Option) (*appsync.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*appsync.ListTagsForResourceInput) (*request.Request, *appsync.ListTagsForResourceOutput) @@ -252,10 +276,16 @@ type AppSyncAPI interface { ListTypesWithContext(aws.Context, *appsync.ListTypesInput, ...request.Option) (*appsync.ListTypesOutput, error) ListTypesRequest(*appsync.ListTypesInput) (*request.Request, *appsync.ListTypesOutput) + ListTypesPages(*appsync.ListTypesInput, func(*appsync.ListTypesOutput, bool) bool) error + ListTypesPagesWithContext(aws.Context, *appsync.ListTypesInput, func(*appsync.ListTypesOutput, bool) bool, ...request.Option) error + ListTypesByAssociation(*appsync.ListTypesByAssociationInput) (*appsync.ListTypesByAssociationOutput, error) ListTypesByAssociationWithContext(aws.Context, *appsync.ListTypesByAssociationInput, ...request.Option) (*appsync.ListTypesByAssociationOutput, error) ListTypesByAssociationRequest(*appsync.ListTypesByAssociationInput) (*request.Request, *appsync.ListTypesByAssociationOutput) + ListTypesByAssociationPages(*appsync.ListTypesByAssociationInput, func(*appsync.ListTypesByAssociationOutput, bool) bool) error + ListTypesByAssociationPagesWithContext(aws.Context, *appsync.ListTypesByAssociationInput, func(*appsync.ListTypesByAssociationOutput, bool) bool, ...request.Option) error + PutGraphqlApiEnvironmentVariables(*appsync.PutGraphqlApiEnvironmentVariablesInput) (*appsync.PutGraphqlApiEnvironmentVariablesOutput, error) PutGraphqlApiEnvironmentVariablesWithContext(aws.Context, *appsync.PutGraphqlApiEnvironmentVariablesInput, ...request.Option) (*appsync.PutGraphqlApiEnvironmentVariablesOutput, error) PutGraphqlApiEnvironmentVariablesRequest(*appsync.PutGraphqlApiEnvironmentVariablesInput) (*request.Request, *appsync.PutGraphqlApiEnvironmentVariablesOutput) diff --git a/service/cleanrooms/api.go b/service/cleanrooms/api.go index cb6da7517c6..0ab87c19ad0 100644 --- a/service/cleanrooms/api.go +++ b/service/cleanrooms/api.go @@ -862,6 +862,103 @@ func (c *CleanRooms) CreateConfiguredTableAssociationWithContext(ctx aws.Context return out, req.Send() } +const opCreateIdMappingTable = "CreateIdMappingTable" + +// CreateIdMappingTableRequest generates a "aws/request.Request" representing the +// client's request for the CreateIdMappingTable operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateIdMappingTable for more information on using the CreateIdMappingTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateIdMappingTableRequest method. +// req, resp := client.CreateIdMappingTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateIdMappingTable +func (c *CleanRooms) CreateIdMappingTableRequest(input *CreateIdMappingTableInput) (req *request.Request, output *CreateIdMappingTableOutput) { + op := &request.Operation{ + Name: opCreateIdMappingTable, + HTTPMethod: "POST", + HTTPPath: "/memberships/{membershipIdentifier}/idmappingtables", + } + + if input == nil { + input = &CreateIdMappingTableInput{} + } + + output = &CreateIdMappingTableOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateIdMappingTable API operation for AWS Clean Rooms Service. +// +// Creates an ID mapping table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Clean Rooms Service's +// API operation CreateIdMappingTable for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// - ServiceQuotaExceededException +// Request denied because service quota has been exceeded. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateIdMappingTable +func (c *CleanRooms) CreateIdMappingTable(input *CreateIdMappingTableInput) (*CreateIdMappingTableOutput, error) { + req, out := c.CreateIdMappingTableRequest(input) + return out, req.Send() +} + +// CreateIdMappingTableWithContext is the same as CreateIdMappingTable with the addition of +// the ability to pass a context and additional request options. +// +// See CreateIdMappingTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CleanRooms) CreateIdMappingTableWithContext(ctx aws.Context, input *CreateIdMappingTableInput, opts ...request.Option) (*CreateIdMappingTableOutput, error) { + req, out := c.CreateIdMappingTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateMembership = "CreateMembership" // CreateMembershipRequest generates a "aws/request.Request" representing the @@ -1616,6 +1713,190 @@ func (c *CleanRooms) DeleteConfiguredTableAssociationWithContext(ctx aws.Context return out, req.Send() } +const opDeleteIdMappingTable = "DeleteIdMappingTable" + +// DeleteIdMappingTableRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIdMappingTable operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteIdMappingTable for more information on using the DeleteIdMappingTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteIdMappingTableRequest method. +// req, resp := client.DeleteIdMappingTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteIdMappingTable +func (c *CleanRooms) DeleteIdMappingTableRequest(input *DeleteIdMappingTableInput) (req *request.Request, output *DeleteIdMappingTableOutput) { + op := &request.Operation{ + Name: opDeleteIdMappingTable, + HTTPMethod: "DELETE", + HTTPPath: "/memberships/{membershipIdentifier}/idmappingtables/{idMappingTableIdentifier}", + } + + if input == nil { + input = &DeleteIdMappingTableInput{} + } + + output = &DeleteIdMappingTableOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteIdMappingTable API operation for AWS Clean Rooms Service. +// +// Deletes an ID mapping table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Clean Rooms Service's +// API operation DeleteIdMappingTable for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteIdMappingTable +func (c *CleanRooms) DeleteIdMappingTable(input *DeleteIdMappingTableInput) (*DeleteIdMappingTableOutput, error) { + req, out := c.DeleteIdMappingTableRequest(input) + return out, req.Send() +} + +// DeleteIdMappingTableWithContext is the same as DeleteIdMappingTable with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteIdMappingTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CleanRooms) DeleteIdMappingTableWithContext(ctx aws.Context, input *DeleteIdMappingTableInput, opts ...request.Option) (*DeleteIdMappingTableOutput, error) { + req, out := c.DeleteIdMappingTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteIdNamespaceAssociation = "DeleteIdNamespaceAssociation" + +// DeleteIdNamespaceAssociationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIdNamespaceAssociation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteIdNamespaceAssociation for more information on using the DeleteIdNamespaceAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteIdNamespaceAssociationRequest method. +// req, resp := client.DeleteIdNamespaceAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteIdNamespaceAssociation +func (c *CleanRooms) DeleteIdNamespaceAssociationRequest(input *DeleteIdNamespaceAssociationInput) (req *request.Request, output *DeleteIdNamespaceAssociationOutput) { + op := &request.Operation{ + Name: opDeleteIdNamespaceAssociation, + HTTPMethod: "DELETE", + HTTPPath: "/memberships/{membershipIdentifier}/idnamespaceassociations/{idNamespaceAssociationIdentifier}", + } + + if input == nil { + input = &DeleteIdNamespaceAssociationInput{} + } + + output = &DeleteIdNamespaceAssociationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteIdNamespaceAssociation API operation for AWS Clean Rooms Service. +// +// Deletes an ID namespace association. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Clean Rooms Service's +// API operation DeleteIdNamespaceAssociation for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteIdNamespaceAssociation +func (c *CleanRooms) DeleteIdNamespaceAssociation(input *DeleteIdNamespaceAssociationInput) (*DeleteIdNamespaceAssociationOutput, error) { + req, out := c.DeleteIdNamespaceAssociationRequest(input) + return out, req.Send() +} + +// DeleteIdNamespaceAssociationWithContext is the same as DeleteIdNamespaceAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteIdNamespaceAssociation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CleanRooms) DeleteIdNamespaceAssociationWithContext(ctx aws.Context, input *DeleteIdNamespaceAssociationInput, opts ...request.Option) (*DeleteIdNamespaceAssociationOutput, error) { + req, out := c.DeleteIdNamespaceAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteMember = "DeleteMember" // DeleteMemberRequest generates a "aws/request.Request" representing the @@ -2717,57 +2998,57 @@ func (c *CleanRooms) GetConfiguredTableAssociationWithContext(ctx aws.Context, i return out, req.Send() } -const opGetMembership = "GetMembership" +const opGetIdMappingTable = "GetIdMappingTable" -// GetMembershipRequest generates a "aws/request.Request" representing the -// client's request for the GetMembership operation. The "output" return +// GetIdMappingTableRequest generates a "aws/request.Request" representing the +// client's request for the GetIdMappingTable operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetMembership for more information on using the GetMembership +// See GetIdMappingTable for more information on using the GetIdMappingTable // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetMembershipRequest method. -// req, resp := client.GetMembershipRequest(params) +// // Example sending a request using the GetIdMappingTableRequest method. +// req, resp := client.GetIdMappingTableRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetMembership -func (c *CleanRooms) GetMembershipRequest(input *GetMembershipInput) (req *request.Request, output *GetMembershipOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetIdMappingTable +func (c *CleanRooms) GetIdMappingTableRequest(input *GetIdMappingTableInput) (req *request.Request, output *GetIdMappingTableOutput) { op := &request.Operation{ - Name: opGetMembership, + Name: opGetIdMappingTable, HTTPMethod: "GET", - HTTPPath: "/memberships/{membershipIdentifier}", + HTTPPath: "/memberships/{membershipIdentifier}/idmappingtables/{idMappingTableIdentifier}", } if input == nil { - input = &GetMembershipInput{} + input = &GetIdMappingTableInput{} } - output = &GetMembershipOutput{} + output = &GetIdMappingTableOutput{} req = c.newRequest(op, input, output) return } -// GetMembership API operation for AWS Clean Rooms Service. +// GetIdMappingTable API operation for AWS Clean Rooms Service. // -// Retrieves a specified membership for an identifier. +// Retrieves an ID mapping table. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation GetMembership for usage and error information. +// API operation GetIdMappingTable for usage and error information. // // Returned Error Types: // @@ -2786,58 +3067,149 @@ func (c *CleanRooms) GetMembershipRequest(input *GetMembershipInput) (req *reque // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetMembership -func (c *CleanRooms) GetMembership(input *GetMembershipInput) (*GetMembershipOutput, error) { - req, out := c.GetMembershipRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetIdMappingTable +func (c *CleanRooms) GetIdMappingTable(input *GetIdMappingTableInput) (*GetIdMappingTableOutput, error) { + req, out := c.GetIdMappingTableRequest(input) return out, req.Send() } -// GetMembershipWithContext is the same as GetMembership with the addition of +// GetIdMappingTableWithContext is the same as GetIdMappingTable with the addition of // the ability to pass a context and additional request options. // -// See GetMembership for details on how to use this API operation. +// See GetIdMappingTable for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) GetMembershipWithContext(ctx aws.Context, input *GetMembershipInput, opts ...request.Option) (*GetMembershipOutput, error) { - req, out := c.GetMembershipRequest(input) +func (c *CleanRooms) GetIdMappingTableWithContext(ctx aws.Context, input *GetIdMappingTableInput, opts ...request.Option) (*GetIdMappingTableOutput, error) { + req, out := c.GetIdMappingTableRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetPrivacyBudgetTemplate = "GetPrivacyBudgetTemplate" +const opGetMembership = "GetMembership" -// GetPrivacyBudgetTemplateRequest generates a "aws/request.Request" representing the -// client's request for the GetPrivacyBudgetTemplate operation. The "output" return +// GetMembershipRequest generates a "aws/request.Request" representing the +// client's request for the GetMembership operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetPrivacyBudgetTemplate for more information on using the GetPrivacyBudgetTemplate +// See GetMembership for more information on using the GetMembership // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetPrivacyBudgetTemplateRequest method. -// req, resp := client.GetPrivacyBudgetTemplateRequest(params) +// // Example sending a request using the GetMembershipRequest method. +// req, resp := client.GetMembershipRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetPrivacyBudgetTemplate -func (c *CleanRooms) GetPrivacyBudgetTemplateRequest(input *GetPrivacyBudgetTemplateInput) (req *request.Request, output *GetPrivacyBudgetTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetMembership +func (c *CleanRooms) GetMembershipRequest(input *GetMembershipInput) (req *request.Request, output *GetMembershipOutput) { op := &request.Operation{ - Name: opGetPrivacyBudgetTemplate, + Name: opGetMembership, HTTPMethod: "GET", - HTTPPath: "/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", + HTTPPath: "/memberships/{membershipIdentifier}", + } + + if input == nil { + input = &GetMembershipInput{} + } + + output = &GetMembershipOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMembership API operation for AWS Clean Rooms Service. +// +// Retrieves a specified membership for an identifier. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Clean Rooms Service's +// API operation GetMembership for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetMembership +func (c *CleanRooms) GetMembership(input *GetMembershipInput) (*GetMembershipOutput, error) { + req, out := c.GetMembershipRequest(input) + return out, req.Send() +} + +// GetMembershipWithContext is the same as GetMembership with the addition of +// the ability to pass a context and additional request options. +// +// See GetMembership for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CleanRooms) GetMembershipWithContext(ctx aws.Context, input *GetMembershipInput, opts ...request.Option) (*GetMembershipOutput, error) { + req, out := c.GetMembershipRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPrivacyBudgetTemplate = "GetPrivacyBudgetTemplate" + +// GetPrivacyBudgetTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetPrivacyBudgetTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetPrivacyBudgetTemplate for more information on using the GetPrivacyBudgetTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetPrivacyBudgetTemplateRequest method. +// req, resp := client.GetPrivacyBudgetTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetPrivacyBudgetTemplate +func (c *CleanRooms) GetPrivacyBudgetTemplateRequest(input *GetPrivacyBudgetTemplateInput) (req *request.Request, output *GetPrivacyBudgetTemplateOutput) { + op := &request.Operation{ + Name: opGetPrivacyBudgetTemplate, + HTTPMethod: "GET", + HTTPPath: "/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", } if input == nil { @@ -3616,6 +3988,154 @@ func (c *CleanRooms) ListCollaborationConfiguredAudienceModelAssociationsPagesWi return p.Err() } +const opListCollaborationIdNamespaceAssociations = "ListCollaborationIdNamespaceAssociations" + +// ListCollaborationIdNamespaceAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListCollaborationIdNamespaceAssociations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListCollaborationIdNamespaceAssociations for more information on using the ListCollaborationIdNamespaceAssociations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListCollaborationIdNamespaceAssociationsRequest method. +// req, resp := client.ListCollaborationIdNamespaceAssociationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationIdNamespaceAssociations +func (c *CleanRooms) ListCollaborationIdNamespaceAssociationsRequest(input *ListCollaborationIdNamespaceAssociationsInput) (req *request.Request, output *ListCollaborationIdNamespaceAssociationsOutput) { + op := &request.Operation{ + Name: opListCollaborationIdNamespaceAssociations, + HTTPMethod: "GET", + HTTPPath: "/collaborations/{collaborationIdentifier}/idnamespaceassociations", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCollaborationIdNamespaceAssociationsInput{} + } + + output = &ListCollaborationIdNamespaceAssociationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCollaborationIdNamespaceAssociations API operation for AWS Clean Rooms Service. +// +// Returns a list of the ID namespace associations in a collaboration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Clean Rooms Service's +// API operation ListCollaborationIdNamespaceAssociations for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationIdNamespaceAssociations +func (c *CleanRooms) ListCollaborationIdNamespaceAssociations(input *ListCollaborationIdNamespaceAssociationsInput) (*ListCollaborationIdNamespaceAssociationsOutput, error) { + req, out := c.ListCollaborationIdNamespaceAssociationsRequest(input) + return out, req.Send() +} + +// ListCollaborationIdNamespaceAssociationsWithContext is the same as ListCollaborationIdNamespaceAssociations with the addition of +// the ability to pass a context and additional request options. +// +// See ListCollaborationIdNamespaceAssociations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CleanRooms) ListCollaborationIdNamespaceAssociationsWithContext(ctx aws.Context, input *ListCollaborationIdNamespaceAssociationsInput, opts ...request.Option) (*ListCollaborationIdNamespaceAssociationsOutput, error) { + req, out := c.ListCollaborationIdNamespaceAssociationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCollaborationIdNamespaceAssociationsPages iterates over the pages of a ListCollaborationIdNamespaceAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCollaborationIdNamespaceAssociations 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 ListCollaborationIdNamespaceAssociations operation. +// pageNum := 0 +// err := client.ListCollaborationIdNamespaceAssociationsPages(params, +// func(page *cleanrooms.ListCollaborationIdNamespaceAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRooms) ListCollaborationIdNamespaceAssociationsPages(input *ListCollaborationIdNamespaceAssociationsInput, fn func(*ListCollaborationIdNamespaceAssociationsOutput, bool) bool) error { + return c.ListCollaborationIdNamespaceAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCollaborationIdNamespaceAssociationsPagesWithContext same as ListCollaborationIdNamespaceAssociationsPages 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 *CleanRooms) ListCollaborationIdNamespaceAssociationsPagesWithContext(ctx aws.Context, input *ListCollaborationIdNamespaceAssociationsInput, fn func(*ListCollaborationIdNamespaceAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCollaborationIdNamespaceAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCollaborationIdNamespaceAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCollaborationIdNamespaceAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListCollaborationPrivacyBudgetTemplates = "ListCollaborationPrivacyBudgetTemplates" // ListCollaborationPrivacyBudgetTemplatesRequest generates a "aws/request.Request" representing the @@ -4501,36 +5021,36 @@ func (c *CleanRooms) ListConfiguredTablesPagesWithContext(ctx aws.Context, input return p.Err() } -const opListMembers = "ListMembers" +const opListIdMappingTables = "ListIdMappingTables" -// ListMembersRequest generates a "aws/request.Request" representing the -// client's request for the ListMembers operation. The "output" return +// ListIdMappingTablesRequest generates a "aws/request.Request" representing the +// client's request for the ListIdMappingTables operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListMembers for more information on using the ListMembers +// See ListIdMappingTables for more information on using the ListIdMappingTables // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListMembersRequest method. -// req, resp := client.ListMembersRequest(params) +// // Example sending a request using the ListIdMappingTablesRequest method. +// req, resp := client.ListIdMappingTablesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMembers -func (c *CleanRooms) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListIdMappingTables +func (c *CleanRooms) ListIdMappingTablesRequest(input *ListIdMappingTablesInput) (req *request.Request, output *ListIdMappingTablesOutput) { op := &request.Operation{ - Name: opListMembers, + Name: opListIdMappingTables, HTTPMethod: "GET", - HTTPPath: "/collaborations/{collaborationIdentifier}/members", + HTTPPath: "/memberships/{membershipIdentifier}/idmappingtables", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -4540,24 +5060,24 @@ func (c *CleanRooms) ListMembersRequest(input *ListMembersInput) (req *request.R } if input == nil { - input = &ListMembersInput{} + input = &ListIdMappingTablesInput{} } - output = &ListMembersOutput{} + output = &ListIdMappingTablesOutput{} req = c.newRequest(op, input, output) return } -// ListMembers API operation for AWS Clean Rooms Service. +// ListIdMappingTables API operation for AWS Clean Rooms Service. // -// Lists all members within a collaboration. +// Returns a list of ID mapping tables. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation ListMembers for usage and error information. +// API operation ListIdMappingTables for usage and error information. // // Returned Error Types: // @@ -4576,64 +5096,64 @@ func (c *CleanRooms) ListMembersRequest(input *ListMembersInput) (req *request.R // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMembers -func (c *CleanRooms) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) { - req, out := c.ListMembersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListIdMappingTables +func (c *CleanRooms) ListIdMappingTables(input *ListIdMappingTablesInput) (*ListIdMappingTablesOutput, error) { + req, out := c.ListIdMappingTablesRequest(input) return out, req.Send() } -// ListMembersWithContext is the same as ListMembers with the addition of +// ListIdMappingTablesWithContext is the same as ListIdMappingTables with the addition of // the ability to pass a context and additional request options. // -// See ListMembers for details on how to use this API operation. +// See ListIdMappingTables for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) { - req, out := c.ListMembersRequest(input) +func (c *CleanRooms) ListIdMappingTablesWithContext(ctx aws.Context, input *ListIdMappingTablesInput, opts ...request.Option) (*ListIdMappingTablesOutput, error) { + req, out := c.ListIdMappingTablesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListMembersPages iterates over the pages of a ListMembers operation, +// ListIdMappingTablesPages iterates over the pages of a ListIdMappingTables operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListMembers method for more information on how to use this operation. +// See ListIdMappingTables 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 ListMembers operation. +// // Example iterating over at most 3 pages of a ListIdMappingTables operation. // pageNum := 0 -// err := client.ListMembersPages(params, -// func(page *cleanrooms.ListMembersOutput, lastPage bool) bool { +// err := client.ListIdMappingTablesPages(params, +// func(page *cleanrooms.ListIdMappingTablesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CleanRooms) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error { - return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CleanRooms) ListIdMappingTablesPages(input *ListIdMappingTablesInput, fn func(*ListIdMappingTablesOutput, bool) bool) error { + return c.ListIdMappingTablesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListMembersPagesWithContext same as ListMembersPages except +// ListIdMappingTablesPagesWithContext same as ListIdMappingTablesPages 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 *CleanRooms) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error { +func (c *CleanRooms) ListIdMappingTablesPagesWithContext(ctx aws.Context, input *ListIdMappingTablesInput, fn func(*ListIdMappingTablesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListMembersInput + var inCpy *ListIdMappingTablesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListMembersRequest(inCpy) + req, _ := c.ListIdMappingTablesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -4641,7 +5161,7 @@ func (c *CleanRooms) ListMembersPagesWithContext(ctx aws.Context, input *ListMem } for p.Next() { - if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListIdMappingTablesOutput), !p.HasNextPage()) { break } } @@ -4649,36 +5169,36 @@ func (c *CleanRooms) ListMembersPagesWithContext(ctx aws.Context, input *ListMem return p.Err() } -const opListMemberships = "ListMemberships" +const opListIdNamespaceAssociations = "ListIdNamespaceAssociations" -// ListMembershipsRequest generates a "aws/request.Request" representing the -// client's request for the ListMemberships operation. The "output" return +// ListIdNamespaceAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListIdNamespaceAssociations operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListMemberships for more information on using the ListMemberships +// See ListIdNamespaceAssociations for more information on using the ListIdNamespaceAssociations // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListMembershipsRequest method. -// req, resp := client.ListMembershipsRequest(params) +// // Example sending a request using the ListIdNamespaceAssociationsRequest method. +// req, resp := client.ListIdNamespaceAssociationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMemberships -func (c *CleanRooms) ListMembershipsRequest(input *ListMembershipsInput) (req *request.Request, output *ListMembershipsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListIdNamespaceAssociations +func (c *CleanRooms) ListIdNamespaceAssociationsRequest(input *ListIdNamespaceAssociationsInput) (req *request.Request, output *ListIdNamespaceAssociationsOutput) { op := &request.Operation{ - Name: opListMemberships, + Name: opListIdNamespaceAssociations, HTTPMethod: "GET", - HTTPPath: "/memberships", + HTTPPath: "/memberships/{membershipIdentifier}/idnamespaceassociations", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -4688,28 +5208,31 @@ func (c *CleanRooms) ListMembershipsRequest(input *ListMembershipsInput) (req *r } if input == nil { - input = &ListMembershipsInput{} + input = &ListIdNamespaceAssociationsInput{} } - output = &ListMembershipsOutput{} + output = &ListIdNamespaceAssociationsOutput{} req = c.newRequest(op, input, output) return } -// ListMemberships API operation for AWS Clean Rooms Service. +// ListIdNamespaceAssociations API operation for AWS Clean Rooms Service. // -// Lists all memberships resources within the caller's account. +// Returns a list of ID namespace associations. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation ListMemberships for usage and error information. +// API operation ListIdNamespaceAssociations for usage and error information. // // Returned Error Types: // -// - InternalServerException +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException // Unexpected error during processing of request. // // - ValidationException @@ -4721,64 +5244,64 @@ func (c *CleanRooms) ListMembershipsRequest(input *ListMembershipsInput) (req *r // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMemberships -func (c *CleanRooms) ListMemberships(input *ListMembershipsInput) (*ListMembershipsOutput, error) { - req, out := c.ListMembershipsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListIdNamespaceAssociations +func (c *CleanRooms) ListIdNamespaceAssociations(input *ListIdNamespaceAssociationsInput) (*ListIdNamespaceAssociationsOutput, error) { + req, out := c.ListIdNamespaceAssociationsRequest(input) return out, req.Send() } -// ListMembershipsWithContext is the same as ListMemberships with the addition of +// ListIdNamespaceAssociationsWithContext is the same as ListIdNamespaceAssociations with the addition of // the ability to pass a context and additional request options. // -// See ListMemberships for details on how to use this API operation. +// See ListIdNamespaceAssociations for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) ListMembershipsWithContext(ctx aws.Context, input *ListMembershipsInput, opts ...request.Option) (*ListMembershipsOutput, error) { - req, out := c.ListMembershipsRequest(input) +func (c *CleanRooms) ListIdNamespaceAssociationsWithContext(ctx aws.Context, input *ListIdNamespaceAssociationsInput, opts ...request.Option) (*ListIdNamespaceAssociationsOutput, error) { + req, out := c.ListIdNamespaceAssociationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListMembershipsPages iterates over the pages of a ListMemberships operation, +// ListIdNamespaceAssociationsPages iterates over the pages of a ListIdNamespaceAssociations operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListMemberships method for more information on how to use this operation. +// See ListIdNamespaceAssociations 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 ListMemberships operation. +// // Example iterating over at most 3 pages of a ListIdNamespaceAssociations operation. // pageNum := 0 -// err := client.ListMembershipsPages(params, -// func(page *cleanrooms.ListMembershipsOutput, lastPage bool) bool { +// err := client.ListIdNamespaceAssociationsPages(params, +// func(page *cleanrooms.ListIdNamespaceAssociationsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CleanRooms) ListMembershipsPages(input *ListMembershipsInput, fn func(*ListMembershipsOutput, bool) bool) error { - return c.ListMembershipsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CleanRooms) ListIdNamespaceAssociationsPages(input *ListIdNamespaceAssociationsInput, fn func(*ListIdNamespaceAssociationsOutput, bool) bool) error { + return c.ListIdNamespaceAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListMembershipsPagesWithContext same as ListMembershipsPages except +// ListIdNamespaceAssociationsPagesWithContext same as ListIdNamespaceAssociationsPages 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 *CleanRooms) ListMembershipsPagesWithContext(ctx aws.Context, input *ListMembershipsInput, fn func(*ListMembershipsOutput, bool) bool, opts ...request.Option) error { +func (c *CleanRooms) ListIdNamespaceAssociationsPagesWithContext(ctx aws.Context, input *ListIdNamespaceAssociationsInput, fn func(*ListIdNamespaceAssociationsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListMembershipsInput + var inCpy *ListIdNamespaceAssociationsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListMembershipsRequest(inCpy) + req, _ := c.ListIdNamespaceAssociationsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -4786,7 +5309,7 @@ func (c *CleanRooms) ListMembershipsPagesWithContext(ctx aws.Context, input *Lis } for p.Next() { - if !fn(p.Page().(*ListMembershipsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListIdNamespaceAssociationsOutput), !p.HasNextPage()) { break } } @@ -4794,36 +5317,36 @@ func (c *CleanRooms) ListMembershipsPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opListPrivacyBudgetTemplates = "ListPrivacyBudgetTemplates" +const opListMembers = "ListMembers" -// ListPrivacyBudgetTemplatesRequest generates a "aws/request.Request" representing the -// client's request for the ListPrivacyBudgetTemplates operation. The "output" return +// ListMembersRequest generates a "aws/request.Request" representing the +// client's request for the ListMembers operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListPrivacyBudgetTemplates for more information on using the ListPrivacyBudgetTemplates +// See ListMembers for more information on using the ListMembers // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListPrivacyBudgetTemplatesRequest method. -// req, resp := client.ListPrivacyBudgetTemplatesRequest(params) +// // Example sending a request using the ListMembersRequest method. +// req, resp := client.ListMembersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListPrivacyBudgetTemplates -func (c *CleanRooms) ListPrivacyBudgetTemplatesRequest(input *ListPrivacyBudgetTemplatesInput) (req *request.Request, output *ListPrivacyBudgetTemplatesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMembers +func (c *CleanRooms) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) { op := &request.Operation{ - Name: opListPrivacyBudgetTemplates, + Name: opListMembers, HTTPMethod: "GET", - HTTPPath: "/memberships/{membershipIdentifier}/privacybudgettemplates", + HTTPPath: "/collaborations/{collaborationIdentifier}/members", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -4833,25 +5356,24 @@ func (c *CleanRooms) ListPrivacyBudgetTemplatesRequest(input *ListPrivacyBudgetT } if input == nil { - input = &ListPrivacyBudgetTemplatesInput{} + input = &ListMembersInput{} } - output = &ListPrivacyBudgetTemplatesOutput{} + output = &ListMembersOutput{} req = c.newRequest(op, input, output) return } -// ListPrivacyBudgetTemplates API operation for AWS Clean Rooms Service. +// ListMembers API operation for AWS Clean Rooms Service. // -// Returns detailed information about the privacy budget templates in a specified -// membership. +// Lists all members within a collaboration. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation ListPrivacyBudgetTemplates for usage and error information. +// API operation ListMembers for usage and error information. // // Returned Error Types: // @@ -4870,64 +5392,64 @@ func (c *CleanRooms) ListPrivacyBudgetTemplatesRequest(input *ListPrivacyBudgetT // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListPrivacyBudgetTemplates -func (c *CleanRooms) ListPrivacyBudgetTemplates(input *ListPrivacyBudgetTemplatesInput) (*ListPrivacyBudgetTemplatesOutput, error) { - req, out := c.ListPrivacyBudgetTemplatesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMembers +func (c *CleanRooms) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) { + req, out := c.ListMembersRequest(input) return out, req.Send() } -// ListPrivacyBudgetTemplatesWithContext is the same as ListPrivacyBudgetTemplates with the addition of +// ListMembersWithContext is the same as ListMembers with the addition of // the ability to pass a context and additional request options. // -// See ListPrivacyBudgetTemplates for details on how to use this API operation. +// See ListMembers for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) ListPrivacyBudgetTemplatesWithContext(ctx aws.Context, input *ListPrivacyBudgetTemplatesInput, opts ...request.Option) (*ListPrivacyBudgetTemplatesOutput, error) { - req, out := c.ListPrivacyBudgetTemplatesRequest(input) +func (c *CleanRooms) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) { + req, out := c.ListMembersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListPrivacyBudgetTemplatesPages iterates over the pages of a ListPrivacyBudgetTemplates operation, +// ListMembersPages iterates over the pages of a ListMembers operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListPrivacyBudgetTemplates method for more information on how to use this operation. +// See ListMembers 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 ListPrivacyBudgetTemplates operation. +// // Example iterating over at most 3 pages of a ListMembers operation. // pageNum := 0 -// err := client.ListPrivacyBudgetTemplatesPages(params, -// func(page *cleanrooms.ListPrivacyBudgetTemplatesOutput, lastPage bool) bool { +// err := client.ListMembersPages(params, +// func(page *cleanrooms.ListMembersOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CleanRooms) ListPrivacyBudgetTemplatesPages(input *ListPrivacyBudgetTemplatesInput, fn func(*ListPrivacyBudgetTemplatesOutput, bool) bool) error { - return c.ListPrivacyBudgetTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CleanRooms) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error { + return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListPrivacyBudgetTemplatesPagesWithContext same as ListPrivacyBudgetTemplatesPages except +// ListMembersPagesWithContext same as ListMembersPages 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 *CleanRooms) ListPrivacyBudgetTemplatesPagesWithContext(ctx aws.Context, input *ListPrivacyBudgetTemplatesInput, fn func(*ListPrivacyBudgetTemplatesOutput, bool) bool, opts ...request.Option) error { +func (c *CleanRooms) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListPrivacyBudgetTemplatesInput + var inCpy *ListMembersInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListPrivacyBudgetTemplatesRequest(inCpy) + req, _ := c.ListMembersRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -4935,7 +5457,7 @@ func (c *CleanRooms) ListPrivacyBudgetTemplatesPagesWithContext(ctx aws.Context, } for p.Next() { - if !fn(p.Page().(*ListPrivacyBudgetTemplatesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) { break } } @@ -4943,36 +5465,36 @@ func (c *CleanRooms) ListPrivacyBudgetTemplatesPagesWithContext(ctx aws.Context, return p.Err() } -const opListPrivacyBudgets = "ListPrivacyBudgets" +const opListMemberships = "ListMemberships" -// ListPrivacyBudgetsRequest generates a "aws/request.Request" representing the -// client's request for the ListPrivacyBudgets operation. The "output" return +// ListMembershipsRequest generates a "aws/request.Request" representing the +// client's request for the ListMemberships operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListPrivacyBudgets for more information on using the ListPrivacyBudgets +// See ListMemberships for more information on using the ListMemberships // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListPrivacyBudgetsRequest method. -// req, resp := client.ListPrivacyBudgetsRequest(params) +// // Example sending a request using the ListMembershipsRequest method. +// req, resp := client.ListMembershipsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListPrivacyBudgets -func (c *CleanRooms) ListPrivacyBudgetsRequest(input *ListPrivacyBudgetsInput) (req *request.Request, output *ListPrivacyBudgetsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMemberships +func (c *CleanRooms) ListMembershipsRequest(input *ListMembershipsInput) (req *request.Request, output *ListMembershipsOutput) { op := &request.Operation{ - Name: opListPrivacyBudgets, + Name: opListMemberships, HTTPMethod: "GET", - HTTPPath: "/memberships/{membershipIdentifier}/privacybudgets", + HTTPPath: "/memberships", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -4982,30 +5504,27 @@ func (c *CleanRooms) ListPrivacyBudgetsRequest(input *ListPrivacyBudgetsInput) ( } if input == nil { - input = &ListPrivacyBudgetsInput{} + input = &ListMembershipsInput{} } - output = &ListPrivacyBudgetsOutput{} + output = &ListMembershipsOutput{} req = c.newRequest(op, input, output) return } -// ListPrivacyBudgets API operation for AWS Clean Rooms Service. +// ListMemberships API operation for AWS Clean Rooms Service. // -// Returns detailed information about the privacy budgets in a specified membership. +// Lists all memberships resources within the caller's account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation ListPrivacyBudgets for usage and error information. +// API operation ListMemberships for usage and error information. // // Returned Error Types: // -// - ResourceNotFoundException -// Request references a resource which does not exist. -// // - InternalServerException // Unexpected error during processing of request. // @@ -5018,64 +5537,64 @@ func (c *CleanRooms) ListPrivacyBudgetsRequest(input *ListPrivacyBudgetsInput) ( // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListPrivacyBudgets -func (c *CleanRooms) ListPrivacyBudgets(input *ListPrivacyBudgetsInput) (*ListPrivacyBudgetsOutput, error) { - req, out := c.ListPrivacyBudgetsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMemberships +func (c *CleanRooms) ListMemberships(input *ListMembershipsInput) (*ListMembershipsOutput, error) { + req, out := c.ListMembershipsRequest(input) return out, req.Send() } -// ListPrivacyBudgetsWithContext is the same as ListPrivacyBudgets with the addition of +// ListMembershipsWithContext is the same as ListMemberships with the addition of // the ability to pass a context and additional request options. // -// See ListPrivacyBudgets for details on how to use this API operation. +// See ListMemberships for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) ListPrivacyBudgetsWithContext(ctx aws.Context, input *ListPrivacyBudgetsInput, opts ...request.Option) (*ListPrivacyBudgetsOutput, error) { - req, out := c.ListPrivacyBudgetsRequest(input) +func (c *CleanRooms) ListMembershipsWithContext(ctx aws.Context, input *ListMembershipsInput, opts ...request.Option) (*ListMembershipsOutput, error) { + req, out := c.ListMembershipsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListPrivacyBudgetsPages iterates over the pages of a ListPrivacyBudgets operation, +// ListMembershipsPages iterates over the pages of a ListMemberships operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListPrivacyBudgets method for more information on how to use this operation. +// See ListMemberships 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 ListPrivacyBudgets operation. +// // Example iterating over at most 3 pages of a ListMemberships operation. // pageNum := 0 -// err := client.ListPrivacyBudgetsPages(params, -// func(page *cleanrooms.ListPrivacyBudgetsOutput, lastPage bool) bool { +// err := client.ListMembershipsPages(params, +// func(page *cleanrooms.ListMembershipsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CleanRooms) ListPrivacyBudgetsPages(input *ListPrivacyBudgetsInput, fn func(*ListPrivacyBudgetsOutput, bool) bool) error { - return c.ListPrivacyBudgetsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CleanRooms) ListMembershipsPages(input *ListMembershipsInput, fn func(*ListMembershipsOutput, bool) bool) error { + return c.ListMembershipsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListPrivacyBudgetsPagesWithContext same as ListPrivacyBudgetsPages except +// ListMembershipsPagesWithContext same as ListMembershipsPages 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 *CleanRooms) ListPrivacyBudgetsPagesWithContext(ctx aws.Context, input *ListPrivacyBudgetsInput, fn func(*ListPrivacyBudgetsOutput, bool) bool, opts ...request.Option) error { +func (c *CleanRooms) ListMembershipsPagesWithContext(ctx aws.Context, input *ListMembershipsInput, fn func(*ListMembershipsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListPrivacyBudgetsInput + var inCpy *ListMembershipsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListPrivacyBudgetsRequest(inCpy) + req, _ := c.ListMembershipsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5083,7 +5602,7 @@ func (c *CleanRooms) ListPrivacyBudgetsPagesWithContext(ctx aws.Context, input * } for p.Next() { - if !fn(p.Page().(*ListPrivacyBudgetsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListMembershipsOutput), !p.HasNextPage()) { break } } @@ -5091,36 +5610,36 @@ func (c *CleanRooms) ListPrivacyBudgetsPagesWithContext(ctx aws.Context, input * return p.Err() } -const opListProtectedQueries = "ListProtectedQueries" +const opListPrivacyBudgetTemplates = "ListPrivacyBudgetTemplates" -// ListProtectedQueriesRequest generates a "aws/request.Request" representing the -// client's request for the ListProtectedQueries operation. The "output" return +// ListPrivacyBudgetTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListPrivacyBudgetTemplates operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListProtectedQueries for more information on using the ListProtectedQueries +// See ListPrivacyBudgetTemplates for more information on using the ListPrivacyBudgetTemplates // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListProtectedQueriesRequest method. -// req, resp := client.ListProtectedQueriesRequest(params) +// // Example sending a request using the ListPrivacyBudgetTemplatesRequest method. +// req, resp := client.ListPrivacyBudgetTemplatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListProtectedQueries -func (c *CleanRooms) ListProtectedQueriesRequest(input *ListProtectedQueriesInput) (req *request.Request, output *ListProtectedQueriesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListPrivacyBudgetTemplates +func (c *CleanRooms) ListPrivacyBudgetTemplatesRequest(input *ListPrivacyBudgetTemplatesInput) (req *request.Request, output *ListPrivacyBudgetTemplatesOutput) { op := &request.Operation{ - Name: opListProtectedQueries, + Name: opListPrivacyBudgetTemplates, HTTPMethod: "GET", - HTTPPath: "/memberships/{membershipIdentifier}/protectedQueries", + HTTPPath: "/memberships/{membershipIdentifier}/privacybudgettemplates", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -5130,24 +5649,25 @@ func (c *CleanRooms) ListProtectedQueriesRequest(input *ListProtectedQueriesInpu } if input == nil { - input = &ListProtectedQueriesInput{} + input = &ListPrivacyBudgetTemplatesInput{} } - output = &ListProtectedQueriesOutput{} + output = &ListPrivacyBudgetTemplatesOutput{} req = c.newRequest(op, input, output) return } -// ListProtectedQueries API operation for AWS Clean Rooms Service. +// ListPrivacyBudgetTemplates API operation for AWS Clean Rooms Service. // -// Lists protected queries, sorted by the most recent query. +// Returns detailed information about the privacy budget templates in a specified +// membership. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation ListProtectedQueries for usage and error information. +// API operation ListPrivacyBudgetTemplates for usage and error information. // // Returned Error Types: // @@ -5166,64 +5686,64 @@ func (c *CleanRooms) ListProtectedQueriesRequest(input *ListProtectedQueriesInpu // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListProtectedQueries -func (c *CleanRooms) ListProtectedQueries(input *ListProtectedQueriesInput) (*ListProtectedQueriesOutput, error) { - req, out := c.ListProtectedQueriesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListPrivacyBudgetTemplates +func (c *CleanRooms) ListPrivacyBudgetTemplates(input *ListPrivacyBudgetTemplatesInput) (*ListPrivacyBudgetTemplatesOutput, error) { + req, out := c.ListPrivacyBudgetTemplatesRequest(input) return out, req.Send() } -// ListProtectedQueriesWithContext is the same as ListProtectedQueries with the addition of +// ListPrivacyBudgetTemplatesWithContext is the same as ListPrivacyBudgetTemplates with the addition of // the ability to pass a context and additional request options. // -// See ListProtectedQueries for details on how to use this API operation. +// See ListPrivacyBudgetTemplates for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) ListProtectedQueriesWithContext(ctx aws.Context, input *ListProtectedQueriesInput, opts ...request.Option) (*ListProtectedQueriesOutput, error) { - req, out := c.ListProtectedQueriesRequest(input) +func (c *CleanRooms) ListPrivacyBudgetTemplatesWithContext(ctx aws.Context, input *ListPrivacyBudgetTemplatesInput, opts ...request.Option) (*ListPrivacyBudgetTemplatesOutput, error) { + req, out := c.ListPrivacyBudgetTemplatesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListProtectedQueriesPages iterates over the pages of a ListProtectedQueries operation, +// ListPrivacyBudgetTemplatesPages iterates over the pages of a ListPrivacyBudgetTemplates operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListProtectedQueries method for more information on how to use this operation. +// See ListPrivacyBudgetTemplates 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 ListProtectedQueries operation. +// // Example iterating over at most 3 pages of a ListPrivacyBudgetTemplates operation. // pageNum := 0 -// err := client.ListProtectedQueriesPages(params, -// func(page *cleanrooms.ListProtectedQueriesOutput, lastPage bool) bool { +// err := client.ListPrivacyBudgetTemplatesPages(params, +// func(page *cleanrooms.ListPrivacyBudgetTemplatesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CleanRooms) ListProtectedQueriesPages(input *ListProtectedQueriesInput, fn func(*ListProtectedQueriesOutput, bool) bool) error { - return c.ListProtectedQueriesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CleanRooms) ListPrivacyBudgetTemplatesPages(input *ListPrivacyBudgetTemplatesInput, fn func(*ListPrivacyBudgetTemplatesOutput, bool) bool) error { + return c.ListPrivacyBudgetTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListProtectedQueriesPagesWithContext same as ListProtectedQueriesPages except +// ListPrivacyBudgetTemplatesPagesWithContext same as ListPrivacyBudgetTemplatesPages 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 *CleanRooms) ListProtectedQueriesPagesWithContext(ctx aws.Context, input *ListProtectedQueriesInput, fn func(*ListProtectedQueriesOutput, bool) bool, opts ...request.Option) error { +func (c *CleanRooms) ListPrivacyBudgetTemplatesPagesWithContext(ctx aws.Context, input *ListPrivacyBudgetTemplatesInput, fn func(*ListPrivacyBudgetTemplatesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListProtectedQueriesInput + var inCpy *ListPrivacyBudgetTemplatesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListProtectedQueriesRequest(inCpy) + req, _ := c.ListPrivacyBudgetTemplatesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5231,7 +5751,7 @@ func (c *CleanRooms) ListProtectedQueriesPagesWithContext(ctx aws.Context, input } for p.Next() { - if !fn(p.Page().(*ListProtectedQueriesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListPrivacyBudgetTemplatesOutput), !p.HasNextPage()) { break } } @@ -5239,36 +5759,36 @@ func (c *CleanRooms) ListProtectedQueriesPagesWithContext(ctx aws.Context, input return p.Err() } -const opListSchemas = "ListSchemas" +const opListPrivacyBudgets = "ListPrivacyBudgets" -// ListSchemasRequest generates a "aws/request.Request" representing the -// client's request for the ListSchemas operation. The "output" return +// ListPrivacyBudgetsRequest generates a "aws/request.Request" representing the +// client's request for the ListPrivacyBudgets operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListSchemas for more information on using the ListSchemas +// See ListPrivacyBudgets for more information on using the ListPrivacyBudgets // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListSchemasRequest method. -// req, resp := client.ListSchemasRequest(params) +// // Example sending a request using the ListPrivacyBudgetsRequest method. +// req, resp := client.ListPrivacyBudgetsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListSchemas -func (c *CleanRooms) ListSchemasRequest(input *ListSchemasInput) (req *request.Request, output *ListSchemasOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListPrivacyBudgets +func (c *CleanRooms) ListPrivacyBudgetsRequest(input *ListPrivacyBudgetsInput) (req *request.Request, output *ListPrivacyBudgetsOutput) { op := &request.Operation{ - Name: opListSchemas, + Name: opListPrivacyBudgets, HTTPMethod: "GET", - HTTPPath: "/collaborations/{collaborationIdentifier}/schemas", + HTTPPath: "/memberships/{membershipIdentifier}/privacybudgets", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -5278,24 +5798,24 @@ func (c *CleanRooms) ListSchemasRequest(input *ListSchemasInput) (req *request.R } if input == nil { - input = &ListSchemasInput{} + input = &ListPrivacyBudgetsInput{} } - output = &ListSchemasOutput{} + output = &ListPrivacyBudgetsOutput{} req = c.newRequest(op, input, output) return } -// ListSchemas API operation for AWS Clean Rooms Service. +// ListPrivacyBudgets API operation for AWS Clean Rooms Service. // -// Lists the schemas for relations within a collaboration. +// Returns detailed information about the privacy budgets in a specified membership. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation ListSchemas for usage and error information. +// API operation ListPrivacyBudgets for usage and error information. // // Returned Error Types: // @@ -5314,64 +5834,64 @@ func (c *CleanRooms) ListSchemasRequest(input *ListSchemasInput) (req *request.R // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListSchemas -func (c *CleanRooms) ListSchemas(input *ListSchemasInput) (*ListSchemasOutput, error) { - req, out := c.ListSchemasRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListPrivacyBudgets +func (c *CleanRooms) ListPrivacyBudgets(input *ListPrivacyBudgetsInput) (*ListPrivacyBudgetsOutput, error) { + req, out := c.ListPrivacyBudgetsRequest(input) return out, req.Send() } -// ListSchemasWithContext is the same as ListSchemas with the addition of +// ListPrivacyBudgetsWithContext is the same as ListPrivacyBudgets with the addition of // the ability to pass a context and additional request options. // -// See ListSchemas for details on how to use this API operation. +// See ListPrivacyBudgets for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) ListSchemasWithContext(ctx aws.Context, input *ListSchemasInput, opts ...request.Option) (*ListSchemasOutput, error) { - req, out := c.ListSchemasRequest(input) +func (c *CleanRooms) ListPrivacyBudgetsWithContext(ctx aws.Context, input *ListPrivacyBudgetsInput, opts ...request.Option) (*ListPrivacyBudgetsOutput, error) { + req, out := c.ListPrivacyBudgetsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListSchemasPages iterates over the pages of a ListSchemas operation, +// ListPrivacyBudgetsPages iterates over the pages of a ListPrivacyBudgets operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListSchemas method for more information on how to use this operation. +// See ListPrivacyBudgets 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 ListSchemas operation. +// // Example iterating over at most 3 pages of a ListPrivacyBudgets operation. // pageNum := 0 -// err := client.ListSchemasPages(params, -// func(page *cleanrooms.ListSchemasOutput, lastPage bool) bool { +// err := client.ListPrivacyBudgetsPages(params, +// func(page *cleanrooms.ListPrivacyBudgetsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CleanRooms) ListSchemasPages(input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool) error { - return c.ListSchemasPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CleanRooms) ListPrivacyBudgetsPages(input *ListPrivacyBudgetsInput, fn func(*ListPrivacyBudgetsOutput, bool) bool) error { + return c.ListPrivacyBudgetsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListSchemasPagesWithContext same as ListSchemasPages except +// ListPrivacyBudgetsPagesWithContext same as ListPrivacyBudgetsPages 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 *CleanRooms) ListSchemasPagesWithContext(ctx aws.Context, input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool, opts ...request.Option) error { +func (c *CleanRooms) ListPrivacyBudgetsPagesWithContext(ctx aws.Context, input *ListPrivacyBudgetsInput, fn func(*ListPrivacyBudgetsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListSchemasInput + var inCpy *ListPrivacyBudgetsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListSchemasRequest(inCpy) + req, _ := c.ListPrivacyBudgetsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5379,7 +5899,7 @@ func (c *CleanRooms) ListSchemasPagesWithContext(ctx aws.Context, input *ListSch } for p.Next() { - if !fn(p.Page().(*ListSchemasOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListPrivacyBudgetsOutput), !p.HasNextPage()) { break } } @@ -5387,140 +5907,211 @@ func (c *CleanRooms) ListSchemasPagesWithContext(ctx aws.Context, input *ListSch return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListProtectedQueries = "ListProtectedQueries" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListProtectedQueriesRequest generates a "aws/request.Request" representing the +// client's request for the ListProtectedQueries operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See ListProtectedQueries for more information on using the ListProtectedQueries // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the ListProtectedQueriesRequest method. +// req, resp := client.ListProtectedQueriesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListTagsForResource -func (c *CleanRooms) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListProtectedQueries +func (c *CleanRooms) ListProtectedQueriesRequest(input *ListProtectedQueriesInput) (req *request.Request, output *ListProtectedQueriesOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opListProtectedQueries, HTTPMethod: "GET", - HTTPPath: "/tags/{resourceArn}", + HTTPPath: "/memberships/{membershipIdentifier}/protectedQueries", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListTagsForResourceInput{} + input = &ListProtectedQueriesInput{} } - output = &ListTagsForResourceOutput{} + output = &ListProtectedQueriesOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for AWS Clean Rooms Service. +// ListProtectedQueries API operation for AWS Clean Rooms Service. // -// Lists all of the tags that have been added to a resource. +// Lists protected queries, sorted by the most recent query. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation ListTagsForResource for usage and error information. +// API operation ListProtectedQueries for usage and error information. // // Returned Error Types: // // - ResourceNotFoundException // Request references a resource which does not exist. // +// - InternalServerException +// Unexpected error during processing of request. +// // - ValidationException // The input fails to satisfy the specified constraints. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListTagsForResource -func (c *CleanRooms) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListProtectedQueries +func (c *CleanRooms) ListProtectedQueries(input *ListProtectedQueriesInput) (*ListProtectedQueriesOutput, error) { + req, out := c.ListProtectedQueriesRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// ListProtectedQueriesWithContext is the same as ListProtectedQueries with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See ListProtectedQueries for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *CleanRooms) ListProtectedQueriesWithContext(ctx aws.Context, input *ListProtectedQueriesInput, opts ...request.Option) (*ListProtectedQueriesOutput, error) { + req, out := c.ListProtectedQueriesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPreviewPrivacyImpact = "PreviewPrivacyImpact" +// ListProtectedQueriesPages iterates over the pages of a ListProtectedQueries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProtectedQueries 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 ListProtectedQueries operation. +// pageNum := 0 +// err := client.ListProtectedQueriesPages(params, +// func(page *cleanrooms.ListProtectedQueriesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRooms) ListProtectedQueriesPages(input *ListProtectedQueriesInput, fn func(*ListProtectedQueriesOutput, bool) bool) error { + return c.ListProtectedQueriesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// PreviewPrivacyImpactRequest generates a "aws/request.Request" representing the -// client's request for the PreviewPrivacyImpact operation. The "output" return +// ListProtectedQueriesPagesWithContext same as ListProtectedQueriesPages 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 *CleanRooms) ListProtectedQueriesPagesWithContext(ctx aws.Context, input *ListProtectedQueriesInput, fn func(*ListProtectedQueriesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProtectedQueriesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProtectedQueriesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProtectedQueriesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListSchemas = "ListSchemas" + +// ListSchemasRequest generates a "aws/request.Request" representing the +// client's request for the ListSchemas operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PreviewPrivacyImpact for more information on using the PreviewPrivacyImpact +// See ListSchemas for more information on using the ListSchemas // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the PreviewPrivacyImpactRequest method. -// req, resp := client.PreviewPrivacyImpactRequest(params) +// // Example sending a request using the ListSchemasRequest method. +// req, resp := client.ListSchemasRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/PreviewPrivacyImpact -func (c *CleanRooms) PreviewPrivacyImpactRequest(input *PreviewPrivacyImpactInput) (req *request.Request, output *PreviewPrivacyImpactOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListSchemas +func (c *CleanRooms) ListSchemasRequest(input *ListSchemasInput) (req *request.Request, output *ListSchemasOutput) { op := &request.Operation{ - Name: opPreviewPrivacyImpact, - HTTPMethod: "POST", - HTTPPath: "/memberships/{membershipIdentifier}/previewprivacyimpact", + Name: opListSchemas, + HTTPMethod: "GET", + HTTPPath: "/collaborations/{collaborationIdentifier}/schemas", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &PreviewPrivacyImpactInput{} + input = &ListSchemasInput{} } - output = &PreviewPrivacyImpactOutput{} + output = &ListSchemasOutput{} req = c.newRequest(op, input, output) return } -// PreviewPrivacyImpact API operation for AWS Clean Rooms Service. +// ListSchemas API operation for AWS Clean Rooms Service. // -// An estimate of the number of aggregation functions that the member who can -// query can run given epsilon and noise parameters. +// Lists the schemas for relations within a collaboration. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation PreviewPrivacyImpact for usage and error information. +// API operation ListSchemas for usage and error information. // // Returned Error Types: // @@ -5539,174 +6130,130 @@ func (c *CleanRooms) PreviewPrivacyImpactRequest(input *PreviewPrivacyImpactInpu // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/PreviewPrivacyImpact -func (c *CleanRooms) PreviewPrivacyImpact(input *PreviewPrivacyImpactInput) (*PreviewPrivacyImpactOutput, error) { - req, out := c.PreviewPrivacyImpactRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListSchemas +func (c *CleanRooms) ListSchemas(input *ListSchemasInput) (*ListSchemasOutput, error) { + req, out := c.ListSchemasRequest(input) return out, req.Send() } -// PreviewPrivacyImpactWithContext is the same as PreviewPrivacyImpact with the addition of +// ListSchemasWithContext is the same as ListSchemas with the addition of // the ability to pass a context and additional request options. // -// See PreviewPrivacyImpact for details on how to use this API operation. +// See ListSchemas for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) PreviewPrivacyImpactWithContext(ctx aws.Context, input *PreviewPrivacyImpactInput, opts ...request.Option) (*PreviewPrivacyImpactOutput, error) { - req, out := c.PreviewPrivacyImpactRequest(input) +func (c *CleanRooms) ListSchemasWithContext(ctx aws.Context, input *ListSchemasInput, opts ...request.Option) (*ListSchemasOutput, error) { + req, out := c.ListSchemasRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartProtectedQuery = "StartProtectedQuery" - -// StartProtectedQueryRequest generates a "aws/request.Request" representing the -// client's request for the StartProtectedQuery operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See StartProtectedQuery for more information on using the StartProtectedQuery -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// ListSchemasPages iterates over the pages of a ListSchemas operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// // Example sending a request using the StartProtectedQueryRequest method. -// req, resp := client.StartProtectedQueryRequest(params) +// See ListSchemas method for more information on how to use this operation. // -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } +// Note: This operation can generate multiple requests to a service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/StartProtectedQuery -func (c *CleanRooms) StartProtectedQueryRequest(input *StartProtectedQueryInput) (req *request.Request, output *StartProtectedQueryOutput) { - op := &request.Operation{ - Name: opStartProtectedQuery, - HTTPMethod: "POST", - HTTPPath: "/memberships/{membershipIdentifier}/protectedQueries", - } - - if input == nil { - input = &StartProtectedQueryInput{} - } +// // Example iterating over at most 3 pages of a ListSchemas operation. +// pageNum := 0 +// err := client.ListSchemasPages(params, +// func(page *cleanrooms.ListSchemasOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRooms) ListSchemasPages(input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool) error { + return c.ListSchemasPagesWithContext(aws.BackgroundContext(), input, fn) +} - output = &StartProtectedQueryOutput{} - req = c.newRequest(op, input, output) - return -} - -// StartProtectedQuery API operation for AWS Clean Rooms Service. -// -// Creates a protected query that is started by Clean Rooms. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for AWS Clean Rooms Service's -// API operation StartProtectedQuery for usage and error information. -// -// Returned Error Types: -// -// - ServiceQuotaExceededException -// Request denied because service quota has been exceeded. -// -// - ResourceNotFoundException -// Request references a resource which does not exist. -// -// - InternalServerException -// Unexpected error during processing of request. -// -// - ValidationException -// The input fails to satisfy the specified constraints. -// -// - ThrottlingException -// Request was denied due to request throttling. -// -// - AccessDeniedException -// Caller does not have sufficient access to perform this action. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/StartProtectedQuery -func (c *CleanRooms) StartProtectedQuery(input *StartProtectedQueryInput) (*StartProtectedQueryOutput, error) { - req, out := c.StartProtectedQueryRequest(input) - return out, req.Send() -} - -// StartProtectedQueryWithContext is the same as StartProtectedQuery with the addition of -// the ability to pass a context and additional request options. -// -// See StartProtectedQuery for details on how to use this API operation. +// ListSchemasPagesWithContext same as ListSchemasPages 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 *CleanRooms) StartProtectedQueryWithContext(ctx aws.Context, input *StartProtectedQueryInput, opts ...request.Option) (*StartProtectedQueryOutput, error) { - req, out := c.StartProtectedQueryRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() +func (c *CleanRooms) ListSchemasPagesWithContext(ctx aws.Context, input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSchemasInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSchemasRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSchemasOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() } -const opTagResource = "TagResource" +const opListTagsForResource = "ListTagsForResource" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// 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 TagResource for more information on using the TagResource +// 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 TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/TagResource -func (c *CleanRooms) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListTagsForResource +func (c *CleanRooms) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ - Name: opTagResource, - HTTPMethod: "POST", + Name: opListTagsForResource, + HTTPMethod: "GET", HTTPPath: "/tags/{resourceArn}", } if input == nil { - input = &TagResourceInput{} + input = &ListTagsForResourceInput{} } - output = &TagResourceOutput{} + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for AWS Clean Rooms Service. +// ListTagsForResource API operation for AWS Clean Rooms Service. // -// Tags a resource. +// Lists all of the tags that have been added to a resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation TagResource for usage and error information. +// API operation ListTagsForResource for usage and error information. // // Returned Error Types: // @@ -5716,162 +6263,174 @@ func (c *CleanRooms) TagResourceRequest(input *TagResourceInput) (req *request.R // - ValidationException // The input fails to satisfy the specified constraints. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/TagResource -func (c *CleanRooms) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListTagsForResource +func (c *CleanRooms) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See ListTagsForResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *CleanRooms) 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 opUntagResource = "UntagResource" +const opPopulateIdMappingTable = "PopulateIdMappingTable" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// PopulateIdMappingTableRequest generates a "aws/request.Request" representing the +// client's request for the PopulateIdMappingTable operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UntagResource for more information on using the UntagResource +// See PopulateIdMappingTable for more information on using the PopulateIdMappingTable // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the PopulateIdMappingTableRequest method. +// req, resp := client.PopulateIdMappingTableRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UntagResource -func (c *CleanRooms) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/PopulateIdMappingTable +func (c *CleanRooms) PopulateIdMappingTableRequest(input *PopulateIdMappingTableInput) (req *request.Request, output *PopulateIdMappingTableOutput) { op := &request.Operation{ - Name: opUntagResource, - HTTPMethod: "DELETE", - HTTPPath: "/tags/{resourceArn}", + Name: opPopulateIdMappingTable, + HTTPMethod: "POST", + HTTPPath: "/memberships/{membershipIdentifier}/idmappingtables/{idMappingTableIdentifier}/populate", } if input == nil { - input = &UntagResourceInput{} + input = &PopulateIdMappingTableInput{} } - output = &UntagResourceOutput{} + output = &PopulateIdMappingTableOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for AWS Clean Rooms Service. +// PopulateIdMappingTable API operation for AWS Clean Rooms Service. // -// Removes a tag or list of tags from a resource. +// Defines the information that's necessary to populate an ID mapping table. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation UntagResource for usage and error information. +// API operation PopulateIdMappingTable for usage and error information. // // Returned Error Types: // +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// // - ResourceNotFoundException // Request references a resource which does not exist. // +// - InternalServerException +// Unexpected error during processing of request. +// // - ValidationException // The input fails to satisfy the specified constraints. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UntagResource -func (c *CleanRooms) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/PopulateIdMappingTable +func (c *CleanRooms) PopulateIdMappingTable(input *PopulateIdMappingTableInput) (*PopulateIdMappingTableOutput, error) { + req, out := c.PopulateIdMappingTableRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// PopulateIdMappingTableWithContext is the same as PopulateIdMappingTable with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See PopulateIdMappingTable for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *CleanRooms) PopulateIdMappingTableWithContext(ctx aws.Context, input *PopulateIdMappingTableInput, opts ...request.Option) (*PopulateIdMappingTableOutput, error) { + req, out := c.PopulateIdMappingTableRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateAnalysisTemplate = "UpdateAnalysisTemplate" +const opPreviewPrivacyImpact = "PreviewPrivacyImpact" -// UpdateAnalysisTemplateRequest generates a "aws/request.Request" representing the -// client's request for the UpdateAnalysisTemplate operation. The "output" return +// PreviewPrivacyImpactRequest generates a "aws/request.Request" representing the +// client's request for the PreviewPrivacyImpact operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateAnalysisTemplate for more information on using the UpdateAnalysisTemplate +// See PreviewPrivacyImpact for more information on using the PreviewPrivacyImpact // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateAnalysisTemplateRequest method. -// req, resp := client.UpdateAnalysisTemplateRequest(params) +// // Example sending a request using the PreviewPrivacyImpactRequest method. +// req, resp := client.PreviewPrivacyImpactRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateAnalysisTemplate -func (c *CleanRooms) UpdateAnalysisTemplateRequest(input *UpdateAnalysisTemplateInput) (req *request.Request, output *UpdateAnalysisTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/PreviewPrivacyImpact +func (c *CleanRooms) PreviewPrivacyImpactRequest(input *PreviewPrivacyImpactInput) (req *request.Request, output *PreviewPrivacyImpactOutput) { op := &request.Operation{ - Name: opUpdateAnalysisTemplate, - HTTPMethod: "PATCH", - HTTPPath: "/memberships/{membershipIdentifier}/analysistemplates/{analysisTemplateIdentifier}", + Name: opPreviewPrivacyImpact, + HTTPMethod: "POST", + HTTPPath: "/memberships/{membershipIdentifier}/previewprivacyimpact", } if input == nil { - input = &UpdateAnalysisTemplateInput{} + input = &PreviewPrivacyImpactInput{} } - output = &UpdateAnalysisTemplateOutput{} + output = &PreviewPrivacyImpactOutput{} req = c.newRequest(op, input, output) return } -// UpdateAnalysisTemplate API operation for AWS Clean Rooms Service. +// PreviewPrivacyImpact API operation for AWS Clean Rooms Service. // -// Updates the analysis template metadata. +// An estimate of the number of aggregation functions that the member who can +// query can run given epsilon and noise 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 AWS Clean Rooms Service's -// API operation UpdateAnalysisTemplate for usage and error information. +// API operation PreviewPrivacyImpact for usage and error information. // // Returned Error Types: // @@ -5890,83 +6449,88 @@ func (c *CleanRooms) UpdateAnalysisTemplateRequest(input *UpdateAnalysisTemplate // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateAnalysisTemplate -func (c *CleanRooms) UpdateAnalysisTemplate(input *UpdateAnalysisTemplateInput) (*UpdateAnalysisTemplateOutput, error) { - req, out := c.UpdateAnalysisTemplateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/PreviewPrivacyImpact +func (c *CleanRooms) PreviewPrivacyImpact(input *PreviewPrivacyImpactInput) (*PreviewPrivacyImpactOutput, error) { + req, out := c.PreviewPrivacyImpactRequest(input) return out, req.Send() } -// UpdateAnalysisTemplateWithContext is the same as UpdateAnalysisTemplate with the addition of +// PreviewPrivacyImpactWithContext is the same as PreviewPrivacyImpact with the addition of // the ability to pass a context and additional request options. // -// See UpdateAnalysisTemplate for details on how to use this API operation. +// See PreviewPrivacyImpact for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) UpdateAnalysisTemplateWithContext(ctx aws.Context, input *UpdateAnalysisTemplateInput, opts ...request.Option) (*UpdateAnalysisTemplateOutput, error) { - req, out := c.UpdateAnalysisTemplateRequest(input) +func (c *CleanRooms) PreviewPrivacyImpactWithContext(ctx aws.Context, input *PreviewPrivacyImpactInput, opts ...request.Option) (*PreviewPrivacyImpactOutput, error) { + req, out := c.PreviewPrivacyImpactRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateCollaboration = "UpdateCollaboration" +const opStartProtectedQuery = "StartProtectedQuery" -// UpdateCollaborationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateCollaboration operation. The "output" return +// StartProtectedQueryRequest generates a "aws/request.Request" representing the +// client's request for the StartProtectedQuery operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateCollaboration for more information on using the UpdateCollaboration +// See StartProtectedQuery for more information on using the StartProtectedQuery // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateCollaborationRequest method. -// req, resp := client.UpdateCollaborationRequest(params) +// // Example sending a request using the StartProtectedQueryRequest method. +// req, resp := client.StartProtectedQueryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateCollaboration -func (c *CleanRooms) UpdateCollaborationRequest(input *UpdateCollaborationInput) (req *request.Request, output *UpdateCollaborationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/StartProtectedQuery +func (c *CleanRooms) StartProtectedQueryRequest(input *StartProtectedQueryInput) (req *request.Request, output *StartProtectedQueryOutput) { op := &request.Operation{ - Name: opUpdateCollaboration, - HTTPMethod: "PATCH", - HTTPPath: "/collaborations/{collaborationIdentifier}", + Name: opStartProtectedQuery, + HTTPMethod: "POST", + HTTPPath: "/memberships/{membershipIdentifier}/protectedQueries", } if input == nil { - input = &UpdateCollaborationInput{} + input = &StartProtectedQueryInput{} } - output = &UpdateCollaborationOutput{} + output = &StartProtectedQueryOutput{} req = c.newRequest(op, input, output) return } -// UpdateCollaboration API operation for AWS Clean Rooms Service. +// StartProtectedQuery API operation for AWS Clean Rooms Service. // -// Updates collaboration metadata and can only be called by the collaboration -// owner. +// Creates a protected query that is started by Clean Rooms. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation UpdateCollaboration for usage and error information. +// API operation StartProtectedQuery for usage and error information. // // Returned Error Types: // +// - ServiceQuotaExceededException +// Request denied because service quota has been exceeded. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// // - InternalServerException // Unexpected error during processing of request. // @@ -5979,270 +6543,248 @@ func (c *CleanRooms) UpdateCollaborationRequest(input *UpdateCollaborationInput) // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateCollaboration -func (c *CleanRooms) UpdateCollaboration(input *UpdateCollaborationInput) (*UpdateCollaborationOutput, error) { - req, out := c.UpdateCollaborationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/StartProtectedQuery +func (c *CleanRooms) StartProtectedQuery(input *StartProtectedQueryInput) (*StartProtectedQueryOutput, error) { + req, out := c.StartProtectedQueryRequest(input) return out, req.Send() } -// UpdateCollaborationWithContext is the same as UpdateCollaboration with the addition of +// StartProtectedQueryWithContext is the same as StartProtectedQuery with the addition of // the ability to pass a context and additional request options. // -// See UpdateCollaboration for details on how to use this API operation. +// See StartProtectedQuery for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) UpdateCollaborationWithContext(ctx aws.Context, input *UpdateCollaborationInput, opts ...request.Option) (*UpdateCollaborationOutput, error) { - req, out := c.UpdateCollaborationRequest(input) +func (c *CleanRooms) StartProtectedQueryWithContext(ctx aws.Context, input *StartProtectedQueryInput, opts ...request.Option) (*StartProtectedQueryOutput, error) { + req, out := c.StartProtectedQueryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateConfiguredAudienceModelAssociation = "UpdateConfiguredAudienceModelAssociation" +const opTagResource = "TagResource" -// UpdateConfiguredAudienceModelAssociationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateConfiguredAudienceModelAssociation operation. The "output" return +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateConfiguredAudienceModelAssociation for more information on using the UpdateConfiguredAudienceModelAssociation +// 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 UpdateConfiguredAudienceModelAssociationRequest method. -// req, resp := client.UpdateConfiguredAudienceModelAssociationRequest(params) +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredAudienceModelAssociation -func (c *CleanRooms) UpdateConfiguredAudienceModelAssociationRequest(input *UpdateConfiguredAudienceModelAssociationInput) (req *request.Request, output *UpdateConfiguredAudienceModelAssociationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/TagResource +func (c *CleanRooms) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ - Name: opUpdateConfiguredAudienceModelAssociation, - HTTPMethod: "PATCH", - HTTPPath: "/memberships/{membershipIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn}", } if input == nil { - input = &UpdateConfiguredAudienceModelAssociationInput{} + input = &TagResourceInput{} } - output = &UpdateConfiguredAudienceModelAssociationOutput{} + output = &TagResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateConfiguredAudienceModelAssociation API operation for AWS Clean Rooms Service. +// TagResource API operation for AWS Clean Rooms Service. // -// Provides the details necessary to update a configured audience model association. +// Tags a resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation UpdateConfiguredAudienceModelAssociation for usage and error information. +// API operation TagResource for usage and error information. // // Returned Error Types: // // - ResourceNotFoundException // Request references a resource which does not exist. // -// - InternalServerException -// Unexpected error during processing of request. -// // - ValidationException // The input fails to satisfy the specified constraints. // -// - ThrottlingException -// Request was denied due to request throttling. -// -// - AccessDeniedException -// Caller does not have sufficient access to perform this action. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredAudienceModelAssociation -func (c *CleanRooms) UpdateConfiguredAudienceModelAssociation(input *UpdateConfiguredAudienceModelAssociationInput) (*UpdateConfiguredAudienceModelAssociationOutput, error) { - req, out := c.UpdateConfiguredAudienceModelAssociationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/TagResource +func (c *CleanRooms) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) return out, req.Send() } -// UpdateConfiguredAudienceModelAssociationWithContext is the same as UpdateConfiguredAudienceModelAssociation with the addition of +// TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateConfiguredAudienceModelAssociation for details on how to use this API operation. +// See TagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) UpdateConfiguredAudienceModelAssociationWithContext(ctx aws.Context, input *UpdateConfiguredAudienceModelAssociationInput, opts ...request.Option) (*UpdateConfiguredAudienceModelAssociationOutput, error) { - req, out := c.UpdateConfiguredAudienceModelAssociationRequest(input) +func (c *CleanRooms) 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 opUpdateConfiguredTable = "UpdateConfiguredTable" +const opUntagResource = "UntagResource" -// UpdateConfiguredTableRequest generates a "aws/request.Request" representing the -// client's request for the UpdateConfiguredTable operation. The "output" return +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateConfiguredTable for more information on using the UpdateConfiguredTable +// 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 UpdateConfiguredTableRequest method. -// req, resp := client.UpdateConfiguredTableRequest(params) +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTable -func (c *CleanRooms) UpdateConfiguredTableRequest(input *UpdateConfiguredTableInput) (req *request.Request, output *UpdateConfiguredTableOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UntagResource +func (c *CleanRooms) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ - Name: opUpdateConfiguredTable, - HTTPMethod: "PATCH", - HTTPPath: "/configuredTables/{configuredTableIdentifier}", + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{resourceArn}", } if input == nil { - input = &UpdateConfiguredTableInput{} + input = &UntagResourceInput{} } - output = &UpdateConfiguredTableOutput{} + output = &UntagResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateConfiguredTable API operation for AWS Clean Rooms Service. +// UntagResource API operation for AWS Clean Rooms Service. // -// Updates a configured table. +// Removes a tag or list of tags from a resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation UpdateConfiguredTable for usage and error information. +// API operation UntagResource for usage and error information. // // Returned Error Types: // -// - ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// // - ResourceNotFoundException // Request references a resource which does not exist. // -// - InternalServerException -// Unexpected error during processing of request. -// // - ValidationException // The input fails to satisfy the specified constraints. // -// - ThrottlingException -// Request was denied due to request throttling. -// -// - AccessDeniedException -// Caller does not have sufficient access to perform this action. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTable -func (c *CleanRooms) UpdateConfiguredTable(input *UpdateConfiguredTableInput) (*UpdateConfiguredTableOutput, error) { - req, out := c.UpdateConfiguredTableRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UntagResource +func (c *CleanRooms) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) return out, req.Send() } -// UpdateConfiguredTableWithContext is the same as UpdateConfiguredTable with the addition of +// UntagResourceWithContext is the same as UntagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateConfiguredTable for details on how to use this API operation. +// See UntagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) UpdateConfiguredTableWithContext(ctx aws.Context, input *UpdateConfiguredTableInput, opts ...request.Option) (*UpdateConfiguredTableOutput, error) { - req, out := c.UpdateConfiguredTableRequest(input) +func (c *CleanRooms) 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 opUpdateConfiguredTableAnalysisRule = "UpdateConfiguredTableAnalysisRule" +const opUpdateAnalysisTemplate = "UpdateAnalysisTemplate" -// UpdateConfiguredTableAnalysisRuleRequest generates a "aws/request.Request" representing the -// client's request for the UpdateConfiguredTableAnalysisRule operation. The "output" return +// UpdateAnalysisTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAnalysisTemplate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateConfiguredTableAnalysisRule for more information on using the UpdateConfiguredTableAnalysisRule +// See UpdateAnalysisTemplate for more information on using the UpdateAnalysisTemplate // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateConfiguredTableAnalysisRuleRequest method. -// req, resp := client.UpdateConfiguredTableAnalysisRuleRequest(params) +// // Example sending a request using the UpdateAnalysisTemplateRequest method. +// req, resp := client.UpdateAnalysisTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAnalysisRule -func (c *CleanRooms) UpdateConfiguredTableAnalysisRuleRequest(input *UpdateConfiguredTableAnalysisRuleInput) (req *request.Request, output *UpdateConfiguredTableAnalysisRuleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateAnalysisTemplate +func (c *CleanRooms) UpdateAnalysisTemplateRequest(input *UpdateAnalysisTemplateInput) (req *request.Request, output *UpdateAnalysisTemplateOutput) { op := &request.Operation{ - Name: opUpdateConfiguredTableAnalysisRule, + Name: opUpdateAnalysisTemplate, HTTPMethod: "PATCH", - HTTPPath: "/configuredTables/{configuredTableIdentifier}/analysisRule/{analysisRuleType}", + HTTPPath: "/memberships/{membershipIdentifier}/analysistemplates/{analysisTemplateIdentifier}", } if input == nil { - input = &UpdateConfiguredTableAnalysisRuleInput{} + input = &UpdateAnalysisTemplateInput{} } - output = &UpdateConfiguredTableAnalysisRuleOutput{} + output = &UpdateAnalysisTemplateOutput{} req = c.newRequest(op, input, output) return } -// UpdateConfiguredTableAnalysisRule API operation for AWS Clean Rooms Service. +// UpdateAnalysisTemplate API operation for AWS Clean Rooms Service. // -// Updates a configured table analysis rule. +// Updates the analysis template metadata. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation UpdateConfiguredTableAnalysisRule for usage and error information. +// API operation UpdateAnalysisTemplate for usage and error information. // // Returned Error Types: // -// - ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// // - ResourceNotFoundException // Request references a resource which does not exist. // @@ -6258,88 +6800,83 @@ func (c *CleanRooms) UpdateConfiguredTableAnalysisRuleRequest(input *UpdateConfi // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAnalysisRule -func (c *CleanRooms) UpdateConfiguredTableAnalysisRule(input *UpdateConfiguredTableAnalysisRuleInput) (*UpdateConfiguredTableAnalysisRuleOutput, error) { - req, out := c.UpdateConfiguredTableAnalysisRuleRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateAnalysisTemplate +func (c *CleanRooms) UpdateAnalysisTemplate(input *UpdateAnalysisTemplateInput) (*UpdateAnalysisTemplateOutput, error) { + req, out := c.UpdateAnalysisTemplateRequest(input) return out, req.Send() } -// UpdateConfiguredTableAnalysisRuleWithContext is the same as UpdateConfiguredTableAnalysisRule with the addition of +// UpdateAnalysisTemplateWithContext is the same as UpdateAnalysisTemplate with the addition of // the ability to pass a context and additional request options. // -// See UpdateConfiguredTableAnalysisRule for details on how to use this API operation. +// See UpdateAnalysisTemplate for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) UpdateConfiguredTableAnalysisRuleWithContext(ctx aws.Context, input *UpdateConfiguredTableAnalysisRuleInput, opts ...request.Option) (*UpdateConfiguredTableAnalysisRuleOutput, error) { - req, out := c.UpdateConfiguredTableAnalysisRuleRequest(input) +func (c *CleanRooms) UpdateAnalysisTemplateWithContext(ctx aws.Context, input *UpdateAnalysisTemplateInput, opts ...request.Option) (*UpdateAnalysisTemplateOutput, error) { + req, out := c.UpdateAnalysisTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateConfiguredTableAssociation = "UpdateConfiguredTableAssociation" +const opUpdateCollaboration = "UpdateCollaboration" -// UpdateConfiguredTableAssociationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateConfiguredTableAssociation operation. The "output" return +// UpdateCollaborationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCollaboration operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateConfiguredTableAssociation for more information on using the UpdateConfiguredTableAssociation +// See UpdateCollaboration for more information on using the UpdateCollaboration // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateConfiguredTableAssociationRequest method. -// req, resp := client.UpdateConfiguredTableAssociationRequest(params) +// // Example sending a request using the UpdateCollaborationRequest method. +// req, resp := client.UpdateCollaborationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAssociation -func (c *CleanRooms) UpdateConfiguredTableAssociationRequest(input *UpdateConfiguredTableAssociationInput) (req *request.Request, output *UpdateConfiguredTableAssociationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateCollaboration +func (c *CleanRooms) UpdateCollaborationRequest(input *UpdateCollaborationInput) (req *request.Request, output *UpdateCollaborationOutput) { op := &request.Operation{ - Name: opUpdateConfiguredTableAssociation, + Name: opUpdateCollaboration, HTTPMethod: "PATCH", - HTTPPath: "/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}", + HTTPPath: "/collaborations/{collaborationIdentifier}", } if input == nil { - input = &UpdateConfiguredTableAssociationInput{} + input = &UpdateCollaborationInput{} } - output = &UpdateConfiguredTableAssociationOutput{} + output = &UpdateCollaborationOutput{} req = c.newRequest(op, input, output) return } -// UpdateConfiguredTableAssociation API operation for AWS Clean Rooms Service. +// UpdateCollaboration API operation for AWS Clean Rooms Service. // -// Updates a configured table association. +// Updates collaboration metadata and can only be called by the collaboration +// owner. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation UpdateConfiguredTableAssociation for usage and error information. +// API operation UpdateCollaboration for usage and error information. // // Returned Error Types: // -// - ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// -// - ResourceNotFoundException -// Request references a resource which does not exist. -// // - InternalServerException // Unexpected error during processing of request. // @@ -6352,85 +6889,82 @@ func (c *CleanRooms) UpdateConfiguredTableAssociationRequest(input *UpdateConfig // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAssociation -func (c *CleanRooms) UpdateConfiguredTableAssociation(input *UpdateConfiguredTableAssociationInput) (*UpdateConfiguredTableAssociationOutput, error) { - req, out := c.UpdateConfiguredTableAssociationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateCollaboration +func (c *CleanRooms) UpdateCollaboration(input *UpdateCollaborationInput) (*UpdateCollaborationOutput, error) { + req, out := c.UpdateCollaborationRequest(input) return out, req.Send() } -// UpdateConfiguredTableAssociationWithContext is the same as UpdateConfiguredTableAssociation with the addition of +// UpdateCollaborationWithContext is the same as UpdateCollaboration with the addition of // the ability to pass a context and additional request options. // -// See UpdateConfiguredTableAssociation for details on how to use this API operation. +// See UpdateCollaboration for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) UpdateConfiguredTableAssociationWithContext(ctx aws.Context, input *UpdateConfiguredTableAssociationInput, opts ...request.Option) (*UpdateConfiguredTableAssociationOutput, error) { - req, out := c.UpdateConfiguredTableAssociationRequest(input) +func (c *CleanRooms) UpdateCollaborationWithContext(ctx aws.Context, input *UpdateCollaborationInput, opts ...request.Option) (*UpdateCollaborationOutput, error) { + req, out := c.UpdateCollaborationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateMembership = "UpdateMembership" +const opUpdateConfiguredAudienceModelAssociation = "UpdateConfiguredAudienceModelAssociation" -// UpdateMembershipRequest generates a "aws/request.Request" representing the -// client's request for the UpdateMembership operation. The "output" return +// UpdateConfiguredAudienceModelAssociationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConfiguredAudienceModelAssociation operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateMembership for more information on using the UpdateMembership +// See UpdateConfiguredAudienceModelAssociation for more information on using the UpdateConfiguredAudienceModelAssociation // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateMembershipRequest method. -// req, resp := client.UpdateMembershipRequest(params) +// // Example sending a request using the UpdateConfiguredAudienceModelAssociationRequest method. +// req, resp := client.UpdateConfiguredAudienceModelAssociationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateMembership -func (c *CleanRooms) UpdateMembershipRequest(input *UpdateMembershipInput) (req *request.Request, output *UpdateMembershipOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredAudienceModelAssociation +func (c *CleanRooms) UpdateConfiguredAudienceModelAssociationRequest(input *UpdateConfiguredAudienceModelAssociationInput) (req *request.Request, output *UpdateConfiguredAudienceModelAssociationOutput) { op := &request.Operation{ - Name: opUpdateMembership, + Name: opUpdateConfiguredAudienceModelAssociation, HTTPMethod: "PATCH", - HTTPPath: "/memberships/{membershipIdentifier}", + HTTPPath: "/memberships/{membershipIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", } if input == nil { - input = &UpdateMembershipInput{} + input = &UpdateConfiguredAudienceModelAssociationInput{} } - output = &UpdateMembershipOutput{} + output = &UpdateConfiguredAudienceModelAssociationOutput{} req = c.newRequest(op, input, output) return } -// UpdateMembership API operation for AWS Clean Rooms Service. +// UpdateConfiguredAudienceModelAssociation API operation for AWS Clean Rooms Service. // -// Updates a membership. +// Provides the details necessary to update a configured audience model association. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation UpdateMembership for usage and error information. +// API operation UpdateConfiguredAudienceModelAssociation for usage and error information. // // Returned Error Types: // -// - ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// // - ResourceNotFoundException // Request references a resource which does not exist. // @@ -6446,79 +6980,79 @@ func (c *CleanRooms) UpdateMembershipRequest(input *UpdateMembershipInput) (req // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateMembership -func (c *CleanRooms) UpdateMembership(input *UpdateMembershipInput) (*UpdateMembershipOutput, error) { - req, out := c.UpdateMembershipRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredAudienceModelAssociation +func (c *CleanRooms) UpdateConfiguredAudienceModelAssociation(input *UpdateConfiguredAudienceModelAssociationInput) (*UpdateConfiguredAudienceModelAssociationOutput, error) { + req, out := c.UpdateConfiguredAudienceModelAssociationRequest(input) return out, req.Send() } -// UpdateMembershipWithContext is the same as UpdateMembership with the addition of +// UpdateConfiguredAudienceModelAssociationWithContext is the same as UpdateConfiguredAudienceModelAssociation with the addition of // the ability to pass a context and additional request options. // -// See UpdateMembership for details on how to use this API operation. +// See UpdateConfiguredAudienceModelAssociation for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) UpdateMembershipWithContext(ctx aws.Context, input *UpdateMembershipInput, opts ...request.Option) (*UpdateMembershipOutput, error) { - req, out := c.UpdateMembershipRequest(input) +func (c *CleanRooms) UpdateConfiguredAudienceModelAssociationWithContext(ctx aws.Context, input *UpdateConfiguredAudienceModelAssociationInput, opts ...request.Option) (*UpdateConfiguredAudienceModelAssociationOutput, error) { + req, out := c.UpdateConfiguredAudienceModelAssociationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdatePrivacyBudgetTemplate = "UpdatePrivacyBudgetTemplate" +const opUpdateConfiguredTable = "UpdateConfiguredTable" -// UpdatePrivacyBudgetTemplateRequest generates a "aws/request.Request" representing the -// client's request for the UpdatePrivacyBudgetTemplate operation. The "output" return +// UpdateConfiguredTableRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConfiguredTable operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdatePrivacyBudgetTemplate for more information on using the UpdatePrivacyBudgetTemplate +// See UpdateConfiguredTable for more information on using the UpdateConfiguredTable // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdatePrivacyBudgetTemplateRequest method. -// req, resp := client.UpdatePrivacyBudgetTemplateRequest(params) +// // Example sending a request using the UpdateConfiguredTableRequest method. +// req, resp := client.UpdateConfiguredTableRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdatePrivacyBudgetTemplate -func (c *CleanRooms) UpdatePrivacyBudgetTemplateRequest(input *UpdatePrivacyBudgetTemplateInput) (req *request.Request, output *UpdatePrivacyBudgetTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTable +func (c *CleanRooms) UpdateConfiguredTableRequest(input *UpdateConfiguredTableInput) (req *request.Request, output *UpdateConfiguredTableOutput) { op := &request.Operation{ - Name: opUpdatePrivacyBudgetTemplate, + Name: opUpdateConfiguredTable, HTTPMethod: "PATCH", - HTTPPath: "/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", + HTTPPath: "/configuredTables/{configuredTableIdentifier}", } if input == nil { - input = &UpdatePrivacyBudgetTemplateInput{} + input = &UpdateConfiguredTableInput{} } - output = &UpdatePrivacyBudgetTemplateOutput{} + output = &UpdateConfiguredTableOutput{} req = c.newRequest(op, input, output) return } -// UpdatePrivacyBudgetTemplate API operation for AWS Clean Rooms Service. +// UpdateConfiguredTable API operation for AWS Clean Rooms Service. // -// Updates the privacy budget template for the specified membership. +// Updates a configured table. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation UpdatePrivacyBudgetTemplate for usage and error information. +// API operation UpdateConfiguredTable for usage and error information. // // Returned Error Types: // @@ -6540,79 +7074,79 @@ func (c *CleanRooms) UpdatePrivacyBudgetTemplateRequest(input *UpdatePrivacyBudg // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdatePrivacyBudgetTemplate -func (c *CleanRooms) UpdatePrivacyBudgetTemplate(input *UpdatePrivacyBudgetTemplateInput) (*UpdatePrivacyBudgetTemplateOutput, error) { - req, out := c.UpdatePrivacyBudgetTemplateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTable +func (c *CleanRooms) UpdateConfiguredTable(input *UpdateConfiguredTableInput) (*UpdateConfiguredTableOutput, error) { + req, out := c.UpdateConfiguredTableRequest(input) return out, req.Send() } -// UpdatePrivacyBudgetTemplateWithContext is the same as UpdatePrivacyBudgetTemplate with the addition of +// UpdateConfiguredTableWithContext is the same as UpdateConfiguredTable with the addition of // the ability to pass a context and additional request options. // -// See UpdatePrivacyBudgetTemplate for details on how to use this API operation. +// See UpdateConfiguredTable for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) UpdatePrivacyBudgetTemplateWithContext(ctx aws.Context, input *UpdatePrivacyBudgetTemplateInput, opts ...request.Option) (*UpdatePrivacyBudgetTemplateOutput, error) { - req, out := c.UpdatePrivacyBudgetTemplateRequest(input) +func (c *CleanRooms) UpdateConfiguredTableWithContext(ctx aws.Context, input *UpdateConfiguredTableInput, opts ...request.Option) (*UpdateConfiguredTableOutput, error) { + req, out := c.UpdateConfiguredTableRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateProtectedQuery = "UpdateProtectedQuery" +const opUpdateConfiguredTableAnalysisRule = "UpdateConfiguredTableAnalysisRule" -// UpdateProtectedQueryRequest generates a "aws/request.Request" representing the -// client's request for the UpdateProtectedQuery operation. The "output" return +// UpdateConfiguredTableAnalysisRuleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConfiguredTableAnalysisRule operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateProtectedQuery for more information on using the UpdateProtectedQuery +// See UpdateConfiguredTableAnalysisRule for more information on using the UpdateConfiguredTableAnalysisRule // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateProtectedQueryRequest method. -// req, resp := client.UpdateProtectedQueryRequest(params) +// // Example sending a request using the UpdateConfiguredTableAnalysisRuleRequest method. +// req, resp := client.UpdateConfiguredTableAnalysisRuleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateProtectedQuery -func (c *CleanRooms) UpdateProtectedQueryRequest(input *UpdateProtectedQueryInput) (req *request.Request, output *UpdateProtectedQueryOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAnalysisRule +func (c *CleanRooms) UpdateConfiguredTableAnalysisRuleRequest(input *UpdateConfiguredTableAnalysisRuleInput) (req *request.Request, output *UpdateConfiguredTableAnalysisRuleOutput) { op := &request.Operation{ - Name: opUpdateProtectedQuery, + Name: opUpdateConfiguredTableAnalysisRule, HTTPMethod: "PATCH", - HTTPPath: "/memberships/{membershipIdentifier}/protectedQueries/{protectedQueryIdentifier}", + HTTPPath: "/configuredTables/{configuredTableIdentifier}/analysisRule/{analysisRuleType}", } if input == nil { - input = &UpdateProtectedQueryInput{} + input = &UpdateConfiguredTableAnalysisRuleInput{} } - output = &UpdateProtectedQueryOutput{} + output = &UpdateConfiguredTableAnalysisRuleOutput{} req = c.newRequest(op, input, output) return } -// UpdateProtectedQuery API operation for AWS Clean Rooms Service. +// UpdateConfiguredTableAnalysisRule API operation for AWS Clean Rooms Service. // -// Updates the processing of a currently running query. +// Updates a configured table analysis rule. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Clean Rooms Service's -// API operation UpdateProtectedQuery for usage and error information. +// API operation UpdateConfiguredTableAnalysisRule for usage and error information. // // Returned Error Types: // @@ -6634,182 +7168,1734 @@ func (c *CleanRooms) UpdateProtectedQueryRequest(input *UpdateProtectedQueryInpu // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateProtectedQuery -func (c *CleanRooms) UpdateProtectedQuery(input *UpdateProtectedQueryInput) (*UpdateProtectedQueryOutput, error) { - req, out := c.UpdateProtectedQueryRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAnalysisRule +func (c *CleanRooms) UpdateConfiguredTableAnalysisRule(input *UpdateConfiguredTableAnalysisRuleInput) (*UpdateConfiguredTableAnalysisRuleOutput, error) { + req, out := c.UpdateConfiguredTableAnalysisRuleRequest(input) return out, req.Send() } -// UpdateProtectedQueryWithContext is the same as UpdateProtectedQuery with the addition of +// UpdateConfiguredTableAnalysisRuleWithContext is the same as UpdateConfiguredTableAnalysisRule with the addition of // the ability to pass a context and additional request options. // -// See UpdateProtectedQuery for details on how to use this API operation. +// See UpdateConfiguredTableAnalysisRule for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CleanRooms) UpdateProtectedQueryWithContext(ctx aws.Context, input *UpdateProtectedQueryInput, opts ...request.Option) (*UpdateProtectedQueryOutput, error) { - req, out := c.UpdateProtectedQueryRequest(input) +func (c *CleanRooms) UpdateConfiguredTableAnalysisRuleWithContext(ctx aws.Context, input *UpdateConfiguredTableAnalysisRuleInput, opts ...request.Option) (*UpdateConfiguredTableAnalysisRuleOutput, error) { + req, out := c.UpdateConfiguredTableAnalysisRuleRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Caller does 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"` - - // A reason code for the exception. - Reason *string `locationName:"reason" type:"string" enum:"AccessDeniedExceptionReason"` -} +const opUpdateConfiguredTableAssociation = "UpdateConfiguredTableAssociation" -// String returns the string representation. +// UpdateConfiguredTableAssociationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConfiguredTableAssociation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessDeniedException) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessDeniedException) GoString() string { - return s.String() -} - -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, +// See UpdateConfiguredTableAssociation for more information on using the UpdateConfiguredTableAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateConfiguredTableAssociationRequest method. +// req, resp := client.UpdateConfiguredTableAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAssociation +func (c *CleanRooms) UpdateConfiguredTableAssociationRequest(input *UpdateConfiguredTableAssociationInput) (req *request.Request, output *UpdateConfiguredTableAssociationOutput) { + op := &request.Operation{ + Name: opUpdateConfiguredTableAssociation, + HTTPMethod: "PATCH", + HTTPPath: "/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}", } -} - -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" -} -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if input == nil { + input = &UpdateConfiguredTableAssociationInput{} } - 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\n%s", s.Code(), s.Message(), s.String()) + output = &UpdateConfiguredTableAssociationOutput{} + req = c.newRequest(op, input, output) + return } -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode +// UpdateConfiguredTableAssociation API operation for AWS Clean Rooms Service. +// +// Updates a configured table association. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Clean Rooms Service's +// API operation UpdateConfiguredTableAssociation for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAssociation +func (c *CleanRooms) UpdateConfiguredTableAssociation(input *UpdateConfiguredTableAssociationInput) (*UpdateConfiguredTableAssociationOutput, error) { + req, out := c.UpdateConfiguredTableAssociationRequest(input) + return out, req.Send() } -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID +// UpdateConfiguredTableAssociationWithContext is the same as UpdateConfiguredTableAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateConfiguredTableAssociation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CleanRooms) UpdateConfiguredTableAssociationWithContext(ctx aws.Context, input *UpdateConfiguredTableAssociationInput, opts ...request.Option) (*UpdateConfiguredTableAssociationOutput, error) { + req, out := c.UpdateConfiguredTableAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// Column in configured table that can be used in aggregate function in query. -type AggregateColumn struct { - _ struct{} `type:"structure"` - - // Column names in configured table of aggregate columns. - // - // ColumnNames is a required field - ColumnNames []*string `locationName:"columnNames" min:"1" type:"list" required:"true"` - - // Aggregation function that can be applied to aggregate column in query. - // - // Function is a required field - Function *string `locationName:"function" type:"string" required:"true" enum:"AggregateFunctionName"` -} +const opUpdateIdMappingTable = "UpdateIdMappingTable" -// String returns the string representation. +// UpdateIdMappingTableRequest generates a "aws/request.Request" representing the +// client's request for the UpdateIdMappingTable operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AggregateColumn) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AggregateColumn) GoString() string { - return s.String() +// See UpdateIdMappingTable for more information on using the UpdateIdMappingTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateIdMappingTableRequest method. +// req, resp := client.UpdateIdMappingTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateIdMappingTable +func (c *CleanRooms) UpdateIdMappingTableRequest(input *UpdateIdMappingTableInput) (req *request.Request, output *UpdateIdMappingTableOutput) { + op := &request.Operation{ + Name: opUpdateIdMappingTable, + HTTPMethod: "PATCH", + HTTPPath: "/memberships/{membershipIdentifier}/idmappingtables/{idMappingTableIdentifier}", + } + + if input == nil { + input = &UpdateIdMappingTableInput{} + } + + output = &UpdateIdMappingTableOutput{} + req = c.newRequest(op, input, output) + return } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AggregateColumn) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AggregateColumn"} - if s.ColumnNames == nil { - invalidParams.Add(request.NewErrParamRequired("ColumnNames")) +// UpdateIdMappingTable API operation for AWS Clean Rooms Service. +// +// Provides the details that are necessary to update an ID mapping table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Clean Rooms Service's +// API operation UpdateIdMappingTable for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateIdMappingTable +func (c *CleanRooms) UpdateIdMappingTable(input *UpdateIdMappingTableInput) (*UpdateIdMappingTableOutput, error) { + req, out := c.UpdateIdMappingTableRequest(input) + return out, req.Send() +} + +// UpdateIdMappingTableWithContext is the same as UpdateIdMappingTable with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateIdMappingTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CleanRooms) UpdateIdMappingTableWithContext(ctx aws.Context, input *UpdateIdMappingTableInput, opts ...request.Option) (*UpdateIdMappingTableOutput, error) { + req, out := c.UpdateIdMappingTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateMembership = "UpdateMembership" + +// UpdateMembershipRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMembership operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateMembership for more information on using the UpdateMembership +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateMembershipRequest method. +// req, resp := client.UpdateMembershipRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateMembership +func (c *CleanRooms) UpdateMembershipRequest(input *UpdateMembershipInput) (req *request.Request, output *UpdateMembershipOutput) { + op := &request.Operation{ + Name: opUpdateMembership, + HTTPMethod: "PATCH", + HTTPPath: "/memberships/{membershipIdentifier}", } - if s.ColumnNames != nil && len(s.ColumnNames) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ColumnNames", 1)) + + if input == nil { + input = &UpdateMembershipInput{} } - if s.Function == nil { - invalidParams.Add(request.NewErrParamRequired("Function")) + + output = &UpdateMembershipOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMembership API operation for AWS Clean Rooms Service. +// +// Updates a membership. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Clean Rooms Service's +// API operation UpdateMembership for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateMembership +func (c *CleanRooms) UpdateMembership(input *UpdateMembershipInput) (*UpdateMembershipOutput, error) { + req, out := c.UpdateMembershipRequest(input) + return out, req.Send() +} + +// UpdateMembershipWithContext is the same as UpdateMembership with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMembership for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CleanRooms) UpdateMembershipWithContext(ctx aws.Context, input *UpdateMembershipInput, opts ...request.Option) (*UpdateMembershipOutput, error) { + req, out := c.UpdateMembershipRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePrivacyBudgetTemplate = "UpdatePrivacyBudgetTemplate" + +// UpdatePrivacyBudgetTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePrivacyBudgetTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdatePrivacyBudgetTemplate for more information on using the UpdatePrivacyBudgetTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdatePrivacyBudgetTemplateRequest method. +// req, resp := client.UpdatePrivacyBudgetTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdatePrivacyBudgetTemplate +func (c *CleanRooms) UpdatePrivacyBudgetTemplateRequest(input *UpdatePrivacyBudgetTemplateInput) (req *request.Request, output *UpdatePrivacyBudgetTemplateOutput) { + op := &request.Operation{ + Name: opUpdatePrivacyBudgetTemplate, + HTTPMethod: "PATCH", + HTTPPath: "/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", } - if invalidParams.Len() > 0 { - return invalidParams + if input == nil { + input = &UpdatePrivacyBudgetTemplateInput{} } - return nil + + output = &UpdatePrivacyBudgetTemplateOutput{} + req = c.newRequest(op, input, output) + return } -// SetColumnNames sets the ColumnNames field's value. -func (s *AggregateColumn) SetColumnNames(v []*string) *AggregateColumn { - s.ColumnNames = v +// UpdatePrivacyBudgetTemplate API operation for AWS Clean Rooms Service. +// +// Updates the privacy budget template for the specified membership. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Clean Rooms Service's +// API operation UpdatePrivacyBudgetTemplate for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdatePrivacyBudgetTemplate +func (c *CleanRooms) UpdatePrivacyBudgetTemplate(input *UpdatePrivacyBudgetTemplateInput) (*UpdatePrivacyBudgetTemplateOutput, error) { + req, out := c.UpdatePrivacyBudgetTemplateRequest(input) + return out, req.Send() +} + +// UpdatePrivacyBudgetTemplateWithContext is the same as UpdatePrivacyBudgetTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePrivacyBudgetTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CleanRooms) UpdatePrivacyBudgetTemplateWithContext(ctx aws.Context, input *UpdatePrivacyBudgetTemplateInput, opts ...request.Option) (*UpdatePrivacyBudgetTemplateOutput, error) { + req, out := c.UpdatePrivacyBudgetTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateProtectedQuery = "UpdateProtectedQuery" + +// UpdateProtectedQueryRequest generates a "aws/request.Request" representing the +// client's request for the UpdateProtectedQuery operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateProtectedQuery for more information on using the UpdateProtectedQuery +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateProtectedQueryRequest method. +// req, resp := client.UpdateProtectedQueryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateProtectedQuery +func (c *CleanRooms) UpdateProtectedQueryRequest(input *UpdateProtectedQueryInput) (req *request.Request, output *UpdateProtectedQueryOutput) { + op := &request.Operation{ + Name: opUpdateProtectedQuery, + HTTPMethod: "PATCH", + HTTPPath: "/memberships/{membershipIdentifier}/protectedQueries/{protectedQueryIdentifier}", + } + + if input == nil { + input = &UpdateProtectedQueryInput{} + } + + output = &UpdateProtectedQueryOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateProtectedQuery API operation for AWS Clean Rooms Service. +// +// Updates the processing of a currently running query. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Clean Rooms Service's +// API operation UpdateProtectedQuery for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateProtectedQuery +func (c *CleanRooms) UpdateProtectedQuery(input *UpdateProtectedQueryInput) (*UpdateProtectedQueryOutput, error) { + req, out := c.UpdateProtectedQueryRequest(input) + return out, req.Send() +} + +// UpdateProtectedQueryWithContext is the same as UpdateProtectedQuery with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateProtectedQuery for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CleanRooms) UpdateProtectedQueryWithContext(ctx aws.Context, input *UpdateProtectedQueryInput, opts ...request.Option) (*UpdateProtectedQueryOutput, error) { + req, out := c.UpdateProtectedQueryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Caller does 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"` + + // A reason code for the exception. + Reason *string `locationName:"reason" type:"string" enum:"AccessDeniedExceptionReason"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API 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\n%s", s.Code(), s.Message(), s.String()) +} + +// 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 +} + +// Column in configured table that can be used in aggregate function in query. +type AggregateColumn struct { + _ struct{} `type:"structure"` + + // Column names in configured table of aggregate columns. + // + // ColumnNames is a required field + ColumnNames []*string `locationName:"columnNames" min:"1" type:"list" required:"true"` + + // Aggregation function that can be applied to aggregate column in query. + // + // Function is a required field + Function *string `locationName:"function" type:"string" required:"true" enum:"AggregateFunctionName"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AggregateColumn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AggregateColumn) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AggregateColumn) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AggregateColumn"} + if s.ColumnNames == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnNames")) + } + if s.ColumnNames != nil && len(s.ColumnNames) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnNames", 1)) + } + if s.Function == nil { + invalidParams.Add(request.NewErrParamRequired("Function")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumnNames sets the ColumnNames field's value. +func (s *AggregateColumn) SetColumnNames(v []*string) *AggregateColumn { + s.ColumnNames = v + return s +} + +// SetFunction sets the Function field's value. +func (s *AggregateColumn) SetFunction(v string) *AggregateColumn { + s.Function = &v + return s +} + +// Constraint on query output removing output rows that do not meet a minimum +// number of distinct values of a specified column. +type AggregationConstraint struct { + _ struct{} `type:"structure"` + + // Column in aggregation constraint for which there must be a minimum number + // of distinct values in an output row for it to be in the query output. + // + // ColumnName is a required field + ColumnName *string `locationName:"columnName" min:"1" type:"string" required:"true"` + + // The minimum number of distinct values that an output row must be an aggregation + // of. Minimum threshold of distinct values for a specified column that must + // exist in an output row for it to be in the query output. + // + // Minimum is a required field + Minimum *int64 `locationName:"minimum" min:"2" type:"integer" required:"true"` + + // The type of aggregation the constraint allows. The only valid value is currently + // `COUNT_DISTINCT`. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"AggregationType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AggregationConstraint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AggregationConstraint) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AggregationConstraint) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AggregationConstraint"} + if s.ColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnName")) + } + if s.ColumnName != nil && len(*s.ColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + } + if s.Minimum == nil { + invalidParams.Add(request.NewErrParamRequired("Minimum")) + } + if s.Minimum != nil && *s.Minimum < 2 { + invalidParams.Add(request.NewErrParamMinValue("Minimum", 2)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumnName sets the ColumnName field's value. +func (s *AggregationConstraint) SetColumnName(v string) *AggregationConstraint { + s.ColumnName = &v + return s +} + +// SetMinimum sets the Minimum field's value. +func (s *AggregationConstraint) SetMinimum(v int64) *AggregationConstraint { + s.Minimum = &v + return s +} + +// SetType sets the Type field's value. +func (s *AggregationConstraint) SetType(v string) *AggregationConstraint { + s.Type = &v + return s +} + +// Optional. The member who can query can provide this placeholder for a literal +// data value in an analysis template. +type AnalysisParameter struct { + _ struct{} `type:"structure" sensitive:"true"` + + // Optional. The default value that is applied in the analysis template. The + // member who can query can override this value in the query editor. + DefaultValue *string `locationName:"defaultValue" type:"string"` + + // The name of the parameter. The name must use only alphanumeric, underscore + // (_), or hyphen (-) characters but cannot start or end with a hyphen. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The type of parameter. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ParameterType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisParameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisParameter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AnalysisParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AnalysisParameter"} + 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 +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *AnalysisParameter) SetDefaultValue(v string) *AnalysisParameter { + s.DefaultValue = &v + return s +} + +// SetName sets the Name field's value. +func (s *AnalysisParameter) SetName(v string) *AnalysisParameter { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *AnalysisParameter) SetType(v string) *AnalysisParameter { + s.Type = &v + return s +} + +// A specification about how data from the configured table can be used in a +// query. +type AnalysisRule struct { + _ struct{} `type:"structure"` + + // The unique ID for the associated collaboration. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time the analysis rule was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The name for the analysis rule. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // A policy that describes the associated data usage limitations. + // + // Policy is a required field + Policy *AnalysisRulePolicy `locationName:"policy" type:"structure" required:"true"` + + // The type of analysis rule. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"AnalysisRuleType"` + + // The time the analysis rule was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRule) GoString() string { + return s.String() +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *AnalysisRule) SetCollaborationId(v string) *AnalysisRule { + s.CollaborationId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *AnalysisRule) SetCreateTime(v time.Time) *AnalysisRule { + s.CreateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *AnalysisRule) SetName(v string) *AnalysisRule { + s.Name = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *AnalysisRule) SetPolicy(v *AnalysisRulePolicy) *AnalysisRule { + s.Policy = v + return s +} + +// SetType sets the Type field's value. +func (s *AnalysisRule) SetType(v string) *AnalysisRule { + s.Type = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *AnalysisRule) SetUpdateTime(v time.Time) *AnalysisRule { + s.UpdateTime = &v + return s +} + +// A type of analysis rule that enables query structure and specified queries +// that produce aggregate statistics. +type AnalysisRuleAggregation struct { + _ struct{} `type:"structure"` + + // The columns that query runners are allowed to use in aggregation queries. + // + // AggregateColumns is a required field + AggregateColumns []*AggregateColumn `locationName:"aggregateColumns" min:"1" type:"list" required:"true"` + + // Which logical operators (if any) are to be used in an INNER JOIN match condition. + // Default is AND. + AllowedJoinOperators []*string `locationName:"allowedJoinOperators" type:"list" enum:"JoinOperator"` + + // The columns that query runners are allowed to select, group by, or filter + // by. + // + // DimensionColumns is a required field + DimensionColumns []*string `locationName:"dimensionColumns" type:"list" required:"true"` + + // Columns in configured table that can be used in join statements and/or as + // aggregate columns. They can never be outputted directly. + // + // JoinColumns is a required field + JoinColumns []*string `locationName:"joinColumns" type:"list" required:"true"` + + // Control that requires member who runs query to do a join with their configured + // table and/or other configured table in query. + JoinRequired *string `locationName:"joinRequired" type:"string" enum:"JoinRequiredOption"` + + // Columns that must meet a specific threshold value (after an aggregation function + // is applied to it) for each output row to be returned. + // + // OutputConstraints is a required field + OutputConstraints []*AggregationConstraint `locationName:"outputConstraints" min:"1" type:"list" required:"true"` + + // Set of scalar functions that are allowed to be used on dimension columns + // and the output of aggregation of metrics. + // + // ScalarFunctions is a required field + ScalarFunctions []*string `locationName:"scalarFunctions" type:"list" required:"true" enum:"ScalarFunctions"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRuleAggregation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRuleAggregation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AnalysisRuleAggregation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AnalysisRuleAggregation"} + if s.AggregateColumns == nil { + invalidParams.Add(request.NewErrParamRequired("AggregateColumns")) + } + if s.AggregateColumns != nil && len(s.AggregateColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AggregateColumns", 1)) + } + if s.DimensionColumns == nil { + invalidParams.Add(request.NewErrParamRequired("DimensionColumns")) + } + if s.JoinColumns == nil { + invalidParams.Add(request.NewErrParamRequired("JoinColumns")) + } + if s.OutputConstraints == nil { + invalidParams.Add(request.NewErrParamRequired("OutputConstraints")) + } + if s.OutputConstraints != nil && len(s.OutputConstraints) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OutputConstraints", 1)) + } + if s.ScalarFunctions == nil { + invalidParams.Add(request.NewErrParamRequired("ScalarFunctions")) + } + if s.AggregateColumns != nil { + for i, v := range s.AggregateColumns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AggregateColumns", i), err.(request.ErrInvalidParams)) + } + } + } + if s.OutputConstraints != nil { + for i, v := range s.OutputConstraints { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputConstraints", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAggregateColumns sets the AggregateColumns field's value. +func (s *AnalysisRuleAggregation) SetAggregateColumns(v []*AggregateColumn) *AnalysisRuleAggregation { + s.AggregateColumns = v + return s +} + +// SetAllowedJoinOperators sets the AllowedJoinOperators field's value. +func (s *AnalysisRuleAggregation) SetAllowedJoinOperators(v []*string) *AnalysisRuleAggregation { + s.AllowedJoinOperators = v + return s +} + +// SetDimensionColumns sets the DimensionColumns field's value. +func (s *AnalysisRuleAggregation) SetDimensionColumns(v []*string) *AnalysisRuleAggregation { + s.DimensionColumns = v + return s +} + +// SetJoinColumns sets the JoinColumns field's value. +func (s *AnalysisRuleAggregation) SetJoinColumns(v []*string) *AnalysisRuleAggregation { + s.JoinColumns = v + return s +} + +// SetJoinRequired sets the JoinRequired field's value. +func (s *AnalysisRuleAggregation) SetJoinRequired(v string) *AnalysisRuleAggregation { + s.JoinRequired = &v + return s +} + +// SetOutputConstraints sets the OutputConstraints field's value. +func (s *AnalysisRuleAggregation) SetOutputConstraints(v []*AggregationConstraint) *AnalysisRuleAggregation { + s.OutputConstraints = v + return s +} + +// SetScalarFunctions sets the ScalarFunctions field's value. +func (s *AnalysisRuleAggregation) SetScalarFunctions(v []*string) *AnalysisRuleAggregation { + s.ScalarFunctions = v + return s +} + +// A type of analysis rule that enables the table owner to approve custom SQL +// queries on their configured tables. It supports differential privacy. +type AnalysisRuleCustom struct { + _ struct{} `type:"structure"` + + // The ARN of the analysis templates that are allowed by the custom analysis + // rule. + // + // AllowedAnalyses is a required field + AllowedAnalyses []*string `locationName:"allowedAnalyses" type:"list" required:"true"` + + // The IDs of the Amazon Web Services accounts that are allowed to query by + // the custom analysis rule. Required when allowedAnalyses is ANY_QUERY. + AllowedAnalysisProviders []*string `locationName:"allowedAnalysisProviders" type:"list"` + + // The differential privacy configuration. + DifferentialPrivacy *DifferentialPrivacyConfiguration `locationName:"differentialPrivacy" 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 AnalysisRuleCustom) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRuleCustom) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AnalysisRuleCustom) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AnalysisRuleCustom"} + if s.AllowedAnalyses == nil { + invalidParams.Add(request.NewErrParamRequired("AllowedAnalyses")) + } + if s.DifferentialPrivacy != nil { + if err := s.DifferentialPrivacy.Validate(); err != nil { + invalidParams.AddNested("DifferentialPrivacy", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowedAnalyses sets the AllowedAnalyses field's value. +func (s *AnalysisRuleCustom) SetAllowedAnalyses(v []*string) *AnalysisRuleCustom { + s.AllowedAnalyses = v + return s +} + +// SetAllowedAnalysisProviders sets the AllowedAnalysisProviders field's value. +func (s *AnalysisRuleCustom) SetAllowedAnalysisProviders(v []*string) *AnalysisRuleCustom { + s.AllowedAnalysisProviders = v + return s +} + +// SetDifferentialPrivacy sets the DifferentialPrivacy field's value. +func (s *AnalysisRuleCustom) SetDifferentialPrivacy(v *DifferentialPrivacyConfiguration) *AnalysisRuleCustom { + s.DifferentialPrivacy = v + return s +} + +// Defines details for the analysis rule ID mapping table. +type AnalysisRuleIdMappingTable struct { + _ struct{} `type:"structure"` + + // The columns that query runners are allowed to select, group by, or filter + // by. + DimensionColumns []*string `locationName:"dimensionColumns" type:"list"` + + // The columns that query runners are allowed to use in an INNER JOIN statement. + // + // JoinColumns is a required field + JoinColumns []*string `locationName:"joinColumns" min:"2" type:"list" required:"true"` + + // The query constraints of the analysis rule ID mapping table. + // + // QueryConstraints is a required field + QueryConstraints []*QueryConstraint `locationName:"queryConstraints" 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 AnalysisRuleIdMappingTable) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRuleIdMappingTable) GoString() string { + return s.String() +} + +// SetDimensionColumns sets the DimensionColumns field's value. +func (s *AnalysisRuleIdMappingTable) SetDimensionColumns(v []*string) *AnalysisRuleIdMappingTable { + s.DimensionColumns = v + return s +} + +// SetJoinColumns sets the JoinColumns field's value. +func (s *AnalysisRuleIdMappingTable) SetJoinColumns(v []*string) *AnalysisRuleIdMappingTable { + s.JoinColumns = v + return s +} + +// SetQueryConstraints sets the QueryConstraints field's value. +func (s *AnalysisRuleIdMappingTable) SetQueryConstraints(v []*QueryConstraint) *AnalysisRuleIdMappingTable { + s.QueryConstraints = v + return s +} + +// A type of analysis rule that enables row-level analysis. +type AnalysisRuleList struct { + _ struct{} `type:"structure"` + + // The logical operators (if any) that are to be used in an INNER JOIN match + // condition. Default is AND. + AllowedJoinOperators []*string `locationName:"allowedJoinOperators" type:"list" enum:"JoinOperator"` + + // Columns that can be used to join a configured table with the table of the + // member who can query and other members' configured tables. + // + // JoinColumns is a required field + JoinColumns []*string `locationName:"joinColumns" min:"1" type:"list" required:"true"` + + // Columns that can be listed in the output. + // + // ListColumns is a required field + ListColumns []*string `locationName:"listColumns" 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 AnalysisRuleList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRuleList) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AnalysisRuleList) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AnalysisRuleList"} + if s.JoinColumns == nil { + invalidParams.Add(request.NewErrParamRequired("JoinColumns")) + } + if s.JoinColumns != nil && len(s.JoinColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JoinColumns", 1)) + } + if s.ListColumns == nil { + invalidParams.Add(request.NewErrParamRequired("ListColumns")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowedJoinOperators sets the AllowedJoinOperators field's value. +func (s *AnalysisRuleList) SetAllowedJoinOperators(v []*string) *AnalysisRuleList { + s.AllowedJoinOperators = v + return s +} + +// SetJoinColumns sets the JoinColumns field's value. +func (s *AnalysisRuleList) SetJoinColumns(v []*string) *AnalysisRuleList { + s.JoinColumns = v + return s +} + +// SetListColumns sets the ListColumns field's value. +func (s *AnalysisRuleList) SetListColumns(v []*string) *AnalysisRuleList { + s.ListColumns = v + return s +} + +// Controls on the query specifications that can be run on configured table. +type AnalysisRulePolicy struct { + _ struct{} `type:"structure"` + + // Controls on the query specifications that can be run on configured table. + V1 *AnalysisRulePolicyV1 `locationName:"v1" 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 AnalysisRulePolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRulePolicy) GoString() string { + return s.String() +} + +// SetV1 sets the V1 field's value. +func (s *AnalysisRulePolicy) SetV1(v *AnalysisRulePolicyV1) *AnalysisRulePolicy { + s.V1 = v + return s +} + +// Controls on the query specifications that can be run on configured table. +type AnalysisRulePolicyV1 struct { + _ struct{} `type:"structure"` + + // Analysis rule type that enables only aggregation queries on a configured + // table. + Aggregation *AnalysisRuleAggregation `locationName:"aggregation" type:"structure"` + + // Analysis rule type that enables custom SQL queries on a configured table. + Custom *AnalysisRuleCustom `locationName:"custom" type:"structure"` + + // The ID mapping table. + IdMappingTable *AnalysisRuleIdMappingTable `locationName:"idMappingTable" type:"structure"` + + // Analysis rule type that enables only list queries on a configured table. + List *AnalysisRuleList `locationName:"list" 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 AnalysisRulePolicyV1) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRulePolicyV1) GoString() string { + return s.String() +} + +// SetAggregation sets the Aggregation field's value. +func (s *AnalysisRulePolicyV1) SetAggregation(v *AnalysisRuleAggregation) *AnalysisRulePolicyV1 { + s.Aggregation = v + return s +} + +// SetCustom sets the Custom field's value. +func (s *AnalysisRulePolicyV1) SetCustom(v *AnalysisRuleCustom) *AnalysisRulePolicyV1 { + s.Custom = v + return s +} + +// SetIdMappingTable sets the IdMappingTable field's value. +func (s *AnalysisRulePolicyV1) SetIdMappingTable(v *AnalysisRuleIdMappingTable) *AnalysisRulePolicyV1 { + s.IdMappingTable = v + return s +} + +// SetList sets the List field's value. +func (s *AnalysisRulePolicyV1) SetList(v *AnalysisRuleList) *AnalysisRulePolicyV1 { + s.List = v + return s +} + +// A relation within an analysis. +type AnalysisSchema struct { + _ struct{} `type:"structure"` + + // The tables referenced in the analysis schema. + ReferencedTables []*string `locationName:"referencedTables" 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 AnalysisSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisSchema) GoString() string { + return s.String() +} + +// SetReferencedTables sets the ReferencedTables field's value. +func (s *AnalysisSchema) SetReferencedTables(v []*string) *AnalysisSchema { + s.ReferencedTables = v + return s +} + +// The structure that defines the body of the analysis template. +type AnalysisSource struct { + _ struct{} `type:"structure" sensitive:"true"` + + // The query text. + Text *string `locationName:"text" 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 AnalysisSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisSource) GoString() string { + return s.String() +} + +// SetText sets the Text field's value. +func (s *AnalysisSource) SetText(v string) *AnalysisSource { + s.Text = &v + return s +} + +// The analysis template. +type AnalysisTemplate struct { + _ struct{} `type:"structure"` + + // The parameters of the analysis template. + AnalysisParameters []*AnalysisParameter `locationName:"analysisParameters" type:"list" sensitive:"true"` + + // The Amazon Resource Name (ARN) of the analysis template. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The unique ARN for the analysis template’s associated collaboration. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // The unique ID for the associated collaboration of the analysis template. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time that the analysis template was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The description of the analysis template. + Description *string `locationName:"description" type:"string"` + + // The format of the analysis template. + // + // Format is a required field + Format *string `locationName:"format" type:"string" required:"true" enum:"AnalysisFormat"` + + // The identifier for the analysis template. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the member who created the analysis template. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + + // The identifier of a member who created the analysis template. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + + // The name of the analysis template. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The entire schema object. + // + // Schema is a required field + Schema *AnalysisSchema `locationName:"schema" type:"structure" required:"true"` + + // The source of the analysis template. + // + // Source is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by AnalysisTemplate's + // String and GoString methods. + // + // Source is a required field + Source *AnalysisSource `locationName:"source" type:"structure" required:"true" sensitive:"true"` + + // The time that the analysis template was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + + // Information about the validations performed on the analysis template. + Validations []*AnalysisTemplateValidationStatusDetail `locationName:"validations" 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 AnalysisTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisTemplate) GoString() string { + return s.String() +} + +// SetAnalysisParameters sets the AnalysisParameters field's value. +func (s *AnalysisTemplate) SetAnalysisParameters(v []*AnalysisParameter) *AnalysisTemplate { + s.AnalysisParameters = v + return s +} + +// SetArn sets the Arn field's value. +func (s *AnalysisTemplate) SetArn(v string) *AnalysisTemplate { + s.Arn = &v + return s +} + +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *AnalysisTemplate) SetCollaborationArn(v string) *AnalysisTemplate { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *AnalysisTemplate) SetCollaborationId(v string) *AnalysisTemplate { + s.CollaborationId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *AnalysisTemplate) SetCreateTime(v time.Time) *AnalysisTemplate { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AnalysisTemplate) SetDescription(v string) *AnalysisTemplate { + s.Description = &v + return s +} + +// SetFormat sets the Format field's value. +func (s *AnalysisTemplate) SetFormat(v string) *AnalysisTemplate { + s.Format = &v + return s +} + +// SetId sets the Id field's value. +func (s *AnalysisTemplate) SetId(v string) *AnalysisTemplate { + s.Id = &v + return s +} + +// SetMembershipArn sets the MembershipArn field's value. +func (s *AnalysisTemplate) SetMembershipArn(v string) *AnalysisTemplate { + s.MembershipArn = &v + return s +} + +// SetMembershipId sets the MembershipId field's value. +func (s *AnalysisTemplate) SetMembershipId(v string) *AnalysisTemplate { + s.MembershipId = &v + return s +} + +// SetName sets the Name field's value. +func (s *AnalysisTemplate) SetName(v string) *AnalysisTemplate { + s.Name = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *AnalysisTemplate) SetSchema(v *AnalysisSchema) *AnalysisTemplate { + s.Schema = v + return s +} + +// SetSource sets the Source field's value. +func (s *AnalysisTemplate) SetSource(v *AnalysisSource) *AnalysisTemplate { + s.Source = v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *AnalysisTemplate) SetUpdateTime(v time.Time) *AnalysisTemplate { + s.UpdateTime = &v + return s +} + +// SetValidations sets the Validations field's value. +func (s *AnalysisTemplate) SetValidations(v []*AnalysisTemplateValidationStatusDetail) *AnalysisTemplate { + s.Validations = v + return s +} + +// The metadata of the analysis template. +type AnalysisTemplateSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the analysis template. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The unique ARN for the analysis template summary’s associated collaboration. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // A unique identifier for the collaboration that the analysis template summary + // belongs to. Currently accepts collaboration ID. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time that the analysis template summary was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The description of the analysis template. + Description *string `locationName:"description" type:"string"` + + // The identifier of the analysis template. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the member who created the analysis template. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + + // The identifier for a membership resource. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + + // The name of the analysis template. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The time that the analysis template summary was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisTemplateSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisTemplateSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *AnalysisTemplateSummary) SetArn(v string) *AnalysisTemplateSummary { + s.Arn = &v + return s +} + +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *AnalysisTemplateSummary) SetCollaborationArn(v string) *AnalysisTemplateSummary { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *AnalysisTemplateSummary) SetCollaborationId(v string) *AnalysisTemplateSummary { + s.CollaborationId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *AnalysisTemplateSummary) SetCreateTime(v time.Time) *AnalysisTemplateSummary { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AnalysisTemplateSummary) SetDescription(v string) *AnalysisTemplateSummary { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *AnalysisTemplateSummary) SetId(v string) *AnalysisTemplateSummary { + s.Id = &v + return s +} + +// SetMembershipArn sets the MembershipArn field's value. +func (s *AnalysisTemplateSummary) SetMembershipArn(v string) *AnalysisTemplateSummary { + s.MembershipArn = &v + return s +} + +// SetMembershipId sets the MembershipId field's value. +func (s *AnalysisTemplateSummary) SetMembershipId(v string) *AnalysisTemplateSummary { + s.MembershipId = &v + return s +} + +// SetName sets the Name field's value. +func (s *AnalysisTemplateSummary) SetName(v string) *AnalysisTemplateSummary { + s.Name = &v return s } -// SetFunction sets the Function field's value. -func (s *AggregateColumn) SetFunction(v string) *AggregateColumn { - s.Function = &v +// SetUpdateTime sets the UpdateTime field's value. +func (s *AnalysisTemplateSummary) SetUpdateTime(v time.Time) *AnalysisTemplateSummary { + s.UpdateTime = &v return s } -// Constraint on query output removing output rows that do not meet a minimum -// number of distinct values of a specified column. -type AggregationConstraint struct { +// The status details of the analysis template validation. Clean Rooms Differential +// Privacy uses a general-purpose query structure to support complex SQL queries +// and validates whether an analysis template fits that general-purpose query +// structure. Validation is performed when analysis templates are created and +// fetched. Because analysis templates are immutable by design, we recommend +// that you create analysis templates after you associate the configured tables +// with their analysis rule to your collaboration. +// +// For more information, see https://docs.aws.amazon.com/clean-rooms/latest/userguide/analysis-rules-custom.html#custom-diff-privacy +// (https://docs.aws.amazon.com/clean-rooms/latest/userguide/analysis-rules-custom.html#custom-diff-privacy). +type AnalysisTemplateValidationStatusDetail struct { _ struct{} `type:"structure"` - // Column in aggregation constraint for which there must be a minimum number - // of distinct values in an output row for it to be in the query output. - // - // ColumnName is a required field - ColumnName *string `locationName:"columnName" min:"1" type:"string" required:"true"` + // The reasons for the validation results. + Reasons []*AnalysisTemplateValidationStatusReason `locationName:"reasons" type:"list"` - // The minimum number of distinct values that an output row must be an aggregation - // of. Minimum threshold of distinct values for a specified column that must - // exist in an output row for it to be in the query output. + // The status of the validation. // - // Minimum is a required field - Minimum *int64 `locationName:"minimum" min:"2" type:"integer" required:"true"` + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"AnalysisTemplateValidationStatus"` - // The type of aggregation the constraint allows. The only valid value is currently - // `COUNT_DISTINCT`. + // The type of validation that was performed. // // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"AggregationType"` + Type *string `locationName:"type" type:"string" required:"true" enum:"AnalysisTemplateValidationType"` } // String returns the string representation. @@ -6817,7 +8903,7 @@ type AggregationConstraint 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 AggregationConstraint) String() string { +func (s AnalysisTemplateValidationStatusDetail) String() string { return awsutil.Prettify(s) } @@ -6826,72 +8912,36 @@ func (s AggregationConstraint) 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 AggregationConstraint) GoString() string { +func (s AnalysisTemplateValidationStatusDetail) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AggregationConstraint) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AggregationConstraint"} - if s.ColumnName == nil { - invalidParams.Add(request.NewErrParamRequired("ColumnName")) - } - if s.ColumnName != nil && len(*s.ColumnName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) - } - if s.Minimum == nil { - invalidParams.Add(request.NewErrParamRequired("Minimum")) - } - if s.Minimum != nil && *s.Minimum < 2 { - invalidParams.Add(request.NewErrParamMinValue("Minimum", 2)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetColumnName sets the ColumnName field's value. -func (s *AggregationConstraint) SetColumnName(v string) *AggregationConstraint { - s.ColumnName = &v +// SetReasons sets the Reasons field's value. +func (s *AnalysisTemplateValidationStatusDetail) SetReasons(v []*AnalysisTemplateValidationStatusReason) *AnalysisTemplateValidationStatusDetail { + s.Reasons = v return s } -// SetMinimum sets the Minimum field's value. -func (s *AggregationConstraint) SetMinimum(v int64) *AggregationConstraint { - s.Minimum = &v +// SetStatus sets the Status field's value. +func (s *AnalysisTemplateValidationStatusDetail) SetStatus(v string) *AnalysisTemplateValidationStatusDetail { + s.Status = &v return s } // SetType sets the Type field's value. -func (s *AggregationConstraint) SetType(v string) *AggregationConstraint { +func (s *AnalysisTemplateValidationStatusDetail) SetType(v string) *AnalysisTemplateValidationStatusDetail { s.Type = &v return s } -// Optional. The member who can query can provide this placeholder for a literal -// data value in an analysis template. -type AnalysisParameter struct { - _ struct{} `type:"structure" sensitive:"true"` - - // Optional. The default value that is applied in the analysis template. The - // member who can query can override this value in the query editor. - DefaultValue *string `locationName:"defaultValue" type:"string"` - - // The name of the parameter. The name must use only alphanumeric, underscore - // (_), or hyphen (-) characters but cannot start or end with a hyphen. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` +// The reasons for the validation results. +type AnalysisTemplateValidationStatusReason struct { + _ struct{} `type:"structure"` - // The type of parameter. + // The validation message. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"ParameterType"` + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` } // String returns the string representation. @@ -6899,7 +8949,7 @@ type AnalysisParameter 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 AnalysisParameter) String() string { +func (s AnalysisTemplateValidationStatusReason) String() string { return awsutil.Prettify(s) } @@ -6908,81 +8958,35 @@ func (s AnalysisParameter) 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 AnalysisParameter) GoString() string { +func (s AnalysisTemplateValidationStatusReason) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AnalysisParameter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AnalysisParameter"} - 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 -} - -// SetDefaultValue sets the DefaultValue field's value. -func (s *AnalysisParameter) SetDefaultValue(v string) *AnalysisParameter { - s.DefaultValue = &v - return s -} - -// SetName sets the Name field's value. -func (s *AnalysisParameter) SetName(v string) *AnalysisParameter { - s.Name = &v - return s -} - -// SetType sets the Type field's value. -func (s *AnalysisParameter) SetType(v string) *AnalysisParameter { - s.Type = &v +// SetMessage sets the Message field's value. +func (s *AnalysisTemplateValidationStatusReason) SetMessage(v string) *AnalysisTemplateValidationStatusReason { + s.Message = &v return s } -// A specification about how data from the configured table can be used in a -// query. -type AnalysisRule struct { +// Details of errors thrown by the call to retrieve multiple analysis templates +// within a collaboration by their identifiers. +type BatchGetCollaborationAnalysisTemplateError struct { _ struct{} `type:"structure"` - // The unique ID for the associated collaboration. - // - // CollaborationId is a required field - CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` - - // The time the analysis rule was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - - // The name for the analysis rule. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` - - // A policy that describes the associated data usage limitations. + // The Amazon Resource Name (ARN) of the analysis template. // - // Policy is a required field - Policy *AnalysisRulePolicy `locationName:"policy" type:"structure" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` - // The type of analysis rule. + // An error code for the error. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"AnalysisRuleType"` + // Code is a required field + Code *string `locationName:"code" type:"string" required:"true"` - // The time the analysis rule was last updated. + // A description of why the call failed. // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` } // String returns the string representation. @@ -6990,7 +8994,7 @@ type AnalysisRule 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 AnalysisRule) String() string { +func (s BatchGetCollaborationAnalysisTemplateError) String() string { return awsutil.Prettify(s) } @@ -6999,87 +9003,42 @@ func (s AnalysisRule) 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 AnalysisRule) GoString() string { +func (s BatchGetCollaborationAnalysisTemplateError) GoString() string { return s.String() } -// SetCollaborationId sets the CollaborationId field's value. -func (s *AnalysisRule) SetCollaborationId(v string) *AnalysisRule { - s.CollaborationId = &v - return s -} - -// SetCreateTime sets the CreateTime field's value. -func (s *AnalysisRule) SetCreateTime(v time.Time) *AnalysisRule { - s.CreateTime = &v - return s -} - -// SetName sets the Name field's value. -func (s *AnalysisRule) SetName(v string) *AnalysisRule { - s.Name = &v - return s -} - -// SetPolicy sets the Policy field's value. -func (s *AnalysisRule) SetPolicy(v *AnalysisRulePolicy) *AnalysisRule { - s.Policy = v +// SetArn sets the Arn field's value. +func (s *BatchGetCollaborationAnalysisTemplateError) SetArn(v string) *BatchGetCollaborationAnalysisTemplateError { + s.Arn = &v return s } -// SetType sets the Type field's value. -func (s *AnalysisRule) SetType(v string) *AnalysisRule { - s.Type = &v +// SetCode sets the Code field's value. +func (s *BatchGetCollaborationAnalysisTemplateError) SetCode(v string) *BatchGetCollaborationAnalysisTemplateError { + s.Code = &v return s } -// SetUpdateTime sets the UpdateTime field's value. -func (s *AnalysisRule) SetUpdateTime(v time.Time) *AnalysisRule { - s.UpdateTime = &v +// SetMessage sets the Message field's value. +func (s *BatchGetCollaborationAnalysisTemplateError) SetMessage(v string) *BatchGetCollaborationAnalysisTemplateError { + s.Message = &v return s } -// A type of analysis rule that enables query structure and specified queries -// that produce aggregate statistics. -type AnalysisRuleAggregation struct { - _ struct{} `type:"structure"` - - // The columns that query runners are allowed to use in aggregation queries. - // - // AggregateColumns is a required field - AggregateColumns []*AggregateColumn `locationName:"aggregateColumns" min:"1" type:"list" required:"true"` - - // Which logical operators (if any) are to be used in an INNER JOIN match condition. - // Default is AND. - AllowedJoinOperators []*string `locationName:"allowedJoinOperators" type:"list" enum:"JoinOperator"` - - // The columns that query runners are allowed to select, group by, or filter - // by. - // - // DimensionColumns is a required field - DimensionColumns []*string `locationName:"dimensionColumns" type:"list" required:"true"` - - // Columns in configured table that can be used in join statements and/or as - // aggregate columns. They can never be outputted directly. - // - // JoinColumns is a required field - JoinColumns []*string `locationName:"joinColumns" type:"list" required:"true"` - - // Control that requires member who runs query to do a join with their configured - // table and/or other configured table in query. - JoinRequired *string `locationName:"joinRequired" type:"string" enum:"JoinRequiredOption"` +type BatchGetCollaborationAnalysisTemplateInput struct { + _ struct{} `type:"structure"` - // Columns that must meet a specific threshold value (after an aggregation function - // is applied to it) for each output row to be returned. + // The Amazon Resource Name (ARN) associated with the analysis template within + // a collaboration. // - // OutputConstraints is a required field - OutputConstraints []*AggregationConstraint `locationName:"outputConstraints" min:"1" type:"list" required:"true"` + // AnalysisTemplateArns is a required field + AnalysisTemplateArns []*string `locationName:"analysisTemplateArns" min:"1" type:"list" required:"true"` - // Set of scalar functions that are allowed to be used on dimension columns - // and the output of aggregation of metrics. + // A unique identifier for the collaboration that the analysis templates belong + // to. Currently accepts collaboration ID. // - // ScalarFunctions is a required field - ScalarFunctions []*string `locationName:"scalarFunctions" type:"list" required:"true" enum:"ScalarFunctions"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -7087,7 +9046,7 @@ type AnalysisRuleAggregation 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 AnalysisRuleAggregation) String() string { +func (s BatchGetCollaborationAnalysisTemplateInput) String() string { return awsutil.Prettify(s) } @@ -7096,53 +9055,24 @@ func (s AnalysisRuleAggregation) 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 AnalysisRuleAggregation) GoString() string { +func (s BatchGetCollaborationAnalysisTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AnalysisRuleAggregation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AnalysisRuleAggregation"} - if s.AggregateColumns == nil { - invalidParams.Add(request.NewErrParamRequired("AggregateColumns")) - } - if s.AggregateColumns != nil && len(s.AggregateColumns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AggregateColumns", 1)) - } - if s.DimensionColumns == nil { - invalidParams.Add(request.NewErrParamRequired("DimensionColumns")) - } - if s.JoinColumns == nil { - invalidParams.Add(request.NewErrParamRequired("JoinColumns")) - } - if s.OutputConstraints == nil { - invalidParams.Add(request.NewErrParamRequired("OutputConstraints")) - } - if s.OutputConstraints != nil && len(s.OutputConstraints) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OutputConstraints", 1)) +func (s *BatchGetCollaborationAnalysisTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetCollaborationAnalysisTemplateInput"} + if s.AnalysisTemplateArns == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateArns")) } - if s.ScalarFunctions == nil { - invalidParams.Add(request.NewErrParamRequired("ScalarFunctions")) + if s.AnalysisTemplateArns != nil && len(s.AnalysisTemplateArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateArns", 1)) } - if s.AggregateColumns != nil { - for i, v := range s.AggregateColumns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AggregateColumns", i), err.(request.ErrInvalidParams)) - } - } + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.OutputConstraints != nil { - for i, v := range s.OutputConstraints { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputConstraints", i), err.(request.ErrInvalidParams)) - } - } + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -7151,65 +9081,87 @@ func (s *AnalysisRuleAggregation) Validate() error { return nil } -// SetAggregateColumns sets the AggregateColumns field's value. -func (s *AnalysisRuleAggregation) SetAggregateColumns(v []*AggregateColumn) *AnalysisRuleAggregation { - s.AggregateColumns = v +// SetAnalysisTemplateArns sets the AnalysisTemplateArns field's value. +func (s *BatchGetCollaborationAnalysisTemplateInput) SetAnalysisTemplateArns(v []*string) *BatchGetCollaborationAnalysisTemplateInput { + s.AnalysisTemplateArns = v return s } -// SetAllowedJoinOperators sets the AllowedJoinOperators field's value. -func (s *AnalysisRuleAggregation) SetAllowedJoinOperators(v []*string) *AnalysisRuleAggregation { - s.AllowedJoinOperators = v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *BatchGetCollaborationAnalysisTemplateInput) SetCollaborationIdentifier(v string) *BatchGetCollaborationAnalysisTemplateInput { + s.CollaborationIdentifier = &v return s } -// SetDimensionColumns sets the DimensionColumns field's value. -func (s *AnalysisRuleAggregation) SetDimensionColumns(v []*string) *AnalysisRuleAggregation { - s.DimensionColumns = v - return s +type BatchGetCollaborationAnalysisTemplateOutput struct { + _ struct{} `type:"structure"` + + // The retrieved list of analysis templates within a collaboration. + // + // CollaborationAnalysisTemplates is a required field + CollaborationAnalysisTemplates []*CollaborationAnalysisTemplate `locationName:"collaborationAnalysisTemplates" type:"list" required:"true"` + + // Error reasons for collaboration analysis templates that could not be retrieved. + // One error is returned for every collaboration analysis template that could + // not be retrieved. + // + // Errors is a required field + Errors []*BatchGetCollaborationAnalysisTemplateError `locationName:"errors" type:"list" required:"true"` } -// SetJoinColumns sets the JoinColumns field's value. -func (s *AnalysisRuleAggregation) SetJoinColumns(v []*string) *AnalysisRuleAggregation { - s.JoinColumns = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetCollaborationAnalysisTemplateOutput) String() string { + return awsutil.Prettify(s) } -// SetJoinRequired sets the JoinRequired field's value. -func (s *AnalysisRuleAggregation) SetJoinRequired(v string) *AnalysisRuleAggregation { - s.JoinRequired = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetCollaborationAnalysisTemplateOutput) GoString() string { + return s.String() } -// SetOutputConstraints sets the OutputConstraints field's value. -func (s *AnalysisRuleAggregation) SetOutputConstraints(v []*AggregationConstraint) *AnalysisRuleAggregation { - s.OutputConstraints = v +// SetCollaborationAnalysisTemplates sets the CollaborationAnalysisTemplates field's value. +func (s *BatchGetCollaborationAnalysisTemplateOutput) SetCollaborationAnalysisTemplates(v []*CollaborationAnalysisTemplate) *BatchGetCollaborationAnalysisTemplateOutput { + s.CollaborationAnalysisTemplates = v return s } -// SetScalarFunctions sets the ScalarFunctions field's value. -func (s *AnalysisRuleAggregation) SetScalarFunctions(v []*string) *AnalysisRuleAggregation { - s.ScalarFunctions = v +// SetErrors sets the Errors field's value. +func (s *BatchGetCollaborationAnalysisTemplateOutput) SetErrors(v []*BatchGetCollaborationAnalysisTemplateError) *BatchGetCollaborationAnalysisTemplateOutput { + s.Errors = v return s } -// A type of analysis rule that enables the table owner to approve custom SQL -// queries on their configured tables. It supports differential privacy. -type AnalysisRuleCustom struct { +// An error that describes why a schema could not be fetched. +type BatchGetSchemaAnalysisRuleError struct { _ struct{} `type:"structure"` - // The ARN of the analysis templates that are allowed by the custom analysis - // rule. + // An error code for the error. // - // AllowedAnalyses is a required field - AllowedAnalyses []*string `locationName:"allowedAnalyses" type:"list" required:"true"` + // Code is a required field + Code *string `locationName:"code" type:"string" required:"true"` - // The IDs of the Amazon Web Services accounts that are allowed to query by - // the custom analysis rule. Required when allowedAnalyses is ANY_QUERY. - AllowedAnalysisProviders []*string `locationName:"allowedAnalysisProviders" type:"list"` + // A description of why the call failed. + // + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` - // The differential privacy configuration. - DifferentialPrivacy *DifferentialPrivacyConfiguration `locationName:"differentialPrivacy" type:"structure"` + // An error name for the error. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The analysis rule type. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"AnalysisRuleType"` } // String returns the string representation. @@ -7217,7 +9169,7 @@ type AnalysisRuleCustom 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 AnalysisRuleCustom) String() string { +func (s BatchGetSchemaAnalysisRuleError) String() string { return awsutil.Prettify(s) } @@ -7226,64 +9178,47 @@ func (s AnalysisRuleCustom) 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 AnalysisRuleCustom) GoString() string { +func (s BatchGetSchemaAnalysisRuleError) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AnalysisRuleCustom) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AnalysisRuleCustom"} - if s.AllowedAnalyses == nil { - invalidParams.Add(request.NewErrParamRequired("AllowedAnalyses")) - } - if s.DifferentialPrivacy != nil { - if err := s.DifferentialPrivacy.Validate(); err != nil { - invalidParams.AddNested("DifferentialPrivacy", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCode sets the Code field's value. +func (s *BatchGetSchemaAnalysisRuleError) SetCode(v string) *BatchGetSchemaAnalysisRuleError { + s.Code = &v + return s } -// SetAllowedAnalyses sets the AllowedAnalyses field's value. -func (s *AnalysisRuleCustom) SetAllowedAnalyses(v []*string) *AnalysisRuleCustom { - s.AllowedAnalyses = v +// SetMessage sets the Message field's value. +func (s *BatchGetSchemaAnalysisRuleError) SetMessage(v string) *BatchGetSchemaAnalysisRuleError { + s.Message = &v return s } -// SetAllowedAnalysisProviders sets the AllowedAnalysisProviders field's value. -func (s *AnalysisRuleCustom) SetAllowedAnalysisProviders(v []*string) *AnalysisRuleCustom { - s.AllowedAnalysisProviders = v +// SetName sets the Name field's value. +func (s *BatchGetSchemaAnalysisRuleError) SetName(v string) *BatchGetSchemaAnalysisRuleError { + s.Name = &v return s } -// SetDifferentialPrivacy sets the DifferentialPrivacy field's value. -func (s *AnalysisRuleCustom) SetDifferentialPrivacy(v *DifferentialPrivacyConfiguration) *AnalysisRuleCustom { - s.DifferentialPrivacy = v +// SetType sets the Type field's value. +func (s *BatchGetSchemaAnalysisRuleError) SetType(v string) *BatchGetSchemaAnalysisRuleError { + s.Type = &v return s } -// A type of analysis rule that enables row-level analysis. -type AnalysisRuleList struct { +type BatchGetSchemaAnalysisRuleInput struct { _ struct{} `type:"structure"` - // The logical operators (if any) that are to be used in an INNER JOIN match - // condition. Default is AND. - AllowedJoinOperators []*string `locationName:"allowedJoinOperators" type:"list" enum:"JoinOperator"` - - // Columns that can be used to join a configured table with the table of the - // member who can query and other members' configured tables. + // The unique identifier of the collaboration that contains the schema analysis + // rule. // - // JoinColumns is a required field - JoinColumns []*string `locationName:"joinColumns" min:"1" type:"list" required:"true"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // Columns that can be listed in the output. + // The information that's necessary to retrieve a schema analysis rule. // - // ListColumns is a required field - ListColumns []*string `locationName:"listColumns" type:"list" required:"true"` + // SchemaAnalysisRuleRequests is a required field + SchemaAnalysisRuleRequests []*SchemaAnalysisRuleRequest `locationName:"schemaAnalysisRuleRequests" min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -7291,7 +9226,7 @@ type AnalysisRuleList 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 AnalysisRuleList) String() string { +func (s BatchGetSchemaAnalysisRuleInput) String() string { return awsutil.Prettify(s) } @@ -7300,21 +9235,34 @@ func (s AnalysisRuleList) 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 AnalysisRuleList) GoString() string { +func (s BatchGetSchemaAnalysisRuleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AnalysisRuleList) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AnalysisRuleList"} - if s.JoinColumns == nil { - invalidParams.Add(request.NewErrParamRequired("JoinColumns")) +func (s *BatchGetSchemaAnalysisRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetSchemaAnalysisRuleInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.JoinColumns != nil && len(s.JoinColumns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JoinColumns", 1)) + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } - if s.ListColumns == nil { - invalidParams.Add(request.NewErrParamRequired("ListColumns")) + if s.SchemaAnalysisRuleRequests == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaAnalysisRuleRequests")) + } + if s.SchemaAnalysisRuleRequests != nil && len(s.SchemaAnalysisRuleRequests) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SchemaAnalysisRuleRequests", 1)) + } + if s.SchemaAnalysisRuleRequests != nil { + for i, v := range s.SchemaAnalysisRuleRequests { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SchemaAnalysisRuleRequests", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -7323,30 +9271,31 @@ func (s *AnalysisRuleList) Validate() error { return nil } -// SetAllowedJoinOperators sets the AllowedJoinOperators field's value. -func (s *AnalysisRuleList) SetAllowedJoinOperators(v []*string) *AnalysisRuleList { - s.AllowedJoinOperators = v - return s -} - -// SetJoinColumns sets the JoinColumns field's value. -func (s *AnalysisRuleList) SetJoinColumns(v []*string) *AnalysisRuleList { - s.JoinColumns = v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *BatchGetSchemaAnalysisRuleInput) SetCollaborationIdentifier(v string) *BatchGetSchemaAnalysisRuleInput { + s.CollaborationIdentifier = &v return s } -// SetListColumns sets the ListColumns field's value. -func (s *AnalysisRuleList) SetListColumns(v []*string) *AnalysisRuleList { - s.ListColumns = v +// SetSchemaAnalysisRuleRequests sets the SchemaAnalysisRuleRequests field's value. +func (s *BatchGetSchemaAnalysisRuleInput) SetSchemaAnalysisRuleRequests(v []*SchemaAnalysisRuleRequest) *BatchGetSchemaAnalysisRuleInput { + s.SchemaAnalysisRuleRequests = v return s } -// Controls on the query specifications that can be run on configured table. -type AnalysisRulePolicy struct { +type BatchGetSchemaAnalysisRuleOutput struct { _ struct{} `type:"structure"` - // Controls on the query specifications that can be run on configured table. - V1 *AnalysisRulePolicyV1 `locationName:"v1" type:"structure"` + // The retrieved list of analysis rules. + // + // AnalysisRules is a required field + AnalysisRules []*AnalysisRule `locationName:"analysisRules" type:"list" required:"true"` + + // Error reasons for schemas that could not be retrieved. One error is returned + // for every schema that could not be retrieved. + // + // Errors is a required field + Errors []*BatchGetSchemaAnalysisRuleError `locationName:"errors" type:"list" required:"true"` } // String returns the string representation. @@ -7354,7 +9303,7 @@ type AnalysisRulePolicy 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 AnalysisRulePolicy) String() string { +func (s BatchGetSchemaAnalysisRuleOutput) String() string { return awsutil.Prettify(s) } @@ -7363,29 +9312,40 @@ func (s AnalysisRulePolicy) 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 AnalysisRulePolicy) GoString() string { +func (s BatchGetSchemaAnalysisRuleOutput) GoString() string { return s.String() } -// SetV1 sets the V1 field's value. -func (s *AnalysisRulePolicy) SetV1(v *AnalysisRulePolicyV1) *AnalysisRulePolicy { - s.V1 = v +// SetAnalysisRules sets the AnalysisRules field's value. +func (s *BatchGetSchemaAnalysisRuleOutput) SetAnalysisRules(v []*AnalysisRule) *BatchGetSchemaAnalysisRuleOutput { + s.AnalysisRules = v return s } -// Controls on the query specifications that can be run on configured table. -type AnalysisRulePolicyV1 struct { +// SetErrors sets the Errors field's value. +func (s *BatchGetSchemaAnalysisRuleOutput) SetErrors(v []*BatchGetSchemaAnalysisRuleError) *BatchGetSchemaAnalysisRuleOutput { + s.Errors = v + return s +} + +// An error describing why a schema could not be fetched. +type BatchGetSchemaError struct { _ struct{} `type:"structure"` - // Analysis rule type that enables only aggregation queries on a configured - // table. - Aggregation *AnalysisRuleAggregation `locationName:"aggregation" type:"structure"` + // An error code for the error. + // + // Code is a required field + Code *string `locationName:"code" type:"string" required:"true"` - // Analysis rule type that enables custom SQL queries on a configured table. - Custom *AnalysisRuleCustom `locationName:"custom" type:"structure"` + // An error message for the error. + // + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` - // Analysis rule type that enables only list queries on a configured table. - List *AnalysisRuleList `locationName:"list" type:"structure"` + // An error name for the error. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` } // String returns the string representation. @@ -7393,7 +9353,7 @@ type AnalysisRulePolicyV1 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 AnalysisRulePolicyV1) String() string { +func (s BatchGetSchemaError) String() string { return awsutil.Prettify(s) } @@ -7402,34 +9362,41 @@ func (s AnalysisRulePolicyV1) 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 AnalysisRulePolicyV1) GoString() string { +func (s BatchGetSchemaError) GoString() string { return s.String() } -// SetAggregation sets the Aggregation field's value. -func (s *AnalysisRulePolicyV1) SetAggregation(v *AnalysisRuleAggregation) *AnalysisRulePolicyV1 { - s.Aggregation = v +// SetCode sets the Code field's value. +func (s *BatchGetSchemaError) SetCode(v string) *BatchGetSchemaError { + s.Code = &v return s } -// SetCustom sets the Custom field's value. -func (s *AnalysisRulePolicyV1) SetCustom(v *AnalysisRuleCustom) *AnalysisRulePolicyV1 { - s.Custom = v +// SetMessage sets the Message field's value. +func (s *BatchGetSchemaError) SetMessage(v string) *BatchGetSchemaError { + s.Message = &v return s } -// SetList sets the List field's value. -func (s *AnalysisRulePolicyV1) SetList(v *AnalysisRuleList) *AnalysisRulePolicyV1 { - s.List = v +// SetName sets the Name field's value. +func (s *BatchGetSchemaError) SetName(v string) *BatchGetSchemaError { + s.Name = &v return s } -// A relation within an analysis. -type AnalysisSchema struct { +type BatchGetSchemaInput struct { _ struct{} `type:"structure"` - // The tables referenced in the analysis schema. - ReferencedTables []*string `locationName:"referencedTables" type:"list"` + // A unique identifier for the collaboration that the schemas belong to. Currently + // accepts collaboration ID. + // + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + + // The names for the schema objects to retrieve. + // + // Names is a required field + Names []*string `locationName:"names" min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -7437,7 +9404,7 @@ type AnalysisSchema 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 AnalysisSchema) String() string { +func (s BatchGetSchemaInput) String() string { return awsutil.Prettify(s) } @@ -7446,22 +9413,57 @@ func (s AnalysisSchema) 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 AnalysisSchema) GoString() string { +func (s BatchGetSchemaInput) GoString() string { return s.String() } -// SetReferencedTables sets the ReferencedTables field's value. -func (s *AnalysisSchema) SetReferencedTables(v []*string) *AnalysisSchema { - s.ReferencedTables = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetSchemaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetSchemaInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) + } + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + } + if s.Names == nil { + invalidParams.Add(request.NewErrParamRequired("Names")) + } + if s.Names != nil && len(s.Names) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Names", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *BatchGetSchemaInput) SetCollaborationIdentifier(v string) *BatchGetSchemaInput { + s.CollaborationIdentifier = &v return s } -// The structure that defines the body of the analysis template. -type AnalysisSource struct { - _ struct{} `type:"structure" sensitive:"true"` +// SetNames sets the Names field's value. +func (s *BatchGetSchemaInput) SetNames(v []*string) *BatchGetSchemaInput { + s.Names = v + return s +} - // The query text. - Text *string `locationName:"text" type:"string"` +type BatchGetSchemaOutput struct { + _ struct{} `type:"structure"` + + // Error reasons for schemas that could not be retrieved. One error is returned + // for every schema that could not be retrieved. + // + // Errors is a required field + Errors []*BatchGetSchemaError `locationName:"errors" type:"list" required:"true"` + + // The retrieved list of schemas. + // + // Schemas is a required field + Schemas []*Schema `locationName:"schemas" type:"list" required:"true"` } // String returns the string representation. @@ -7469,7 +9471,7 @@ type AnalysisSource 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 AnalysisSource) String() string { +func (s BatchGetSchemaOutput) String() string { return awsutil.Prettify(s) } @@ -7478,92 +9480,86 @@ func (s AnalysisSource) 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 AnalysisSource) GoString() string { +func (s BatchGetSchemaOutput) GoString() string { return s.String() } -// SetText sets the Text field's value. -func (s *AnalysisSource) SetText(v string) *AnalysisSource { - s.Text = &v +// SetErrors sets the Errors field's value. +func (s *BatchGetSchemaOutput) SetErrors(v []*BatchGetSchemaError) *BatchGetSchemaOutput { + s.Errors = v return s } -// The analysis template. -type AnalysisTemplate struct { - _ struct{} `type:"structure"` +// SetSchemas sets the Schemas field's value. +func (s *BatchGetSchemaOutput) SetSchemas(v []*Schema) *BatchGetSchemaOutput { + s.Schemas = v + return s +} - // The parameters of the analysis template. - AnalysisParameters []*AnalysisParameter `locationName:"analysisParameters" type:"list" sensitive:"true"` +// The multi-party data share environment. The collaboration contains metadata +// about its purpose and participants. +type Collaboration struct { + _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the analysis template. + // The unique ARN for the collaboration. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - // The unique ARN for the analysis template’s associated collaboration. + // The time when the collaboration was created. // - // CollaborationArn is a required field - CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // The unique ID for the associated collaboration of the analysis template. + // The identifier used to reference members of the collaboration. Currently + // only supports Amazon Web Services account ID. // - // CollaborationId is a required field - CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` - // The time that the analysis template was created. + // A display name of the collaboration creator. // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + // CreatorDisplayName is a required field + CreatorDisplayName *string `locationName:"creatorDisplayName" min:"1" type:"string" required:"true"` - // The description of the analysis template. - Description *string `locationName:"description" type:"string"` + // The settings for client-side encryption for cryptographic computing. + DataEncryptionMetadata *DataEncryptionMetadata `locationName:"dataEncryptionMetadata" type:"structure"` - // The format of the analysis template. - // - // Format is a required field - Format *string `locationName:"format" type:"string" required:"true" enum:"AnalysisFormat"` + // A description of the collaboration provided by the collaboration owner. + Description *string `locationName:"description" min:"1" type:"string"` - // The identifier for the analysis template. + // The unique ID for the collaboration. // // Id is a required field Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The Amazon Resource Name (ARN) of the member who created the analysis template. - // - // MembershipArn is a required field - MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` - - // The identifier of a member who created the analysis template. + // The status of a member in a collaboration. // - // MembershipId is a required field - MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + // MemberStatus is a required field + MemberStatus *string `locationName:"memberStatus" type:"string" required:"true" enum:"MemberStatus"` - // The name of the analysis template. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + // The unique ARN for your membership within the collaboration. + MembershipArn *string `locationName:"membershipArn" type:"string"` - // The entire schema object. - // - // Schema is a required field - Schema *AnalysisSchema `locationName:"schema" type:"structure" required:"true"` + // The unique ID for your membership within the collaboration. + MembershipId *string `locationName:"membershipId" min:"36" type:"string"` - // The source of the analysis template. + // A human-readable identifier provided by the collaboration owner. Display + // names are not unique. // - // Source is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by AnalysisTemplate's - // String and GoString methods. + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // An indicator as to whether query logging has been enabled or disabled for + // the collaboration. // - // Source is a required field - Source *AnalysisSource `locationName:"source" type:"structure" required:"true" sensitive:"true"` + // QueryLogStatus is a required field + QueryLogStatus *string `locationName:"queryLogStatus" type:"string" required:"true" enum:"CollaborationQueryLogStatus"` - // The time that the analysis template was last updated. + // The time the collaboration metadata was last updated. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` - - // Information about the validations performed on the analysis template. - Validations []*AnalysisTemplateValidationStatusDetail `locationName:"validations" type:"list"` } // String returns the string representation. @@ -7571,7 +9567,7 @@ type AnalysisTemplate 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 AnalysisTemplate) String() string { +func (s Collaboration) String() string { return awsutil.Prettify(s) } @@ -7580,152 +9576,161 @@ func (s AnalysisTemplate) 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 AnalysisTemplate) GoString() string { +func (s Collaboration) GoString() string { return s.String() } -// SetAnalysisParameters sets the AnalysisParameters field's value. -func (s *AnalysisTemplate) SetAnalysisParameters(v []*AnalysisParameter) *AnalysisTemplate { - s.AnalysisParameters = v +// SetArn sets the Arn field's value. +func (s *Collaboration) SetArn(v string) *Collaboration { + s.Arn = &v return s } -// SetArn sets the Arn field's value. -func (s *AnalysisTemplate) SetArn(v string) *AnalysisTemplate { - s.Arn = &v +// SetCreateTime sets the CreateTime field's value. +func (s *Collaboration) SetCreateTime(v time.Time) *Collaboration { + s.CreateTime = &v return s } -// SetCollaborationArn sets the CollaborationArn field's value. -func (s *AnalysisTemplate) SetCollaborationArn(v string) *AnalysisTemplate { - s.CollaborationArn = &v +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *Collaboration) SetCreatorAccountId(v string) *Collaboration { + s.CreatorAccountId = &v return s } -// SetCollaborationId sets the CollaborationId field's value. -func (s *AnalysisTemplate) SetCollaborationId(v string) *AnalysisTemplate { - s.CollaborationId = &v +// SetCreatorDisplayName sets the CreatorDisplayName field's value. +func (s *Collaboration) SetCreatorDisplayName(v string) *Collaboration { + s.CreatorDisplayName = &v return s } -// SetCreateTime sets the CreateTime field's value. -func (s *AnalysisTemplate) SetCreateTime(v time.Time) *AnalysisTemplate { - s.CreateTime = &v +// SetDataEncryptionMetadata sets the DataEncryptionMetadata field's value. +func (s *Collaboration) SetDataEncryptionMetadata(v *DataEncryptionMetadata) *Collaboration { + s.DataEncryptionMetadata = v return s } // SetDescription sets the Description field's value. -func (s *AnalysisTemplate) SetDescription(v string) *AnalysisTemplate { +func (s *Collaboration) SetDescription(v string) *Collaboration { s.Description = &v return s } -// SetFormat sets the Format field's value. -func (s *AnalysisTemplate) SetFormat(v string) *AnalysisTemplate { - s.Format = &v +// SetId sets the Id field's value. +func (s *Collaboration) SetId(v string) *Collaboration { + s.Id = &v return s } -// SetId sets the Id field's value. -func (s *AnalysisTemplate) SetId(v string) *AnalysisTemplate { - s.Id = &v +// SetMemberStatus sets the MemberStatus field's value. +func (s *Collaboration) SetMemberStatus(v string) *Collaboration { + s.MemberStatus = &v return s } // SetMembershipArn sets the MembershipArn field's value. -func (s *AnalysisTemplate) SetMembershipArn(v string) *AnalysisTemplate { +func (s *Collaboration) SetMembershipArn(v string) *Collaboration { s.MembershipArn = &v return s } // SetMembershipId sets the MembershipId field's value. -func (s *AnalysisTemplate) SetMembershipId(v string) *AnalysisTemplate { +func (s *Collaboration) SetMembershipId(v string) *Collaboration { s.MembershipId = &v return s } // SetName sets the Name field's value. -func (s *AnalysisTemplate) SetName(v string) *AnalysisTemplate { +func (s *Collaboration) SetName(v string) *Collaboration { s.Name = &v return s } -// SetSchema sets the Schema field's value. -func (s *AnalysisTemplate) SetSchema(v *AnalysisSchema) *AnalysisTemplate { - s.Schema = v - return s -} - -// SetSource sets the Source field's value. -func (s *AnalysisTemplate) SetSource(v *AnalysisSource) *AnalysisTemplate { - s.Source = v +// SetQueryLogStatus sets the QueryLogStatus field's value. +func (s *Collaboration) SetQueryLogStatus(v string) *Collaboration { + s.QueryLogStatus = &v return s } // SetUpdateTime sets the UpdateTime field's value. -func (s *AnalysisTemplate) SetUpdateTime(v time.Time) *AnalysisTemplate { +func (s *Collaboration) SetUpdateTime(v time.Time) *Collaboration { s.UpdateTime = &v return s } -// SetValidations sets the Validations field's value. -func (s *AnalysisTemplate) SetValidations(v []*AnalysisTemplateValidationStatusDetail) *AnalysisTemplate { - s.Validations = v - return s -} - -// The metadata of the analysis template. -type AnalysisTemplateSummary struct { +// The analysis template within a collaboration. +type CollaborationAnalysisTemplate struct { _ struct{} `type:"structure"` + // The analysis parameters that have been specified in the analysis template. + AnalysisParameters []*AnalysisParameter `locationName:"analysisParameters" type:"list" sensitive:"true"` + // The Amazon Resource Name (ARN) of the analysis template. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - // The unique ARN for the analysis template summary’s associated collaboration. + // The unique ARN for the analysis template’s associated collaboration. // // CollaborationArn is a required field CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` - // A unique identifier for the collaboration that the analysis template summary - // belongs to. Currently accepts collaboration ID. + // A unique identifier for the collaboration that the analysis templates belong + // to. Currently accepts collaboration ID. // // CollaborationId is a required field CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` - // The time that the analysis template summary was created. + // The time that the analysis template within a collaboration was created. // // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + // The identifier used to reference members of the collaboration. Currently + // only supports Amazon Web Services account ID. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + // The description of the analysis template. Description *string `locationName:"description" type:"string"` + // The format of the analysis template in the collaboration. + // + // Format is a required field + Format *string `locationName:"format" type:"string" required:"true" enum:"AnalysisFormat"` + // The identifier of the analysis template. // // Id is a required field Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The Amazon Resource Name (ARN) of the member who created the analysis template. + // The name of the analysis template. // - // MembershipArn is a required field - MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` - // The identifier for a membership resource. + // The entire schema object. // - // MembershipId is a required field - MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + // Schema is a required field + Schema *AnalysisSchema `locationName:"schema" type:"structure" required:"true"` - // The name of the analysis template. + // The source of the analysis template within a collaboration. // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + // Source is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CollaborationAnalysisTemplate's + // String and GoString methods. + // + // Source is a required field + Source *AnalysisSource `locationName:"source" type:"structure" required:"true" sensitive:"true"` - // The time that the analysis template summary was last updated. + // The time that the analysis template in the collaboration was last updated. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + + // The validations that were performed. + Validations []*AnalysisTemplateValidationStatusDetail `locationName:"validations" type:"list"` } // String returns the string representation. @@ -7733,7 +9738,7 @@ type AnalysisTemplateSummary 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 AnalysisTemplateSummary) String() string { +func (s CollaborationAnalysisTemplate) String() string { return awsutil.Prettify(s) } @@ -7742,170 +9747,96 @@ func (s AnalysisTemplateSummary) 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 AnalysisTemplateSummary) GoString() string { +func (s CollaborationAnalysisTemplate) GoString() string { return s.String() } +// SetAnalysisParameters sets the AnalysisParameters field's value. +func (s *CollaborationAnalysisTemplate) SetAnalysisParameters(v []*AnalysisParameter) *CollaborationAnalysisTemplate { + s.AnalysisParameters = v + return s +} + // SetArn sets the Arn field's value. -func (s *AnalysisTemplateSummary) SetArn(v string) *AnalysisTemplateSummary { +func (s *CollaborationAnalysisTemplate) SetArn(v string) *CollaborationAnalysisTemplate { s.Arn = &v return s } // SetCollaborationArn sets the CollaborationArn field's value. -func (s *AnalysisTemplateSummary) SetCollaborationArn(v string) *AnalysisTemplateSummary { +func (s *CollaborationAnalysisTemplate) SetCollaborationArn(v string) *CollaborationAnalysisTemplate { s.CollaborationArn = &v return s } // SetCollaborationId sets the CollaborationId field's value. -func (s *AnalysisTemplateSummary) SetCollaborationId(v string) *AnalysisTemplateSummary { +func (s *CollaborationAnalysisTemplate) SetCollaborationId(v string) *CollaborationAnalysisTemplate { s.CollaborationId = &v return s } // SetCreateTime sets the CreateTime field's value. -func (s *AnalysisTemplateSummary) SetCreateTime(v time.Time) *AnalysisTemplateSummary { +func (s *CollaborationAnalysisTemplate) SetCreateTime(v time.Time) *CollaborationAnalysisTemplate { s.CreateTime = &v return s } -// SetDescription sets the Description field's value. -func (s *AnalysisTemplateSummary) SetDescription(v string) *AnalysisTemplateSummary { - s.Description = &v - return s -} - -// SetId sets the Id field's value. -func (s *AnalysisTemplateSummary) SetId(v string) *AnalysisTemplateSummary { - s.Id = &v - return s -} - -// SetMembershipArn sets the MembershipArn field's value. -func (s *AnalysisTemplateSummary) SetMembershipArn(v string) *AnalysisTemplateSummary { - s.MembershipArn = &v - return s -} - -// SetMembershipId sets the MembershipId field's value. -func (s *AnalysisTemplateSummary) SetMembershipId(v string) *AnalysisTemplateSummary { - s.MembershipId = &v - return s -} - -// SetName sets the Name field's value. -func (s *AnalysisTemplateSummary) SetName(v string) *AnalysisTemplateSummary { - s.Name = &v - return s -} - -// SetUpdateTime sets the UpdateTime field's value. -func (s *AnalysisTemplateSummary) SetUpdateTime(v time.Time) *AnalysisTemplateSummary { - s.UpdateTime = &v +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationAnalysisTemplate) SetCreatorAccountId(v string) *CollaborationAnalysisTemplate { + s.CreatorAccountId = &v return s } -// The status details of the analysis template validation. Clean Rooms Differential -// Privacy uses a general-purpose query structure to support complex SQL queries -// and validates whether an analysis template fits that general-purpose query -// structure. Validation is performed when analysis templates are created and -// fetched. Because analysis templates are immutable by design, we recommend -// that you create analysis templates after you associate the configured tables -// with their analysis rule to your collaboration. -// -// For more information, see https://docs.aws.amazon.com/clean-rooms/latest/userguide/analysis-rules-custom.html#custom-diff-privacy -// (https://docs.aws.amazon.com/clean-rooms/latest/userguide/analysis-rules-custom.html#custom-diff-privacy). -type AnalysisTemplateValidationStatusDetail struct { - _ struct{} `type:"structure"` - - // The reasons for the validation results. - Reasons []*AnalysisTemplateValidationStatusReason `locationName:"reasons" type:"list"` - - // The status of the validation. - // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"AnalysisTemplateValidationStatus"` - - // The type of validation that was performed. - // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"AnalysisTemplateValidationType"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AnalysisTemplateValidationStatusDetail) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AnalysisTemplateValidationStatusDetail) GoString() string { - return s.String() -} - -// SetReasons sets the Reasons field's value. -func (s *AnalysisTemplateValidationStatusDetail) SetReasons(v []*AnalysisTemplateValidationStatusReason) *AnalysisTemplateValidationStatusDetail { - s.Reasons = v +// SetDescription sets the Description field's value. +func (s *CollaborationAnalysisTemplate) SetDescription(v string) *CollaborationAnalysisTemplate { + s.Description = &v return s } -// SetStatus sets the Status field's value. -func (s *AnalysisTemplateValidationStatusDetail) SetStatus(v string) *AnalysisTemplateValidationStatusDetail { - s.Status = &v +// SetFormat sets the Format field's value. +func (s *CollaborationAnalysisTemplate) SetFormat(v string) *CollaborationAnalysisTemplate { + s.Format = &v return s } -// SetType sets the Type field's value. -func (s *AnalysisTemplateValidationStatusDetail) SetType(v string) *AnalysisTemplateValidationStatusDetail { - s.Type = &v +// SetId sets the Id field's value. +func (s *CollaborationAnalysisTemplate) SetId(v string) *CollaborationAnalysisTemplate { + s.Id = &v return s } -// The reasons for the validation results. -type AnalysisTemplateValidationStatusReason struct { - _ struct{} `type:"structure"` +// SetName sets the Name field's value. +func (s *CollaborationAnalysisTemplate) SetName(v string) *CollaborationAnalysisTemplate { + s.Name = &v + return s +} - // The validation message. - // - // Message is a required field - Message *string `locationName:"message" type:"string" required:"true"` +// SetSchema sets the Schema field's value. +func (s *CollaborationAnalysisTemplate) SetSchema(v *AnalysisSchema) *CollaborationAnalysisTemplate { + s.Schema = v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AnalysisTemplateValidationStatusReason) String() string { - return awsutil.Prettify(s) +// SetSource sets the Source field's value. +func (s *CollaborationAnalysisTemplate) SetSource(v *AnalysisSource) *CollaborationAnalysisTemplate { + s.Source = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AnalysisTemplateValidationStatusReason) GoString() string { - return s.String() +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationAnalysisTemplate) SetUpdateTime(v time.Time) *CollaborationAnalysisTemplate { + s.UpdateTime = &v + return s } -// SetMessage sets the Message field's value. -func (s *AnalysisTemplateValidationStatusReason) SetMessage(v string) *AnalysisTemplateValidationStatusReason { - s.Message = &v +// SetValidations sets the Validations field's value. +func (s *CollaborationAnalysisTemplate) SetValidations(v []*AnalysisTemplateValidationStatusDetail) *CollaborationAnalysisTemplate { + s.Validations = v return s } -// Details of errors thrown by the call to retrieve multiple analysis templates -// within a collaboration by their identifiers. -type BatchGetCollaborationAnalysisTemplateError struct { +// The metadata of the analysis template within a collaboration. +type CollaborationAnalysisTemplateSummary struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the analysis template. @@ -7913,15 +9844,47 @@ type BatchGetCollaborationAnalysisTemplateError struct { // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - // An error code for the error. + // The unique ARN for the analysis template’s associated collaboration. // - // Code is a required field - Code *string `locationName:"code" type:"string" required:"true"` + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` - // A description of why the call failed. + // A unique identifier for the collaboration that the analysis templates belong + // to. Currently accepts collaboration ID. // - // Message is a required field - Message *string `locationName:"message" type:"string" required:"true"` + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time that the summary of the analysis template in a collaboration was + // created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The identifier used to reference members of the collaboration. Currently + // only supports Amazon Web Services account ID. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + + // The description of the analysis template. + Description *string `locationName:"description" type:"string"` + + // The identifier of the analysis template. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The name of the analysis template. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The time that the summary of the analysis template in the collaboration was + // last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -7929,7 +9892,7 @@ type BatchGetCollaborationAnalysisTemplateError 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 BatchGetCollaborationAnalysisTemplateError) String() string { +func (s CollaborationAnalysisTemplateSummary) String() string { return awsutil.Prettify(s) } @@ -7938,165 +9901,118 @@ func (s BatchGetCollaborationAnalysisTemplateError) 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 BatchGetCollaborationAnalysisTemplateError) GoString() string { +func (s CollaborationAnalysisTemplateSummary) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *BatchGetCollaborationAnalysisTemplateError) SetArn(v string) *BatchGetCollaborationAnalysisTemplateError { +func (s *CollaborationAnalysisTemplateSummary) SetArn(v string) *CollaborationAnalysisTemplateSummary { s.Arn = &v return s } -// SetCode sets the Code field's value. -func (s *BatchGetCollaborationAnalysisTemplateError) SetCode(v string) *BatchGetCollaborationAnalysisTemplateError { - s.Code = &v +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *CollaborationAnalysisTemplateSummary) SetCollaborationArn(v string) *CollaborationAnalysisTemplateSummary { + s.CollaborationArn = &v return s } -// SetMessage sets the Message field's value. -func (s *BatchGetCollaborationAnalysisTemplateError) SetMessage(v string) *BatchGetCollaborationAnalysisTemplateError { - s.Message = &v +// SetCollaborationId sets the CollaborationId field's value. +func (s *CollaborationAnalysisTemplateSummary) SetCollaborationId(v string) *CollaborationAnalysisTemplateSummary { + s.CollaborationId = &v return s } -type BatchGetCollaborationAnalysisTemplateInput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) associated with the analysis template within - // a collaboration. - // - // AnalysisTemplateArns is a required field - AnalysisTemplateArns []*string `locationName:"analysisTemplateArns" min:"1" type:"list" required:"true"` - - // A unique identifier for the collaboration that the analysis templates belong - // to. Currently accepts collaboration ID. - // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationAnalysisTemplateSummary) SetCreateTime(v time.Time) *CollaborationAnalysisTemplateSummary { + s.CreateTime = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetCollaborationAnalysisTemplateInput) String() string { - return awsutil.Prettify(s) +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationAnalysisTemplateSummary) SetCreatorAccountId(v string) *CollaborationAnalysisTemplateSummary { + s.CreatorAccountId = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetCollaborationAnalysisTemplateInput) GoString() string { - return s.String() +// SetDescription sets the Description field's value. +func (s *CollaborationAnalysisTemplateSummary) SetDescription(v string) *CollaborationAnalysisTemplateSummary { + s.Description = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetCollaborationAnalysisTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetCollaborationAnalysisTemplateInput"} - if s.AnalysisTemplateArns == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateArns")) - } - if s.AnalysisTemplateArns != nil && len(s.AnalysisTemplateArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateArns", 1)) - } - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) - } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetId sets the Id field's value. +func (s *CollaborationAnalysisTemplateSummary) SetId(v string) *CollaborationAnalysisTemplateSummary { + s.Id = &v + return s } -// SetAnalysisTemplateArns sets the AnalysisTemplateArns field's value. -func (s *BatchGetCollaborationAnalysisTemplateInput) SetAnalysisTemplateArns(v []*string) *BatchGetCollaborationAnalysisTemplateInput { - s.AnalysisTemplateArns = v +// SetName sets the Name field's value. +func (s *CollaborationAnalysisTemplateSummary) SetName(v string) *CollaborationAnalysisTemplateSummary { + s.Name = &v return s } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *BatchGetCollaborationAnalysisTemplateInput) SetCollaborationIdentifier(v string) *BatchGetCollaborationAnalysisTemplateInput { - s.CollaborationIdentifier = &v +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationAnalysisTemplateSummary) SetUpdateTime(v time.Time) *CollaborationAnalysisTemplateSummary { + s.UpdateTime = &v return s } -type BatchGetCollaborationAnalysisTemplateOutput struct { +// The configured audience model association within a collaboration. +type CollaborationConfiguredAudienceModelAssociation struct { _ struct{} `type:"structure"` - // The retrieved list of analysis templates within a collaboration. + // The Amazon Resource Name (ARN) of the configured audience model association. // - // CollaborationAnalysisTemplates is a required field - CollaborationAnalysisTemplates []*CollaborationAnalysisTemplate `locationName:"collaborationAnalysisTemplates" type:"list" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` - // Error reasons for collaboration analysis templates that could not be retrieved. - // One error is returned for every collaboration analysis template that could - // not be retrieved. + // The unique ARN for the configured audience model's associated collaboration. // - // Errors is a required field - Errors []*BatchGetCollaborationAnalysisTemplateError `locationName:"errors" 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 BatchGetCollaborationAnalysisTemplateOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetCollaborationAnalysisTemplateOutput) GoString() string { - return s.String() -} + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` -// SetCollaborationAnalysisTemplates sets the CollaborationAnalysisTemplates field's value. -func (s *BatchGetCollaborationAnalysisTemplateOutput) SetCollaborationAnalysisTemplates(v []*CollaborationAnalysisTemplate) *BatchGetCollaborationAnalysisTemplateOutput { - s.CollaborationAnalysisTemplates = v - return s -} + // A unique identifier for the collaboration that the configured audience model + // associations belong to. Accepts collaboration ID. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` -// SetErrors sets the Errors field's value. -func (s *BatchGetCollaborationAnalysisTemplateOutput) SetErrors(v []*BatchGetCollaborationAnalysisTemplateError) *BatchGetCollaborationAnalysisTemplateOutput { - s.Errors = v - return s -} + // The Amazon Resource Name (ARN) of the configure audience model. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` -// An error that describes why a schema could not be fetched. -type BatchGetSchemaAnalysisRuleError struct { - _ struct{} `type:"structure"` + // The time at which the configured audience model association was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // An error code for the error. + // The identifier used to reference members of the collaboration. Only supports + // Amazon Web Services account ID. // - // Code is a required field - Code *string `locationName:"code" type:"string" required:"true"` + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` - // A description of why the call failed. + // The description of the configured audience model association. + Description *string `locationName:"description" type:"string"` + + // The identifier of the configured audience model association. // - // Message is a required field - Message *string `locationName:"message" type:"string" required:"true"` + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // An error name for the error. + // The name of the configured audience model association. // // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The analysis rule type. + // The most recent time at which the configured audience model association was + // updated. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"AnalysisRuleType"` + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -8104,7 +10020,7 @@ type BatchGetSchemaAnalysisRuleError 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 BatchGetSchemaAnalysisRuleError) String() string { +func (s CollaborationConfiguredAudienceModelAssociation) String() string { return awsutil.Prettify(s) } @@ -8113,47 +10029,119 @@ func (s BatchGetSchemaAnalysisRuleError) 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 BatchGetSchemaAnalysisRuleError) GoString() string { +func (s CollaborationConfiguredAudienceModelAssociation) GoString() string { return s.String() } -// SetCode sets the Code field's value. -func (s *BatchGetSchemaAnalysisRuleError) SetCode(v string) *BatchGetSchemaAnalysisRuleError { - s.Code = &v +// SetArn sets the Arn field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetArn(v string) *CollaborationConfiguredAudienceModelAssociation { + s.Arn = &v return s } -// SetMessage sets the Message field's value. -func (s *BatchGetSchemaAnalysisRuleError) SetMessage(v string) *BatchGetSchemaAnalysisRuleError { - s.Message = &v +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetCollaborationArn(v string) *CollaborationConfiguredAudienceModelAssociation { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetCollaborationId(v string) *CollaborationConfiguredAudienceModelAssociation { + s.CollaborationId = &v + return s +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetConfiguredAudienceModelArn(v string) *CollaborationConfiguredAudienceModelAssociation { + s.ConfiguredAudienceModelArn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetCreateTime(v time.Time) *CollaborationConfiguredAudienceModelAssociation { + s.CreateTime = &v + return s +} + +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetCreatorAccountId(v string) *CollaborationConfiguredAudienceModelAssociation { + s.CreatorAccountId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetDescription(v string) *CollaborationConfiguredAudienceModelAssociation { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetId(v string) *CollaborationConfiguredAudienceModelAssociation { + s.Id = &v return s } // SetName sets the Name field's value. -func (s *BatchGetSchemaAnalysisRuleError) SetName(v string) *BatchGetSchemaAnalysisRuleError { +func (s *CollaborationConfiguredAudienceModelAssociation) SetName(v string) *CollaborationConfiguredAudienceModelAssociation { s.Name = &v return s } -// SetType sets the Type field's value. -func (s *BatchGetSchemaAnalysisRuleError) SetType(v string) *BatchGetSchemaAnalysisRuleError { - s.Type = &v +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetUpdateTime(v time.Time) *CollaborationConfiguredAudienceModelAssociation { + s.UpdateTime = &v return s } -type BatchGetSchemaAnalysisRuleInput struct { +// A summary of the configured audience model association in the collaboration. +type CollaborationConfiguredAudienceModelAssociationSummary struct { _ struct{} `type:"structure"` - // The unique identifier of the collaboration that contains the schema analysis - // rule. + // The Amazon Resource Name (ARN) of the configured audience model association. // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` - // The information that's necessary to retrieve a schema analysis rule. + // The unique ARN for the configured audience model's associated collaboration. // - // SchemaAnalysisRuleRequests is a required field - SchemaAnalysisRuleRequests []*SchemaAnalysisRuleRequest `locationName:"schemaAnalysisRuleRequests" min:"1" type:"list" required:"true"` + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // A unique identifier for the collaboration that the configured audience model + // associations belong to. Accepts collaboration ID. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time at which the configured audience model association was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The identifier used to reference members of the collaboration. Only supports + // Amazon Web Services account ID. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + + // The description of the configured audience model association. + Description *string `locationName:"description" type:"string"` + + // The identifier of the configured audience model association. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The name of the configured audience model association. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The most recent time at which the configured audience model association was + // updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -8161,7 +10149,7 @@ type BatchGetSchemaAnalysisRuleInput 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 BatchGetSchemaAnalysisRuleInput) String() string { +func (s CollaborationConfiguredAudienceModelAssociationSummary) String() string { return awsutil.Prettify(s) } @@ -8170,67 +10158,126 @@ func (s BatchGetSchemaAnalysisRuleInput) 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 BatchGetSchemaAnalysisRuleInput) GoString() string { +func (s CollaborationConfiguredAudienceModelAssociationSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetSchemaAnalysisRuleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetSchemaAnalysisRuleInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) - } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) - } - if s.SchemaAnalysisRuleRequests == nil { - invalidParams.Add(request.NewErrParamRequired("SchemaAnalysisRuleRequests")) - } - if s.SchemaAnalysisRuleRequests != nil && len(s.SchemaAnalysisRuleRequests) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SchemaAnalysisRuleRequests", 1)) - } - if s.SchemaAnalysisRuleRequests != nil { - for i, v := range s.SchemaAnalysisRuleRequests { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SchemaAnalysisRuleRequests", i), err.(request.ErrInvalidParams)) - } - } - } +// SetArn sets the Arn field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetArn(v string) *CollaborationConfiguredAudienceModelAssociationSummary { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetCollaborationArn(v string) *CollaborationConfiguredAudienceModelAssociationSummary { + s.CollaborationArn = &v + return s } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *BatchGetSchemaAnalysisRuleInput) SetCollaborationIdentifier(v string) *BatchGetSchemaAnalysisRuleInput { - s.CollaborationIdentifier = &v +// SetCollaborationId sets the CollaborationId field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetCollaborationId(v string) *CollaborationConfiguredAudienceModelAssociationSummary { + s.CollaborationId = &v return s } -// SetSchemaAnalysisRuleRequests sets the SchemaAnalysisRuleRequests field's value. -func (s *BatchGetSchemaAnalysisRuleInput) SetSchemaAnalysisRuleRequests(v []*SchemaAnalysisRuleRequest) *BatchGetSchemaAnalysisRuleInput { - s.SchemaAnalysisRuleRequests = v +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetCreateTime(v time.Time) *CollaborationConfiguredAudienceModelAssociationSummary { + s.CreateTime = &v return s } -type BatchGetSchemaAnalysisRuleOutput struct { +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetCreatorAccountId(v string) *CollaborationConfiguredAudienceModelAssociationSummary { + s.CreatorAccountId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetDescription(v string) *CollaborationConfiguredAudienceModelAssociationSummary { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetId(v string) *CollaborationConfiguredAudienceModelAssociationSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetName(v string) *CollaborationConfiguredAudienceModelAssociationSummary { + s.Name = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetUpdateTime(v time.Time) *CollaborationConfiguredAudienceModelAssociationSummary { + s.UpdateTime = &v + return s +} + +// Provides summary information about the collaboration ID namespace association. +type CollaborationIdNamespaceAssociationSummary struct { _ struct{} `type:"structure"` - // The retrieved list of analysis rules. + // The Amazon Resource Name (ARN) of the collaboration ID namespace association. // - // AnalysisRules is a required field - AnalysisRules []*AnalysisRule `locationName:"analysisRules" type:"list" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` - // Error reasons for schemas that could not be retrieved. One error is returned - // for every schema that could not be retrieved. + // The Amazon Resource Name (ARN) of the collaboration that contains this collaboration + // ID namespace association. // - // Errors is a required field - Errors []*BatchGetSchemaAnalysisRuleError `locationName:"errors" type:"list" required:"true"` + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // The unique identifier of the collaboration that contains this collaboration + // ID namespace association. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time at which the collaboration ID namespace association was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The Amazon Web Services account that created this collaboration ID namespace + // association. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + + // The description of the collaboration ID namepsace association. + Description *string `locationName:"description" type:"string"` + + // The unique identifier of the collaboration ID namespace association. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The input reference configuration that's used to create the collaboration + // ID namespace association. + // + // InputReferenceConfig is a required field + InputReferenceConfig *IdNamespaceAssociationInputReferenceConfig `locationName:"inputReferenceConfig" type:"structure" required:"true"` + + // The input reference properties that are used to create the collaboration + // ID namespace association. + // + // InputReferenceProperties is a required field + InputReferenceProperties *IdNamespaceAssociationInputReferencePropertiesSummary `locationName:"inputReferenceProperties" type:"structure" required:"true"` + + // The name of the collaboration ID namespace association. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The most recent time at which the collaboration ID namespace association + // was updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -8238,7 +10285,7 @@ type BatchGetSchemaAnalysisRuleOutput 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 BatchGetSchemaAnalysisRuleOutput) String() string { +func (s CollaborationIdNamespaceAssociationSummary) String() string { return awsutil.Prettify(s) } @@ -8247,91 +10294,131 @@ func (s BatchGetSchemaAnalysisRuleOutput) 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 BatchGetSchemaAnalysisRuleOutput) GoString() string { +func (s CollaborationIdNamespaceAssociationSummary) GoString() string { return s.String() } -// SetAnalysisRules sets the AnalysisRules field's value. -func (s *BatchGetSchemaAnalysisRuleOutput) SetAnalysisRules(v []*AnalysisRule) *BatchGetSchemaAnalysisRuleOutput { - s.AnalysisRules = v +// SetArn sets the Arn field's value. +func (s *CollaborationIdNamespaceAssociationSummary) SetArn(v string) *CollaborationIdNamespaceAssociationSummary { + s.Arn = &v return s } -// SetErrors sets the Errors field's value. -func (s *BatchGetSchemaAnalysisRuleOutput) SetErrors(v []*BatchGetSchemaAnalysisRuleError) *BatchGetSchemaAnalysisRuleOutput { - s.Errors = v +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *CollaborationIdNamespaceAssociationSummary) SetCollaborationArn(v string) *CollaborationIdNamespaceAssociationSummary { + s.CollaborationArn = &v return s } -// An error describing why a schema could not be fetched. -type BatchGetSchemaError struct { - _ struct{} `type:"structure"` - - // An error code for the error. - // - // Code is a required field - Code *string `locationName:"code" type:"string" required:"true"` +// SetCollaborationId sets the CollaborationId field's value. +func (s *CollaborationIdNamespaceAssociationSummary) SetCollaborationId(v string) *CollaborationIdNamespaceAssociationSummary { + s.CollaborationId = &v + return s +} - // An error message for the error. - // - // Message is a required field - Message *string `locationName:"message" type:"string" required:"true"` +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationIdNamespaceAssociationSummary) SetCreateTime(v time.Time) *CollaborationIdNamespaceAssociationSummary { + s.CreateTime = &v + return s +} - // An error name for the error. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationIdNamespaceAssociationSummary) SetCreatorAccountId(v string) *CollaborationIdNamespaceAssociationSummary { + s.CreatorAccountId = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetSchemaError) String() string { - return awsutil.Prettify(s) +// SetDescription sets the Description field's value. +func (s *CollaborationIdNamespaceAssociationSummary) SetDescription(v string) *CollaborationIdNamespaceAssociationSummary { + s.Description = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetSchemaError) GoString() string { - return s.String() +// SetId sets the Id field's value. +func (s *CollaborationIdNamespaceAssociationSummary) SetId(v string) *CollaborationIdNamespaceAssociationSummary { + s.Id = &v + return s } -// SetCode sets the Code field's value. -func (s *BatchGetSchemaError) SetCode(v string) *BatchGetSchemaError { - s.Code = &v +// SetInputReferenceConfig sets the InputReferenceConfig field's value. +func (s *CollaborationIdNamespaceAssociationSummary) SetInputReferenceConfig(v *IdNamespaceAssociationInputReferenceConfig) *CollaborationIdNamespaceAssociationSummary { + s.InputReferenceConfig = v return s } -// SetMessage sets the Message field's value. -func (s *BatchGetSchemaError) SetMessage(v string) *BatchGetSchemaError { - s.Message = &v +// SetInputReferenceProperties sets the InputReferenceProperties field's value. +func (s *CollaborationIdNamespaceAssociationSummary) SetInputReferenceProperties(v *IdNamespaceAssociationInputReferencePropertiesSummary) *CollaborationIdNamespaceAssociationSummary { + s.InputReferenceProperties = v return s } // SetName sets the Name field's value. -func (s *BatchGetSchemaError) SetName(v string) *BatchGetSchemaError { +func (s *CollaborationIdNamespaceAssociationSummary) SetName(v string) *CollaborationIdNamespaceAssociationSummary { s.Name = &v return s } -type BatchGetSchemaInput struct { +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationIdNamespaceAssociationSummary) SetUpdateTime(v time.Time) *CollaborationIdNamespaceAssociationSummary { + s.UpdateTime = &v + return s +} + +// A summary of the collaboration privacy budgets. This summary includes the +// collaboration information, creation information, epsilon provided, and utility +// in terms of aggregations. +type CollaborationPrivacyBudgetSummary struct { _ struct{} `type:"structure"` - // A unique identifier for the collaboration that the schemas belong to. Currently - // accepts collaboration ID. + // The includes epsilon provided and utility in terms of aggregations. // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // Budget is a required field + Budget *PrivacyBudget `locationName:"budget" type:"structure" required:"true"` - // The names for the schema objects to retrieve. + // The ARN of the collaboration that includes this privacy budget. // - // Names is a required field - Names []*string `locationName:"names" min:"1" type:"list" required:"true"` + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // The unique identifier of the collaboration that includes this privacy budget. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time at which the privacy budget was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The unique identifier of the account that created this privacy budget. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + + // The unique identifier of the collaboration privacy budget. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The ARN of the collaboration privacy budget template. + // + // PrivacyBudgetTemplateArn is a required field + PrivacyBudgetTemplateArn *string `locationName:"privacyBudgetTemplateArn" type:"string" required:"true"` + + // The unique identifier of the collaboration privacy budget template. + // + // PrivacyBudgetTemplateId is a required field + PrivacyBudgetTemplateId *string `locationName:"privacyBudgetTemplateId" min:"36" type:"string" required:"true"` + + // The type of privacy budget template. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"PrivacyBudgetType"` + + // The most recent time at which the privacy budget was updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -8339,7 +10426,7 @@ type BatchGetSchemaInput 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 BatchGetSchemaInput) String() string { +func (s CollaborationPrivacyBudgetSummary) String() string { return awsutil.Prettify(s) } @@ -8348,57 +10435,135 @@ func (s BatchGetSchemaInput) 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 BatchGetSchemaInput) GoString() string { +func (s CollaborationPrivacyBudgetSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetSchemaInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetSchemaInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) - } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) - } - if s.Names == nil { - invalidParams.Add(request.NewErrParamRequired("Names")) - } - if s.Names != nil && len(s.Names) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Names", 1)) - } +// SetBudget sets the Budget field's value. +func (s *CollaborationPrivacyBudgetSummary) SetBudget(v *PrivacyBudget) *CollaborationPrivacyBudgetSummary { + s.Budget = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *CollaborationPrivacyBudgetSummary) SetCollaborationArn(v string) *CollaborationPrivacyBudgetSummary { + s.CollaborationArn = &v + return s } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *BatchGetSchemaInput) SetCollaborationIdentifier(v string) *BatchGetSchemaInput { - s.CollaborationIdentifier = &v +// SetCollaborationId sets the CollaborationId field's value. +func (s *CollaborationPrivacyBudgetSummary) SetCollaborationId(v string) *CollaborationPrivacyBudgetSummary { + s.CollaborationId = &v return s } -// SetNames sets the Names field's value. -func (s *BatchGetSchemaInput) SetNames(v []*string) *BatchGetSchemaInput { - s.Names = v +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationPrivacyBudgetSummary) SetCreateTime(v time.Time) *CollaborationPrivacyBudgetSummary { + s.CreateTime = &v + return s +} + +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationPrivacyBudgetSummary) SetCreatorAccountId(v string) *CollaborationPrivacyBudgetSummary { + s.CreatorAccountId = &v + return s +} + +// SetId sets the Id field's value. +func (s *CollaborationPrivacyBudgetSummary) SetId(v string) *CollaborationPrivacyBudgetSummary { + s.Id = &v + return s +} + +// SetPrivacyBudgetTemplateArn sets the PrivacyBudgetTemplateArn field's value. +func (s *CollaborationPrivacyBudgetSummary) SetPrivacyBudgetTemplateArn(v string) *CollaborationPrivacyBudgetSummary { + s.PrivacyBudgetTemplateArn = &v + return s +} + +// SetPrivacyBudgetTemplateId sets the PrivacyBudgetTemplateId field's value. +func (s *CollaborationPrivacyBudgetSummary) SetPrivacyBudgetTemplateId(v string) *CollaborationPrivacyBudgetSummary { + s.PrivacyBudgetTemplateId = &v + return s +} + +// SetType sets the Type field's value. +func (s *CollaborationPrivacyBudgetSummary) SetType(v string) *CollaborationPrivacyBudgetSummary { + s.Type = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationPrivacyBudgetSummary) SetUpdateTime(v time.Time) *CollaborationPrivacyBudgetSummary { + s.UpdateTime = &v return s } -type BatchGetSchemaOutput struct { - _ struct{} `type:"structure"` +// An array that specifies the information for a collaboration's privacy budget +// template. +type CollaborationPrivacyBudgetTemplate struct { + _ struct{} `type:"structure"` + + // The ARN of the collaboration privacy budget template. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // How often the privacy budget refreshes. + // + // If you plan to regularly bring new data into the collaboration, use CALENDAR_MONTH + // to automatically get a new privacy budget for the collaboration every calendar + // month. Choosing this option allows arbitrary amounts of information to be + // revealed about rows of the data when repeatedly queried across refreshes. + // Avoid choosing this if the same rows will be repeatedly queried between privacy + // budget refreshes. + // + // AutoRefresh is a required field + AutoRefresh *string `locationName:"autoRefresh" type:"string" required:"true" enum:"PrivacyBudgetTemplateAutoRefresh"` + + // The ARN of the collaboration that includes this collaboration privacy budget + // template. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // The unique identifier of the collaboration that includes this collaboration + // privacy budget template. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time at which the collaboration privacy budget template was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The unique identifier of the account that created this collaboration privacy + // budget template. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + + // The unique identifier of the collaboration privacy budget template. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // Error reasons for schemas that could not be retrieved. One error is returned - // for every schema that could not be retrieved. + // Specifies the epsilon and noise parameters for the privacy budget template. // - // Errors is a required field - Errors []*BatchGetSchemaError `locationName:"errors" type:"list" required:"true"` + // Parameters is a required field + Parameters *PrivacyBudgetTemplateParametersOutput_ `locationName:"parameters" type:"structure" required:"true"` - // The retrieved list of schemas. + // The type of privacy budget template. // - // Schemas is a required field - Schemas []*Schema `locationName:"schemas" type:"list" required:"true"` + // PrivacyBudgetType is a required field + PrivacyBudgetType *string `locationName:"privacyBudgetType" type:"string" required:"true" enum:"PrivacyBudgetType"` + + // The most recent time at which the collaboration privacy budget template was + // updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -8406,7 +10571,7 @@ type BatchGetSchemaOutput 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 BatchGetSchemaOutput) String() string { +func (s CollaborationPrivacyBudgetTemplate) String() string { return awsutil.Prettify(s) } @@ -8415,83 +10580,116 @@ func (s BatchGetSchemaOutput) 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 BatchGetSchemaOutput) GoString() string { +func (s CollaborationPrivacyBudgetTemplate) GoString() string { return s.String() } -// SetErrors sets the Errors field's value. -func (s *BatchGetSchemaOutput) SetErrors(v []*BatchGetSchemaError) *BatchGetSchemaOutput { - s.Errors = v +// SetArn sets the Arn field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetArn(v string) *CollaborationPrivacyBudgetTemplate { + s.Arn = &v return s } -// SetSchemas sets the Schemas field's value. -func (s *BatchGetSchemaOutput) SetSchemas(v []*Schema) *BatchGetSchemaOutput { - s.Schemas = v +// SetAutoRefresh sets the AutoRefresh field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetAutoRefresh(v string) *CollaborationPrivacyBudgetTemplate { + s.AutoRefresh = &v return s } -// The multi-party data share environment. The collaboration contains metadata -// about its purpose and participants. -type Collaboration struct { +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetCollaborationArn(v string) *CollaborationPrivacyBudgetTemplate { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetCollaborationId(v string) *CollaborationPrivacyBudgetTemplate { + s.CollaborationId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetCreateTime(v time.Time) *CollaborationPrivacyBudgetTemplate { + s.CreateTime = &v + return s +} + +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetCreatorAccountId(v string) *CollaborationPrivacyBudgetTemplate { + s.CreatorAccountId = &v + return s +} + +// SetId sets the Id field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetId(v string) *CollaborationPrivacyBudgetTemplate { + s.Id = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetParameters(v *PrivacyBudgetTemplateParametersOutput_) *CollaborationPrivacyBudgetTemplate { + s.Parameters = v + return s +} + +// SetPrivacyBudgetType sets the PrivacyBudgetType field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetPrivacyBudgetType(v string) *CollaborationPrivacyBudgetTemplate { + s.PrivacyBudgetType = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetUpdateTime(v time.Time) *CollaborationPrivacyBudgetTemplate { + s.UpdateTime = &v + return s +} + +// A summary of the collaboration's privacy budget template. This summary includes +// information about who created the privacy budget template and what collaborations +// it belongs to. +type CollaborationPrivacyBudgetTemplateSummary struct { _ struct{} `type:"structure"` - // The unique ARN for the collaboration. + // The ARN of the collaboration privacy budget template. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - // The time when the collaboration was created. + // The ARN of the collaboration that contains this collaboration privacy budget + // template. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // The unique identifier of the collaboration that contains this collaboration + // privacy budget template. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time at which the collaboration privacy budget template was created. // // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // The identifier used to reference members of the collaboration. Currently - // only supports Amazon Web Services account ID. + // The unique identifier of the account that created this collaboration privacy + // budget template. // // CreatorAccountId is a required field CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` - // A display name of the collaboration creator. - // - // CreatorDisplayName is a required field - CreatorDisplayName *string `locationName:"creatorDisplayName" min:"1" type:"string" required:"true"` - - // The settings for client-side encryption for cryptographic computing. - DataEncryptionMetadata *DataEncryptionMetadata `locationName:"dataEncryptionMetadata" type:"structure"` - - // A description of the collaboration provided by the collaboration owner. - Description *string `locationName:"description" min:"1" type:"string"` - - // The unique ID for the collaboration. + // The unique identifier of the collaboration privacy budget template. // // Id is a required field Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The status of a member in a collaboration. - // - // MemberStatus is a required field - MemberStatus *string `locationName:"memberStatus" type:"string" required:"true" enum:"MemberStatus"` - - // The unique ARN for your membership within the collaboration. - MembershipArn *string `locationName:"membershipArn" type:"string"` - - // The unique ID for your membership within the collaboration. - MembershipId *string `locationName:"membershipId" min:"36" type:"string"` - - // A human-readable identifier provided by the collaboration owner. Display - // names are not unique. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` - - // An indicator as to whether query logging has been enabled or disabled for - // the collaboration. + // The type of the privacy budget template. // - // QueryLogStatus is a required field - QueryLogStatus *string `locationName:"queryLogStatus" type:"string" required:"true" enum:"CollaborationQueryLogStatus"` + // PrivacyBudgetType is a required field + PrivacyBudgetType *string `locationName:"privacyBudgetType" type:"string" required:"true" enum:"PrivacyBudgetType"` - // The time the collaboration metadata was last updated. + // The most recent time at which the collaboration privacy budget template was + // updated. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` @@ -8502,7 +10700,7 @@ type Collaboration 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 Collaboration) String() string { +func (s CollaborationPrivacyBudgetTemplateSummary) String() string { return awsutil.Prettify(s) } @@ -8511,112 +10709,68 @@ func (s Collaboration) 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 Collaboration) GoString() string { +func (s CollaborationPrivacyBudgetTemplateSummary) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *Collaboration) SetArn(v string) *Collaboration { +func (s *CollaborationPrivacyBudgetTemplateSummary) SetArn(v string) *CollaborationPrivacyBudgetTemplateSummary { s.Arn = &v return s } -// SetCreateTime sets the CreateTime field's value. -func (s *Collaboration) SetCreateTime(v time.Time) *Collaboration { - s.CreateTime = &v - return s -} - -// SetCreatorAccountId sets the CreatorAccountId field's value. -func (s *Collaboration) SetCreatorAccountId(v string) *Collaboration { - s.CreatorAccountId = &v +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *CollaborationPrivacyBudgetTemplateSummary) SetCollaborationArn(v string) *CollaborationPrivacyBudgetTemplateSummary { + s.CollaborationArn = &v return s } -// SetCreatorDisplayName sets the CreatorDisplayName field's value. -func (s *Collaboration) SetCreatorDisplayName(v string) *Collaboration { - s.CreatorDisplayName = &v +// SetCollaborationId sets the CollaborationId field's value. +func (s *CollaborationPrivacyBudgetTemplateSummary) SetCollaborationId(v string) *CollaborationPrivacyBudgetTemplateSummary { + s.CollaborationId = &v return s } -// SetDataEncryptionMetadata sets the DataEncryptionMetadata field's value. -func (s *Collaboration) SetDataEncryptionMetadata(v *DataEncryptionMetadata) *Collaboration { - s.DataEncryptionMetadata = v +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationPrivacyBudgetTemplateSummary) SetCreateTime(v time.Time) *CollaborationPrivacyBudgetTemplateSummary { + s.CreateTime = &v return s } -// SetDescription sets the Description field's value. -func (s *Collaboration) SetDescription(v string) *Collaboration { - s.Description = &v +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationPrivacyBudgetTemplateSummary) SetCreatorAccountId(v string) *CollaborationPrivacyBudgetTemplateSummary { + s.CreatorAccountId = &v return s } // SetId sets the Id field's value. -func (s *Collaboration) SetId(v string) *Collaboration { +func (s *CollaborationPrivacyBudgetTemplateSummary) SetId(v string) *CollaborationPrivacyBudgetTemplateSummary { s.Id = &v return s } -// SetMemberStatus sets the MemberStatus field's value. -func (s *Collaboration) SetMemberStatus(v string) *Collaboration { - s.MemberStatus = &v - return s -} - -// SetMembershipArn sets the MembershipArn field's value. -func (s *Collaboration) SetMembershipArn(v string) *Collaboration { - s.MembershipArn = &v - return s -} - -// SetMembershipId sets the MembershipId field's value. -func (s *Collaboration) SetMembershipId(v string) *Collaboration { - s.MembershipId = &v - return s -} - -// SetName sets the Name field's value. -func (s *Collaboration) SetName(v string) *Collaboration { - s.Name = &v - return s -} - -// SetQueryLogStatus sets the QueryLogStatus field's value. -func (s *Collaboration) SetQueryLogStatus(v string) *Collaboration { - s.QueryLogStatus = &v +// SetPrivacyBudgetType sets the PrivacyBudgetType field's value. +func (s *CollaborationPrivacyBudgetTemplateSummary) SetPrivacyBudgetType(v string) *CollaborationPrivacyBudgetTemplateSummary { + s.PrivacyBudgetType = &v return s } // SetUpdateTime sets the UpdateTime field's value. -func (s *Collaboration) SetUpdateTime(v time.Time) *Collaboration { +func (s *CollaborationPrivacyBudgetTemplateSummary) SetUpdateTime(v time.Time) *CollaborationPrivacyBudgetTemplateSummary { s.UpdateTime = &v return s } -// The analysis template within a collaboration. -type CollaborationAnalysisTemplate struct { +// The metadata of the collaboration. +type CollaborationSummary struct { _ struct{} `type:"structure"` - // The analysis parameters that have been specified in the analysis template. - AnalysisParameters []*AnalysisParameter `locationName:"analysisParameters" type:"list" sensitive:"true"` - - // The Amazon Resource Name (ARN) of the analysis template. + // The ARN of the collaboration. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - // The unique ARN for the analysis template’s associated collaboration. - // - // CollaborationArn is a required field - CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` - - // A unique identifier for the collaboration that the analysis templates belong - // to. Currently accepts collaboration ID. - // - // CollaborationId is a required field - CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` - - // The time that the analysis template within a collaboration was created. + // The time when the collaboration was created. // // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` @@ -8627,45 +10781,37 @@ type CollaborationAnalysisTemplate struct { // CreatorAccountId is a required field CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` - // The description of the analysis template. - Description *string `locationName:"description" type:"string"` - - // The format of the analysis template in the collaboration. - // - // Format is a required field - Format *string `locationName:"format" type:"string" required:"true" enum:"AnalysisFormat"` + // The display name of the collaboration creator. + // + // CreatorDisplayName is a required field + CreatorDisplayName *string `locationName:"creatorDisplayName" min:"1" type:"string" required:"true"` - // The identifier of the analysis template. + // The identifier for the collaboration. // // Id is a required field Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The name of the analysis template. + // The status of a member in a collaboration. // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + // MemberStatus is a required field + MemberStatus *string `locationName:"memberStatus" type:"string" required:"true" enum:"MemberStatus"` - // The entire schema object. - // - // Schema is a required field - Schema *AnalysisSchema `locationName:"schema" type:"structure" required:"true"` + // The ARN of a member in a collaboration. + MembershipArn *string `locationName:"membershipArn" type:"string"` - // The source of the analysis template within a collaboration. - // - // Source is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by CollaborationAnalysisTemplate's - // String and GoString methods. + // The identifier of a member in a collaboration. + MembershipId *string `locationName:"membershipId" min:"36" type:"string"` + + // A human-readable identifier provided by the collaboration owner. Display + // names are not unique. // - // Source is a required field - Source *AnalysisSource `locationName:"source" type:"structure" required:"true" sensitive:"true"` + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The time that the analysis template in the collaboration was last updated. + // The time the collaboration metadata was last updated. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` - - // The validations that were performed. - Validations []*AnalysisTemplateValidationStatusDetail `locationName:"validations" type:"list"` } // String returns the string representation. @@ -8673,7 +10819,7 @@ type CollaborationAnalysisTemplate 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 CollaborationAnalysisTemplate) String() string { +func (s CollaborationSummary) String() string { return awsutil.Prettify(s) } @@ -8682,141 +10828,183 @@ func (s CollaborationAnalysisTemplate) 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 CollaborationAnalysisTemplate) GoString() string { +func (s CollaborationSummary) GoString() string { return s.String() } -// SetAnalysisParameters sets the AnalysisParameters field's value. -func (s *CollaborationAnalysisTemplate) SetAnalysisParameters(v []*AnalysisParameter) *CollaborationAnalysisTemplate { - s.AnalysisParameters = v - return s -} - // SetArn sets the Arn field's value. -func (s *CollaborationAnalysisTemplate) SetArn(v string) *CollaborationAnalysisTemplate { +func (s *CollaborationSummary) SetArn(v string) *CollaborationSummary { s.Arn = &v return s } -// SetCollaborationArn sets the CollaborationArn field's value. -func (s *CollaborationAnalysisTemplate) SetCollaborationArn(v string) *CollaborationAnalysisTemplate { - s.CollaborationArn = &v +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationSummary) SetCreateTime(v time.Time) *CollaborationSummary { + s.CreateTime = &v return s } -// SetCollaborationId sets the CollaborationId field's value. -func (s *CollaborationAnalysisTemplate) SetCollaborationId(v string) *CollaborationAnalysisTemplate { - s.CollaborationId = &v +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationSummary) SetCreatorAccountId(v string) *CollaborationSummary { + s.CreatorAccountId = &v return s } -// SetCreateTime sets the CreateTime field's value. -func (s *CollaborationAnalysisTemplate) SetCreateTime(v time.Time) *CollaborationAnalysisTemplate { - s.CreateTime = &v +// SetCreatorDisplayName sets the CreatorDisplayName field's value. +func (s *CollaborationSummary) SetCreatorDisplayName(v string) *CollaborationSummary { + s.CreatorDisplayName = &v return s } -// SetCreatorAccountId sets the CreatorAccountId field's value. -func (s *CollaborationAnalysisTemplate) SetCreatorAccountId(v string) *CollaborationAnalysisTemplate { - s.CreatorAccountId = &v +// SetId sets the Id field's value. +func (s *CollaborationSummary) SetId(v string) *CollaborationSummary { + s.Id = &v return s } -// SetDescription sets the Description field's value. -func (s *CollaborationAnalysisTemplate) SetDescription(v string) *CollaborationAnalysisTemplate { - s.Description = &v +// SetMemberStatus sets the MemberStatus field's value. +func (s *CollaborationSummary) SetMemberStatus(v string) *CollaborationSummary { + s.MemberStatus = &v return s } -// SetFormat sets the Format field's value. -func (s *CollaborationAnalysisTemplate) SetFormat(v string) *CollaborationAnalysisTemplate { - s.Format = &v +// SetMembershipArn sets the MembershipArn field's value. +func (s *CollaborationSummary) SetMembershipArn(v string) *CollaborationSummary { + s.MembershipArn = &v return s } -// SetId sets the Id field's value. -func (s *CollaborationAnalysisTemplate) SetId(v string) *CollaborationAnalysisTemplate { - s.Id = &v +// SetMembershipId sets the MembershipId field's value. +func (s *CollaborationSummary) SetMembershipId(v string) *CollaborationSummary { + s.MembershipId = &v return s } // SetName sets the Name field's value. -func (s *CollaborationAnalysisTemplate) SetName(v string) *CollaborationAnalysisTemplate { +func (s *CollaborationSummary) SetName(v string) *CollaborationSummary { s.Name = &v return s } -// SetSchema sets the Schema field's value. -func (s *CollaborationAnalysisTemplate) SetSchema(v *AnalysisSchema) *CollaborationAnalysisTemplate { - s.Schema = v +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationSummary) SetUpdateTime(v time.Time) *CollaborationSummary { + s.UpdateTime = &v return s } -// SetSource sets the Source field's value. -func (s *CollaborationAnalysisTemplate) SetSource(v *AnalysisSource) *CollaborationAnalysisTemplate { - s.Source = v - return s +// A column within a schema relation, derived from the underlying Glue table. +type Column struct { + _ struct{} `type:"structure"` + + // The name of the column. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The type of the column. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true"` } -// SetUpdateTime sets the UpdateTime field's value. -func (s *CollaborationAnalysisTemplate) SetUpdateTime(v time.Time) *CollaborationAnalysisTemplate { - s.UpdateTime = &v +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Column) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Column) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *Column) SetName(v string) *Column { + s.Name = &v return s } -// SetValidations sets the Validations field's value. -func (s *CollaborationAnalysisTemplate) SetValidations(v []*AnalysisTemplateValidationStatusDetail) *CollaborationAnalysisTemplate { - s.Validations = v +// SetType sets the Type field's value. +func (s *Column) SetType(v string) *Column { + s.Type = &v return s } -// The metadata of the analysis template within a collaboration. -type CollaborationAnalysisTemplateSummary struct { +// Details about the configured audience model association. +type ConfiguredAudienceModelAssociation struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the analysis template. + // The Amazon Resource Name (ARN) of the configured audience model association. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - // The unique ARN for the analysis template’s associated collaboration. + // The Amazon Resource Name (ARN) of the collaboration that contains this configured + // audience model association. // // CollaborationArn is a required field CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` - // A unique identifier for the collaboration that the analysis templates belong - // to. Currently accepts collaboration ID. + // A unique identifier of the collaboration that contains this configured audience + // model association. // // CollaborationId is a required field CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` - // The time that the summary of the analysis template in a collaboration was - // created. + // The Amazon Resource Name (ARN) of the configured audience model that was + // used for this configured audience model association. // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` - // The identifier used to reference members of the collaboration. Currently - // only supports Amazon Web Services account ID. + // The time at which the configured audience model association was created. // - // CreatorAccountId is a required field - CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // The description of the analysis template. + // The description of the configured audience model association. Description *string `locationName:"description" type:"string"` - // The identifier of the analysis template. + // A unique identifier of the configured audience model association. // // Id is a required field Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The name of the analysis template. + // When TRUE, indicates that the resource policy for the configured audience + // model resource being associated is configured for Clean Rooms to manage permissions + // related to the given collaboration. When FALSE, indicates that the configured + // audience model resource owner will manage permissions related to the given + // collaboration. + // + // ManageResourcePolicies is a required field + ManageResourcePolicies *bool `locationName:"manageResourcePolicies" type:"boolean" required:"true"` + + // The Amazon Resource Name (ARN) of the membership that contains this configured + // audience model association. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + + // A unique identifier for the membership that contains this configured audience + // model association. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + + // The name of the configured audience model association. // // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The time that the summary of the analysis template in the collaboration was - // last updated. + // The most recent time at which the configured audience model association was + // updated. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` @@ -8827,7 +11015,7 @@ type CollaborationAnalysisTemplateSummary 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 CollaborationAnalysisTemplateSummary) String() string { +func (s ConfiguredAudienceModelAssociation) String() string { return awsutil.Prettify(s) } @@ -8836,66 +11024,84 @@ func (s CollaborationAnalysisTemplateSummary) 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 CollaborationAnalysisTemplateSummary) GoString() string { +func (s ConfiguredAudienceModelAssociation) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *CollaborationAnalysisTemplateSummary) SetArn(v string) *CollaborationAnalysisTemplateSummary { +func (s *ConfiguredAudienceModelAssociation) SetArn(v string) *ConfiguredAudienceModelAssociation { s.Arn = &v return s } // SetCollaborationArn sets the CollaborationArn field's value. -func (s *CollaborationAnalysisTemplateSummary) SetCollaborationArn(v string) *CollaborationAnalysisTemplateSummary { +func (s *ConfiguredAudienceModelAssociation) SetCollaborationArn(v string) *ConfiguredAudienceModelAssociation { s.CollaborationArn = &v return s } // SetCollaborationId sets the CollaborationId field's value. -func (s *CollaborationAnalysisTemplateSummary) SetCollaborationId(v string) *CollaborationAnalysisTemplateSummary { +func (s *ConfiguredAudienceModelAssociation) SetCollaborationId(v string) *ConfiguredAudienceModelAssociation { s.CollaborationId = &v return s } -// SetCreateTime sets the CreateTime field's value. -func (s *CollaborationAnalysisTemplateSummary) SetCreateTime(v time.Time) *CollaborationAnalysisTemplateSummary { - s.CreateTime = &v +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *ConfiguredAudienceModelAssociation) SetConfiguredAudienceModelArn(v string) *ConfiguredAudienceModelAssociation { + s.ConfiguredAudienceModelArn = &v return s } -// SetCreatorAccountId sets the CreatorAccountId field's value. -func (s *CollaborationAnalysisTemplateSummary) SetCreatorAccountId(v string) *CollaborationAnalysisTemplateSummary { - s.CreatorAccountId = &v +// SetCreateTime sets the CreateTime field's value. +func (s *ConfiguredAudienceModelAssociation) SetCreateTime(v time.Time) *ConfiguredAudienceModelAssociation { + s.CreateTime = &v return s } // SetDescription sets the Description field's value. -func (s *CollaborationAnalysisTemplateSummary) SetDescription(v string) *CollaborationAnalysisTemplateSummary { +func (s *ConfiguredAudienceModelAssociation) SetDescription(v string) *ConfiguredAudienceModelAssociation { s.Description = &v return s } // SetId sets the Id field's value. -func (s *CollaborationAnalysisTemplateSummary) SetId(v string) *CollaborationAnalysisTemplateSummary { +func (s *ConfiguredAudienceModelAssociation) SetId(v string) *ConfiguredAudienceModelAssociation { s.Id = &v return s } +// SetManageResourcePolicies sets the ManageResourcePolicies field's value. +func (s *ConfiguredAudienceModelAssociation) SetManageResourcePolicies(v bool) *ConfiguredAudienceModelAssociation { + s.ManageResourcePolicies = &v + return s +} + +// SetMembershipArn sets the MembershipArn field's value. +func (s *ConfiguredAudienceModelAssociation) SetMembershipArn(v string) *ConfiguredAudienceModelAssociation { + s.MembershipArn = &v + return s +} + +// SetMembershipId sets the MembershipId field's value. +func (s *ConfiguredAudienceModelAssociation) SetMembershipId(v string) *ConfiguredAudienceModelAssociation { + s.MembershipId = &v + return s +} + // SetName sets the Name field's value. -func (s *CollaborationAnalysisTemplateSummary) SetName(v string) *CollaborationAnalysisTemplateSummary { +func (s *ConfiguredAudienceModelAssociation) SetName(v string) *ConfiguredAudienceModelAssociation { s.Name = &v return s } // SetUpdateTime sets the UpdateTime field's value. -func (s *CollaborationAnalysisTemplateSummary) SetUpdateTime(v time.Time) *CollaborationAnalysisTemplateSummary { +func (s *ConfiguredAudienceModelAssociation) SetUpdateTime(v time.Time) *ConfiguredAudienceModelAssociation { s.UpdateTime = &v return s } -// The configured audience model association within a collaboration. -type CollaborationConfiguredAudienceModelAssociation struct { +// A summary of the configured audience model association. +type ConfiguredAudienceModelAssociationSummary struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the configured audience model association. @@ -8903,18 +11109,20 @@ type CollaborationConfiguredAudienceModelAssociation struct { // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - // The unique ARN for the configured audience model's associated collaboration. + // The Amazon Resource Name (ARN) of the collaboration that contains the configured + // audience model association. // // CollaborationArn is a required field CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` - // A unique identifier for the collaboration that the configured audience model - // associations belong to. Accepts collaboration ID. + // A unique identifier of the collaboration that configured audience model is + // associated with. // // CollaborationId is a required field CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` - // The Amazon Resource Name (ARN) of the configure audience model. + // The Amazon Resource Name (ARN) of the configured audience model that was + // used for this configured audience model association. // // ConfiguredAudienceModelArn is a required field ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` @@ -8924,20 +11132,26 @@ type CollaborationConfiguredAudienceModelAssociation struct { // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // The identifier used to reference members of the collaboration. Only supports - // AWS account ID. - // - // CreatorAccountId is a required field - CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` - // The description of the configured audience model association. Description *string `locationName:"description" type:"string"` - // The identifier of the configured audience model association. + // A unique identifier of the configured audience model association. // // Id is a required field Id *string `locationName:"id" min:"36" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the membership that contains the configured + // audience model association. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + + // A unique identifier of the membership that contains the configured audience + // model association. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + // The name of the configured audience model association. // // Name is a required field @@ -8955,7 +11169,7 @@ type CollaborationConfiguredAudienceModelAssociation 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 CollaborationConfiguredAudienceModelAssociation) String() string { +func (s ConfiguredAudienceModelAssociationSummary) String() string { return awsutil.Prettify(s) } @@ -8964,116 +11178,127 @@ func (s CollaborationConfiguredAudienceModelAssociation) 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 CollaborationConfiguredAudienceModelAssociation) GoString() string { +func (s ConfiguredAudienceModelAssociationSummary) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *CollaborationConfiguredAudienceModelAssociation) SetArn(v string) *CollaborationConfiguredAudienceModelAssociation { +func (s *ConfiguredAudienceModelAssociationSummary) SetArn(v string) *ConfiguredAudienceModelAssociationSummary { s.Arn = &v return s } // SetCollaborationArn sets the CollaborationArn field's value. -func (s *CollaborationConfiguredAudienceModelAssociation) SetCollaborationArn(v string) *CollaborationConfiguredAudienceModelAssociation { +func (s *ConfiguredAudienceModelAssociationSummary) SetCollaborationArn(v string) *ConfiguredAudienceModelAssociationSummary { s.CollaborationArn = &v return s } // SetCollaborationId sets the CollaborationId field's value. -func (s *CollaborationConfiguredAudienceModelAssociation) SetCollaborationId(v string) *CollaborationConfiguredAudienceModelAssociation { +func (s *ConfiguredAudienceModelAssociationSummary) SetCollaborationId(v string) *ConfiguredAudienceModelAssociationSummary { s.CollaborationId = &v return s } // SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. -func (s *CollaborationConfiguredAudienceModelAssociation) SetConfiguredAudienceModelArn(v string) *CollaborationConfiguredAudienceModelAssociation { +func (s *ConfiguredAudienceModelAssociationSummary) SetConfiguredAudienceModelArn(v string) *ConfiguredAudienceModelAssociationSummary { s.ConfiguredAudienceModelArn = &v return s } // SetCreateTime sets the CreateTime field's value. -func (s *CollaborationConfiguredAudienceModelAssociation) SetCreateTime(v time.Time) *CollaborationConfiguredAudienceModelAssociation { +func (s *ConfiguredAudienceModelAssociationSummary) SetCreateTime(v time.Time) *ConfiguredAudienceModelAssociationSummary { s.CreateTime = &v return s } -// SetCreatorAccountId sets the CreatorAccountId field's value. -func (s *CollaborationConfiguredAudienceModelAssociation) SetCreatorAccountId(v string) *CollaborationConfiguredAudienceModelAssociation { - s.CreatorAccountId = &v - return s -} - // SetDescription sets the Description field's value. -func (s *CollaborationConfiguredAudienceModelAssociation) SetDescription(v string) *CollaborationConfiguredAudienceModelAssociation { +func (s *ConfiguredAudienceModelAssociationSummary) SetDescription(v string) *ConfiguredAudienceModelAssociationSummary { s.Description = &v return s } // SetId sets the Id field's value. -func (s *CollaborationConfiguredAudienceModelAssociation) SetId(v string) *CollaborationConfiguredAudienceModelAssociation { +func (s *ConfiguredAudienceModelAssociationSummary) SetId(v string) *ConfiguredAudienceModelAssociationSummary { s.Id = &v return s } +// SetMembershipArn sets the MembershipArn field's value. +func (s *ConfiguredAudienceModelAssociationSummary) SetMembershipArn(v string) *ConfiguredAudienceModelAssociationSummary { + s.MembershipArn = &v + return s +} + +// SetMembershipId sets the MembershipId field's value. +func (s *ConfiguredAudienceModelAssociationSummary) SetMembershipId(v string) *ConfiguredAudienceModelAssociationSummary { + s.MembershipId = &v + return s +} + // SetName sets the Name field's value. -func (s *CollaborationConfiguredAudienceModelAssociation) SetName(v string) *CollaborationConfiguredAudienceModelAssociation { +func (s *ConfiguredAudienceModelAssociationSummary) SetName(v string) *ConfiguredAudienceModelAssociationSummary { s.Name = &v return s } // SetUpdateTime sets the UpdateTime field's value. -func (s *CollaborationConfiguredAudienceModelAssociation) SetUpdateTime(v time.Time) *CollaborationConfiguredAudienceModelAssociation { +func (s *ConfiguredAudienceModelAssociationSummary) SetUpdateTime(v time.Time) *ConfiguredAudienceModelAssociationSummary { s.UpdateTime = &v return s } -// A summary of the configured audience model association in the collaboration. -type CollaborationConfiguredAudienceModelAssociationSummary struct { +// A table that has been configured for use in a collaboration. +type ConfiguredTable struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the configured audience model association. + // The columns within the underlying Glue table that can be utilized within + // collaborations. // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` + // AllowedColumns is a required field + AllowedColumns []*string `locationName:"allowedColumns" min:"1" type:"list" required:"true"` - // The unique ARN for the configured audience model's associated collaboration. + // The analysis method for the configured table. The only valid value is currently + // `DIRECT_QUERY`. // - // CollaborationArn is a required field - CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + // AnalysisMethod is a required field + AnalysisMethod *string `locationName:"analysisMethod" type:"string" required:"true" enum:"AnalysisMethod"` - // A unique identifier for the collaboration that the configured audience model - // associations belong to. Accepts collaboration ID. + // The types of analysis rules associated with this configured table. Currently, + // only one analysis rule may be associated with a configured table. // - // CollaborationId is a required field - CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + // AnalysisRuleTypes is a required field + AnalysisRuleTypes []*string `locationName:"analysisRuleTypes" type:"list" required:"true" enum:"ConfiguredTableAnalysisRuleType"` - // The time at which the configured audience model association was created. + // The unique ARN for the configured table. // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` - // The identifier used to reference members of the collaboration. Only supports - // AWS account ID. + // The time the configured table was created. // - // CreatorAccountId is a required field - CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // The description of the configured audience model association. + // A description for the configured table. Description *string `locationName:"description" type:"string"` - // The identifier of the configured audience model association. + // The unique ID for the configured table. // // Id is a required field Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The name of the configured audience model association. + // A name for the configured table. // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The most recent time at which the configured audience model association was - // updated. + // The Glue table that this configured table represents. + // + // TableReference is a required field + TableReference *TableReference `locationName:"tableReference" type:"structure" required:"true"` + + // The time the configured table was last updated // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` @@ -9084,7 +11309,7 @@ type CollaborationConfiguredAudienceModelAssociationSummary 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 CollaborationConfiguredAudienceModelAssociationSummary) String() string { +func (s ConfiguredTable) String() string { return awsutil.Prettify(s) } @@ -9093,116 +11318,101 @@ func (s CollaborationConfiguredAudienceModelAssociationSummary) 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 CollaborationConfiguredAudienceModelAssociationSummary) GoString() string { +func (s ConfiguredTable) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetArn(v string) *CollaborationConfiguredAudienceModelAssociationSummary { - s.Arn = &v +// SetAllowedColumns sets the AllowedColumns field's value. +func (s *ConfiguredTable) SetAllowedColumns(v []*string) *ConfiguredTable { + s.AllowedColumns = v return s } -// SetCollaborationArn sets the CollaborationArn field's value. -func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetCollaborationArn(v string) *CollaborationConfiguredAudienceModelAssociationSummary { - s.CollaborationArn = &v +// SetAnalysisMethod sets the AnalysisMethod field's value. +func (s *ConfiguredTable) SetAnalysisMethod(v string) *ConfiguredTable { + s.AnalysisMethod = &v return s } -// SetCollaborationId sets the CollaborationId field's value. -func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetCollaborationId(v string) *CollaborationConfiguredAudienceModelAssociationSummary { - s.CollaborationId = &v +// SetAnalysisRuleTypes sets the AnalysisRuleTypes field's value. +func (s *ConfiguredTable) SetAnalysisRuleTypes(v []*string) *ConfiguredTable { + s.AnalysisRuleTypes = v return s } -// SetCreateTime sets the CreateTime field's value. -func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetCreateTime(v time.Time) *CollaborationConfiguredAudienceModelAssociationSummary { - s.CreateTime = &v +// SetArn sets the Arn field's value. +func (s *ConfiguredTable) SetArn(v string) *ConfiguredTable { + s.Arn = &v return s } -// SetCreatorAccountId sets the CreatorAccountId field's value. -func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetCreatorAccountId(v string) *CollaborationConfiguredAudienceModelAssociationSummary { - s.CreatorAccountId = &v +// SetCreateTime sets the CreateTime field's value. +func (s *ConfiguredTable) SetCreateTime(v time.Time) *ConfiguredTable { + s.CreateTime = &v return s } // SetDescription sets the Description field's value. -func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetDescription(v string) *CollaborationConfiguredAudienceModelAssociationSummary { +func (s *ConfiguredTable) SetDescription(v string) *ConfiguredTable { s.Description = &v return s } // SetId sets the Id field's value. -func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetId(v string) *CollaborationConfiguredAudienceModelAssociationSummary { +func (s *ConfiguredTable) SetId(v string) *ConfiguredTable { s.Id = &v return s } // SetName sets the Name field's value. -func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetName(v string) *CollaborationConfiguredAudienceModelAssociationSummary { +func (s *ConfiguredTable) SetName(v string) *ConfiguredTable { s.Name = &v return s } +// SetTableReference sets the TableReference field's value. +func (s *ConfiguredTable) SetTableReference(v *TableReference) *ConfiguredTable { + s.TableReference = v + return s +} + // SetUpdateTime sets the UpdateTime field's value. -func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetUpdateTime(v time.Time) *CollaborationConfiguredAudienceModelAssociationSummary { +func (s *ConfiguredTable) SetUpdateTime(v time.Time) *ConfiguredTable { s.UpdateTime = &v return s } -// A summary of the collaboration privacy budgets. This summary includes the -// collaboration information, creation information, epsilon provided, and utility -// in terms of aggregations. -type CollaborationPrivacyBudgetSummary struct { +// A configured table analysis rule, which limits how data for this table can +// be used. +type ConfiguredTableAnalysisRule struct { _ struct{} `type:"structure"` - // The includes epsilon provided and utility in terms of aggregations. - // - // Budget is a required field - Budget *PrivacyBudget `locationName:"budget" type:"structure" required:"true"` - - // The ARN of the collaboration that includes this privacy budget. + // The unique ARN for the configured table. // - // CollaborationArn is a required field - CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + // ConfiguredTableArn is a required field + ConfiguredTableArn *string `locationName:"configuredTableArn" type:"string" required:"true"` - // The unique identifier of the collaboration that includes this privacy budget. + // The unique ID for the configured table. // - // CollaborationId is a required field - CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + // ConfiguredTableId is a required field + ConfiguredTableId *string `locationName:"configuredTableId" min:"36" type:"string" required:"true"` - // The time at which the privacy budget was created. + // The time the configured table analysis rule was created. // // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // The unique identifier of the account that created this privacy budget. - // - // CreatorAccountId is a required field - CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` - - // The unique identifier of the collaboration privacy budget. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` - - // The ARN of the collaboration privacy budget template. - // - // PrivacyBudgetTemplateArn is a required field - PrivacyBudgetTemplateArn *string `locationName:"privacyBudgetTemplateArn" type:"string" required:"true"` - - // The unique identifier of the collaboration privacy budget template. + // The policy that controls SQL query rules. // - // PrivacyBudgetTemplateId is a required field - PrivacyBudgetTemplateId *string `locationName:"privacyBudgetTemplateId" min:"36" type:"string" required:"true"` + // Policy is a required field + Policy *ConfiguredTableAnalysisRulePolicy `locationName:"policy" type:"structure" required:"true"` - // The type of privacy budget template. + // The type of configured table analysis rule. // // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"PrivacyBudgetType"` + Type *string `locationName:"type" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` - // The most recent time at which the privacy budget was updated. + // The time the configured table analysis rule was last updated. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` @@ -9213,7 +11423,7 @@ type CollaborationPrivacyBudgetSummary 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 CollaborationPrivacyBudgetSummary) String() string { +func (s ConfiguredTableAnalysisRule) String() string { return awsutil.Prettify(s) } @@ -9222,135 +11432,52 @@ func (s CollaborationPrivacyBudgetSummary) 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 CollaborationPrivacyBudgetSummary) GoString() string { +func (s ConfiguredTableAnalysisRule) GoString() string { return s.String() } -// SetBudget sets the Budget field's value. -func (s *CollaborationPrivacyBudgetSummary) SetBudget(v *PrivacyBudget) *CollaborationPrivacyBudgetSummary { - s.Budget = v - return s -} - -// SetCollaborationArn sets the CollaborationArn field's value. -func (s *CollaborationPrivacyBudgetSummary) SetCollaborationArn(v string) *CollaborationPrivacyBudgetSummary { - s.CollaborationArn = &v - return s -} - -// SetCollaborationId sets the CollaborationId field's value. -func (s *CollaborationPrivacyBudgetSummary) SetCollaborationId(v string) *CollaborationPrivacyBudgetSummary { - s.CollaborationId = &v - return s -} - -// SetCreateTime sets the CreateTime field's value. -func (s *CollaborationPrivacyBudgetSummary) SetCreateTime(v time.Time) *CollaborationPrivacyBudgetSummary { - s.CreateTime = &v - return s -} - -// SetCreatorAccountId sets the CreatorAccountId field's value. -func (s *CollaborationPrivacyBudgetSummary) SetCreatorAccountId(v string) *CollaborationPrivacyBudgetSummary { - s.CreatorAccountId = &v +// SetConfiguredTableArn sets the ConfiguredTableArn field's value. +func (s *ConfiguredTableAnalysisRule) SetConfiguredTableArn(v string) *ConfiguredTableAnalysisRule { + s.ConfiguredTableArn = &v return s } -// SetId sets the Id field's value. -func (s *CollaborationPrivacyBudgetSummary) SetId(v string) *CollaborationPrivacyBudgetSummary { - s.Id = &v +// SetConfiguredTableId sets the ConfiguredTableId field's value. +func (s *ConfiguredTableAnalysisRule) SetConfiguredTableId(v string) *ConfiguredTableAnalysisRule { + s.ConfiguredTableId = &v return s } -// SetPrivacyBudgetTemplateArn sets the PrivacyBudgetTemplateArn field's value. -func (s *CollaborationPrivacyBudgetSummary) SetPrivacyBudgetTemplateArn(v string) *CollaborationPrivacyBudgetSummary { - s.PrivacyBudgetTemplateArn = &v +// SetCreateTime sets the CreateTime field's value. +func (s *ConfiguredTableAnalysisRule) SetCreateTime(v time.Time) *ConfiguredTableAnalysisRule { + s.CreateTime = &v return s } -// SetPrivacyBudgetTemplateId sets the PrivacyBudgetTemplateId field's value. -func (s *CollaborationPrivacyBudgetSummary) SetPrivacyBudgetTemplateId(v string) *CollaborationPrivacyBudgetSummary { - s.PrivacyBudgetTemplateId = &v +// SetPolicy sets the Policy field's value. +func (s *ConfiguredTableAnalysisRule) SetPolicy(v *ConfiguredTableAnalysisRulePolicy) *ConfiguredTableAnalysisRule { + s.Policy = v return s } // SetType sets the Type field's value. -func (s *CollaborationPrivacyBudgetSummary) SetType(v string) *CollaborationPrivacyBudgetSummary { +func (s *ConfiguredTableAnalysisRule) SetType(v string) *ConfiguredTableAnalysisRule { s.Type = &v return s } // SetUpdateTime sets the UpdateTime field's value. -func (s *CollaborationPrivacyBudgetSummary) SetUpdateTime(v time.Time) *CollaborationPrivacyBudgetSummary { +func (s *ConfiguredTableAnalysisRule) SetUpdateTime(v time.Time) *ConfiguredTableAnalysisRule { s.UpdateTime = &v return s } -// An array that specifies the information for a collaboration's privacy budget -// template. -type CollaborationPrivacyBudgetTemplate struct { +// Controls on the query specifications that can be run on a configured table. +type ConfiguredTableAnalysisRulePolicy struct { _ struct{} `type:"structure"` - // The ARN of the collaboration privacy budget template. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` - - // How often the privacy budget refreshes. - // - // If you plan to regularly bring new data into the collaboration, use CALENDAR_MONTH - // to automatically get a new privacy budget for the collaboration every calendar - // month. Choosing this option allows arbitrary amounts of information to be - // revealed about rows of the data when repeatedly queried across refreshes. - // Avoid choosing this if the same rows will be repeatedly queried between privacy - // budget refreshes. - // - // AutoRefresh is a required field - AutoRefresh *string `locationName:"autoRefresh" type:"string" required:"true" enum:"PrivacyBudgetTemplateAutoRefresh"` - - // The ARN of the collaboration that includes this collaboration privacy budget - // template. - // - // CollaborationArn is a required field - CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` - - // The unique identifier of the collaboration that includes this collaboration - // privacy budget template. - // - // CollaborationId is a required field - CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` - - // The time at which the collaboration privacy budget template was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - - // The unique identifier of the account that created this collaboration privacy - // budget template. - // - // CreatorAccountId is a required field - CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` - - // The unique identifier of the collaboration privacy budget template. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` - - // Specifies the epsilon and noise parameters for the privacy budget template. - // - // Parameters is a required field - Parameters *PrivacyBudgetTemplateParametersOutput_ `locationName:"parameters" type:"structure" required:"true"` - - // The type of privacy budget template. - // - // PrivacyBudgetType is a required field - PrivacyBudgetType *string `locationName:"privacyBudgetType" type:"string" required:"true" enum:"PrivacyBudgetType"` - - // The most recent time at which the collaboration privacy budget template was - // updated. - // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // Controls on the query specifications that can be run on a configured table. + V1 *ConfiguredTableAnalysisRulePolicyV1 `locationName:"v1" type:"structure"` } // String returns the string representation. @@ -9358,7 +11485,7 @@ type CollaborationPrivacyBudgetTemplate 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 CollaborationPrivacyBudgetTemplate) String() string { +func (s ConfiguredTableAnalysisRulePolicy) String() string { return awsutil.Prettify(s) } @@ -9367,116 +11494,166 @@ func (s CollaborationPrivacyBudgetTemplate) 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 CollaborationPrivacyBudgetTemplate) GoString() string { +func (s ConfiguredTableAnalysisRulePolicy) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CollaborationPrivacyBudgetTemplate) SetArn(v string) *CollaborationPrivacyBudgetTemplate { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConfiguredTableAnalysisRulePolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConfiguredTableAnalysisRulePolicy"} + if s.V1 != nil { + if err := s.V1.Validate(); err != nil { + invalidParams.AddNested("V1", err.(request.ErrInvalidParams)) + } + } -// SetAutoRefresh sets the AutoRefresh field's value. -func (s *CollaborationPrivacyBudgetTemplate) SetAutoRefresh(v string) *CollaborationPrivacyBudgetTemplate { - s.AutoRefresh = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCollaborationArn sets the CollaborationArn field's value. -func (s *CollaborationPrivacyBudgetTemplate) SetCollaborationArn(v string) *CollaborationPrivacyBudgetTemplate { - s.CollaborationArn = &v +// SetV1 sets the V1 field's value. +func (s *ConfiguredTableAnalysisRulePolicy) SetV1(v *ConfiguredTableAnalysisRulePolicyV1) *ConfiguredTableAnalysisRulePolicy { + s.V1 = v return s } -// SetCollaborationId sets the CollaborationId field's value. -func (s *CollaborationPrivacyBudgetTemplate) SetCollaborationId(v string) *CollaborationPrivacyBudgetTemplate { - s.CollaborationId = &v - return s +// Controls on the query specifications that can be run on a configured table. +type ConfiguredTableAnalysisRulePolicyV1 struct { + _ struct{} `type:"structure"` + + // Analysis rule type that enables only aggregation queries on a configured + // table. + Aggregation *AnalysisRuleAggregation `locationName:"aggregation" type:"structure"` + + // A type of analysis rule that enables the table owner to approve custom SQL + // queries on their configured tables. It supports differential privacy. + Custom *AnalysisRuleCustom `locationName:"custom" type:"structure"` + + // Analysis rule type that enables only list queries on a configured table. + List *AnalysisRuleList `locationName:"list" type:"structure"` } -// SetCreateTime sets the CreateTime field's value. -func (s *CollaborationPrivacyBudgetTemplate) SetCreateTime(v time.Time) *CollaborationPrivacyBudgetTemplate { - s.CreateTime = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTableAnalysisRulePolicyV1) String() string { + return awsutil.Prettify(s) } -// SetCreatorAccountId sets the CreatorAccountId field's value. -func (s *CollaborationPrivacyBudgetTemplate) SetCreatorAccountId(v string) *CollaborationPrivacyBudgetTemplate { - s.CreatorAccountId = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTableAnalysisRulePolicyV1) GoString() string { + return s.String() } -// SetId sets the Id field's value. -func (s *CollaborationPrivacyBudgetTemplate) SetId(v string) *CollaborationPrivacyBudgetTemplate { - s.Id = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConfiguredTableAnalysisRulePolicyV1) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConfiguredTableAnalysisRulePolicyV1"} + if s.Aggregation != nil { + if err := s.Aggregation.Validate(); err != nil { + invalidParams.AddNested("Aggregation", err.(request.ErrInvalidParams)) + } + } + if s.Custom != nil { + if err := s.Custom.Validate(); err != nil { + invalidParams.AddNested("Custom", err.(request.ErrInvalidParams)) + } + } + if s.List != nil { + if err := s.List.Validate(); err != nil { + invalidParams.AddNested("List", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetParameters sets the Parameters field's value. -func (s *CollaborationPrivacyBudgetTemplate) SetParameters(v *PrivacyBudgetTemplateParametersOutput_) *CollaborationPrivacyBudgetTemplate { - s.Parameters = v +// SetAggregation sets the Aggregation field's value. +func (s *ConfiguredTableAnalysisRulePolicyV1) SetAggregation(v *AnalysisRuleAggregation) *ConfiguredTableAnalysisRulePolicyV1 { + s.Aggregation = v return s } -// SetPrivacyBudgetType sets the PrivacyBudgetType field's value. -func (s *CollaborationPrivacyBudgetTemplate) SetPrivacyBudgetType(v string) *CollaborationPrivacyBudgetTemplate { - s.PrivacyBudgetType = &v +// SetCustom sets the Custom field's value. +func (s *ConfiguredTableAnalysisRulePolicyV1) SetCustom(v *AnalysisRuleCustom) *ConfiguredTableAnalysisRulePolicyV1 { + s.Custom = v return s } -// SetUpdateTime sets the UpdateTime field's value. -func (s *CollaborationPrivacyBudgetTemplate) SetUpdateTime(v time.Time) *CollaborationPrivacyBudgetTemplate { - s.UpdateTime = &v +// SetList sets the List field's value. +func (s *ConfiguredTableAnalysisRulePolicyV1) SetList(v *AnalysisRuleList) *ConfiguredTableAnalysisRulePolicyV1 { + s.List = v return s } -// A summary of the collaboration's privacy budget template. This summary includes -// information about who created the privacy budget template and what collaborations -// it belongs to. -type CollaborationPrivacyBudgetTemplateSummary struct { +// A configured table association links a configured table to a collaboration. +type ConfiguredTableAssociation struct { _ struct{} `type:"structure"` - // The ARN of the collaboration privacy budget template. + // The unique ARN for the configured table association. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - // The ARN of the collaboration that contains this collaboration privacy budget - // template. + // The unique ARN for the configured table that the association refers to. // - // CollaborationArn is a required field - CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + // ConfiguredTableArn is a required field + ConfiguredTableArn *string `locationName:"configuredTableArn" type:"string" required:"true"` - // The unique identifier of the collaboration that contains this collaboration - // privacy budget template. + // The unique ID for the configured table that the association refers to. // - // CollaborationId is a required field - CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + // ConfiguredTableId is a required field + ConfiguredTableId *string `locationName:"configuredTableId" min:"36" type:"string" required:"true"` - // The time at which the collaboration privacy budget template was created. + // The time the configured table association was created. // // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // The unique identifier of the account that created this collaboration privacy - // budget template. - // - // CreatorAccountId is a required field - CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + // A description of the configured table association. + Description *string `locationName:"description" type:"string"` - // The unique identifier of the collaboration privacy budget template. + // The unique ID for the configured table association. // // Id is a required field Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The type of the privacy budget template. + // The unique ARN for the membership this configured table association belongs + // to. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + + // The unique ID for the membership this configured table association belongs + // to. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + + // The name of the configured table association, in lowercase. The table is + // identified by this name when running protected queries against the underlying + // data. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The service will assume this role to access catalog metadata and query the + // table. // - // PrivacyBudgetType is a required field - PrivacyBudgetType *string `locationName:"privacyBudgetType" type:"string" required:"true" enum:"PrivacyBudgetType"` + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"` - // The most recent time at which the collaboration privacy budget template was - // updated. + // The time the configured table association was last updated. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` @@ -9487,7 +11664,7 @@ type CollaborationPrivacyBudgetTemplateSummary 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 CollaborationPrivacyBudgetTemplateSummary) String() string { +func (s ConfiguredTableAssociation) String() string { return awsutil.Prettify(s) } @@ -9496,106 +11673,120 @@ func (s CollaborationPrivacyBudgetTemplateSummary) 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 CollaborationPrivacyBudgetTemplateSummary) GoString() string { +func (s ConfiguredTableAssociation) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *CollaborationPrivacyBudgetTemplateSummary) SetArn(v string) *CollaborationPrivacyBudgetTemplateSummary { +func (s *ConfiguredTableAssociation) SetArn(v string) *ConfiguredTableAssociation { s.Arn = &v return s } -// SetCollaborationArn sets the CollaborationArn field's value. -func (s *CollaborationPrivacyBudgetTemplateSummary) SetCollaborationArn(v string) *CollaborationPrivacyBudgetTemplateSummary { - s.CollaborationArn = &v +// SetConfiguredTableArn sets the ConfiguredTableArn field's value. +func (s *ConfiguredTableAssociation) SetConfiguredTableArn(v string) *ConfiguredTableAssociation { + s.ConfiguredTableArn = &v return s } -// SetCollaborationId sets the CollaborationId field's value. -func (s *CollaborationPrivacyBudgetTemplateSummary) SetCollaborationId(v string) *CollaborationPrivacyBudgetTemplateSummary { - s.CollaborationId = &v +// SetConfiguredTableId sets the ConfiguredTableId field's value. +func (s *ConfiguredTableAssociation) SetConfiguredTableId(v string) *ConfiguredTableAssociation { + s.ConfiguredTableId = &v return s } // SetCreateTime sets the CreateTime field's value. -func (s *CollaborationPrivacyBudgetTemplateSummary) SetCreateTime(v time.Time) *CollaborationPrivacyBudgetTemplateSummary { +func (s *ConfiguredTableAssociation) SetCreateTime(v time.Time) *ConfiguredTableAssociation { s.CreateTime = &v return s } -// SetCreatorAccountId sets the CreatorAccountId field's value. -func (s *CollaborationPrivacyBudgetTemplateSummary) SetCreatorAccountId(v string) *CollaborationPrivacyBudgetTemplateSummary { - s.CreatorAccountId = &v +// SetDescription sets the Description field's value. +func (s *ConfiguredTableAssociation) SetDescription(v string) *ConfiguredTableAssociation { + s.Description = &v return s } // SetId sets the Id field's value. -func (s *CollaborationPrivacyBudgetTemplateSummary) SetId(v string) *CollaborationPrivacyBudgetTemplateSummary { +func (s *ConfiguredTableAssociation) SetId(v string) *ConfiguredTableAssociation { s.Id = &v return s } -// SetPrivacyBudgetType sets the PrivacyBudgetType field's value. -func (s *CollaborationPrivacyBudgetTemplateSummary) SetPrivacyBudgetType(v string) *CollaborationPrivacyBudgetTemplateSummary { - s.PrivacyBudgetType = &v +// SetMembershipArn sets the MembershipArn field's value. +func (s *ConfiguredTableAssociation) SetMembershipArn(v string) *ConfiguredTableAssociation { + s.MembershipArn = &v + return s +} + +// SetMembershipId sets the MembershipId field's value. +func (s *ConfiguredTableAssociation) SetMembershipId(v string) *ConfiguredTableAssociation { + s.MembershipId = &v + return s +} + +// SetName sets the Name field's value. +func (s *ConfiguredTableAssociation) SetName(v string) *ConfiguredTableAssociation { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *ConfiguredTableAssociation) SetRoleArn(v string) *ConfiguredTableAssociation { + s.RoleArn = &v return s } // SetUpdateTime sets the UpdateTime field's value. -func (s *CollaborationPrivacyBudgetTemplateSummary) SetUpdateTime(v time.Time) *CollaborationPrivacyBudgetTemplateSummary { +func (s *ConfiguredTableAssociation) SetUpdateTime(v time.Time) *ConfiguredTableAssociation { s.UpdateTime = &v return s } -// The metadata of the collaboration. -type CollaborationSummary struct { +// The configured table association summary for the objects listed by the request. +type ConfiguredTableAssociationSummary struct { _ struct{} `type:"structure"` - // The ARN of the collaboration. + // The unique ARN for the configured table association. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - // The time when the collaboration was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - - // The identifier used to reference members of the collaboration. Currently - // only supports Amazon Web Services account ID. + // The unique configured table ID that this configured table association refers + // to. // - // CreatorAccountId is a required field - CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + // ConfiguredTableId is a required field + ConfiguredTableId *string `locationName:"configuredTableId" min:"36" type:"string" required:"true"` - // The display name of the collaboration creator. + // The time the configured table association was created. // - // CreatorDisplayName is a required field - CreatorDisplayName *string `locationName:"creatorDisplayName" min:"1" type:"string" required:"true"` + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // The identifier for the collaboration. + // The unique ID for the configured table association. // // Id is a required field Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The status of a member in a collaboration. + // The unique ARN for the membership that the configured table association belongs + // to. // - // MemberStatus is a required field - MemberStatus *string `locationName:"memberStatus" type:"string" required:"true" enum:"MemberStatus"` - - // The ARN of a member in a collaboration. - MembershipArn *string `locationName:"membershipArn" type:"string"` + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` - // The identifier of a member in a collaboration. - MembershipId *string `locationName:"membershipId" min:"36" type:"string"` + // The unique ID for the membership that the configured table association belongs + // to. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` - // A human-readable identifier provided by the collaboration owner. Display - // names are not unique. + // The name of the configured table association. The table is identified by + // this name when running Protected Queries against the underlying data. // // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + Name *string `locationName:"name" type:"string" required:"true"` - // The time the collaboration metadata was last updated. + // The time the configured table association was last updated. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` @@ -9606,7 +11797,7 @@ type CollaborationSummary 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 CollaborationSummary) String() string { +func (s ConfiguredTableAssociationSummary) String() string { return awsutil.Prettify(s) } @@ -9615,183 +11806,94 @@ func (s CollaborationSummary) 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 CollaborationSummary) GoString() string { +func (s ConfiguredTableAssociationSummary) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *CollaborationSummary) SetArn(v string) *CollaborationSummary { +func (s *ConfiguredTableAssociationSummary) SetArn(v string) *ConfiguredTableAssociationSummary { s.Arn = &v return s } -// SetCreateTime sets the CreateTime field's value. -func (s *CollaborationSummary) SetCreateTime(v time.Time) *CollaborationSummary { - s.CreateTime = &v - return s -} - -// SetCreatorAccountId sets the CreatorAccountId field's value. -func (s *CollaborationSummary) SetCreatorAccountId(v string) *CollaborationSummary { - s.CreatorAccountId = &v +// SetConfiguredTableId sets the ConfiguredTableId field's value. +func (s *ConfiguredTableAssociationSummary) SetConfiguredTableId(v string) *ConfiguredTableAssociationSummary { + s.ConfiguredTableId = &v return s } -// SetCreatorDisplayName sets the CreatorDisplayName field's value. -func (s *CollaborationSummary) SetCreatorDisplayName(v string) *CollaborationSummary { - s.CreatorDisplayName = &v +// SetCreateTime sets the CreateTime field's value. +func (s *ConfiguredTableAssociationSummary) SetCreateTime(v time.Time) *ConfiguredTableAssociationSummary { + s.CreateTime = &v return s } // SetId sets the Id field's value. -func (s *CollaborationSummary) SetId(v string) *CollaborationSummary { +func (s *ConfiguredTableAssociationSummary) SetId(v string) *ConfiguredTableAssociationSummary { s.Id = &v return s } -// SetMemberStatus sets the MemberStatus field's value. -func (s *CollaborationSummary) SetMemberStatus(v string) *CollaborationSummary { - s.MemberStatus = &v - return s -} - // SetMembershipArn sets the MembershipArn field's value. -func (s *CollaborationSummary) SetMembershipArn(v string) *CollaborationSummary { +func (s *ConfiguredTableAssociationSummary) SetMembershipArn(v string) *ConfiguredTableAssociationSummary { s.MembershipArn = &v return s } // SetMembershipId sets the MembershipId field's value. -func (s *CollaborationSummary) SetMembershipId(v string) *CollaborationSummary { +func (s *ConfiguredTableAssociationSummary) SetMembershipId(v string) *ConfiguredTableAssociationSummary { s.MembershipId = &v return s } // SetName sets the Name field's value. -func (s *CollaborationSummary) SetName(v string) *CollaborationSummary { +func (s *ConfiguredTableAssociationSummary) SetName(v string) *ConfiguredTableAssociationSummary { s.Name = &v return s } // SetUpdateTime sets the UpdateTime field's value. -func (s *CollaborationSummary) SetUpdateTime(v time.Time) *CollaborationSummary { +func (s *ConfiguredTableAssociationSummary) SetUpdateTime(v time.Time) *ConfiguredTableAssociationSummary { s.UpdateTime = &v return s } -// A column within a schema relation, derived from the underlying Glue table. -type Column struct { +// The configured table summary for the objects listed by the request. +type ConfiguredTableSummary struct { _ struct{} `type:"structure"` - // The name of the column. + // The analysis method for the configured tables. The only valid value is currently + // `DIRECT_QUERY`. // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + // AnalysisMethod is a required field + AnalysisMethod *string `locationName:"analysisMethod" type:"string" required:"true" enum:"AnalysisMethod"` - // The type of the column. + // The types of analysis rules associated with this configured table. // - // Type is a required field - Type *string `locationName:"type" 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 Column) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s Column) GoString() string { - return s.String() -} - -// SetName sets the Name field's value. -func (s *Column) SetName(v string) *Column { - s.Name = &v - return s -} - -// SetType sets the Type field's value. -func (s *Column) SetType(v string) *Column { - s.Type = &v - return s -} - -// Details about the configured audience model association. -type ConfiguredAudienceModelAssociation struct { - _ struct{} `type:"structure"` + // AnalysisRuleTypes is a required field + AnalysisRuleTypes []*string `locationName:"analysisRuleTypes" type:"list" required:"true" enum:"ConfiguredTableAnalysisRuleType"` - // The Amazon Resource Name (ARN) of the configured audience model association. + // The unique ARN of the configured table. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - - // The Amazon Resource Name (ARN) of the collaboration that contains this configured - // audience model association. - // - // CollaborationArn is a required field - CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` - - // A unique identifier of the collaboration that contains this configured audience - // model association. - // - // CollaborationId is a required field - CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` - - // The Amazon Resource Name (ARN) of the configured audience model that was - // used for this configured audience model association. - // - // ConfiguredAudienceModelArn is a required field - ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` - - // The time at which the configured audience model association was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - - // The description of the configured audience model association. - Description *string `locationName:"description" type:"string"` - - // A unique identifier of the configured audience model association. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` - - // When TRUE, indicates that the resource policy for the configured audience - // model resource being associated is configured for Clean Rooms to manage permissions - // related to the given collaboration. When FALSE, indicates that the configured - // audience model resource owner will manage permissions related to the given - // collaboration. - // - // ManageResourcePolicies is a required field - ManageResourcePolicies *bool `locationName:"manageResourcePolicies" type:"boolean" required:"true"` - - // The Amazon Resource Name (ARN) of the membership that contains this configured - // audience model association. + + // The time the configured table was created. // - // MembershipArn is a required field - MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // A unique identifier for the membership that contains this configured audience - // model association. + // The unique ID of the configured table. // - // MembershipId is a required field - MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The name of the configured audience model association. + // The name of the configured table. // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The most recent time at which the configured audience model association was - // updated. + // The time the configured table was last updated. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` @@ -9802,7 +11904,7 @@ type ConfiguredAudienceModelAssociation 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 ConfiguredAudienceModelAssociation) String() string { +func (s ConfiguredTableSummary) String() string { return awsutil.Prettify(s) } @@ -9811,144 +11913,164 @@ func (s ConfiguredAudienceModelAssociation) 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 ConfiguredAudienceModelAssociation) GoString() string { +func (s ConfiguredTableSummary) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ConfiguredAudienceModelAssociation) SetArn(v string) *ConfiguredAudienceModelAssociation { - s.Arn = &v - return s -} - -// SetCollaborationArn sets the CollaborationArn field's value. -func (s *ConfiguredAudienceModelAssociation) SetCollaborationArn(v string) *ConfiguredAudienceModelAssociation { - s.CollaborationArn = &v +// SetAnalysisMethod sets the AnalysisMethod field's value. +func (s *ConfiguredTableSummary) SetAnalysisMethod(v string) *ConfiguredTableSummary { + s.AnalysisMethod = &v return s } -// SetCollaborationId sets the CollaborationId field's value. -func (s *ConfiguredAudienceModelAssociation) SetCollaborationId(v string) *ConfiguredAudienceModelAssociation { - s.CollaborationId = &v +// SetAnalysisRuleTypes sets the AnalysisRuleTypes field's value. +func (s *ConfiguredTableSummary) SetAnalysisRuleTypes(v []*string) *ConfiguredTableSummary { + s.AnalysisRuleTypes = v return s } -// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. -func (s *ConfiguredAudienceModelAssociation) SetConfiguredAudienceModelArn(v string) *ConfiguredAudienceModelAssociation { - s.ConfiguredAudienceModelArn = &v +// SetArn sets the Arn field's value. +func (s *ConfiguredTableSummary) SetArn(v string) *ConfiguredTableSummary { + s.Arn = &v return s } // SetCreateTime sets the CreateTime field's value. -func (s *ConfiguredAudienceModelAssociation) SetCreateTime(v time.Time) *ConfiguredAudienceModelAssociation { +func (s *ConfiguredTableSummary) SetCreateTime(v time.Time) *ConfiguredTableSummary { s.CreateTime = &v return s } -// SetDescription sets the Description field's value. -func (s *ConfiguredAudienceModelAssociation) SetDescription(v string) *ConfiguredAudienceModelAssociation { - s.Description = &v - return s -} - // SetId sets the Id field's value. -func (s *ConfiguredAudienceModelAssociation) SetId(v string) *ConfiguredAudienceModelAssociation { +func (s *ConfiguredTableSummary) SetId(v string) *ConfiguredTableSummary { s.Id = &v return s } -// SetManageResourcePolicies sets the ManageResourcePolicies field's value. -func (s *ConfiguredAudienceModelAssociation) SetManageResourcePolicies(v bool) *ConfiguredAudienceModelAssociation { - s.ManageResourcePolicies = &v +// SetName sets the Name field's value. +func (s *ConfiguredTableSummary) SetName(v string) *ConfiguredTableSummary { + s.Name = &v return s } -// SetMembershipArn sets the MembershipArn field's value. -func (s *ConfiguredAudienceModelAssociation) SetMembershipArn(v string) *ConfiguredAudienceModelAssociation { - s.MembershipArn = &v +// SetUpdateTime sets the UpdateTime field's value. +func (s *ConfiguredTableSummary) SetUpdateTime(v time.Time) *ConfiguredTableSummary { + s.UpdateTime = &v return s } -// SetMembershipId sets the MembershipId field's value. -func (s *ConfiguredAudienceModelAssociation) SetMembershipId(v string) *ConfiguredAudienceModelAssociation { - s.MembershipId = &v - return s +// Updating or deleting a resource can cause an inconsistent state. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // A reason code for the exception. + Reason *string `locationName:"reason" type:"string" enum:"ConflictExceptionReason"` + + // The ID of the conflicting resource. + ResourceId *string `locationName:"resourceId" type:"string"` + + // The type of the conflicting resource. + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` } -// SetName sets the Name field's value. -func (s *ConfiguredAudienceModelAssociation) SetName(v string) *ConfiguredAudienceModelAssociation { - s.Name = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) } -// SetUpdateTime sets the UpdateTime field's value. -func (s *ConfiguredAudienceModelAssociation) SetUpdateTime(v time.Time) *ConfiguredAudienceModelAssociation { - s.UpdateTime = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() } -// A summary of the configured audience model association. -type ConfiguredAudienceModelAssociationSummary struct { - _ struct{} `type:"structure"` +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} - // The Amazon Resource Name (ARN) of the configured audience model association. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} - // The Amazon Resource Name (ARN) of the collaboration that contains the configured - // audience model association. - // - // CollaborationArn is a required field - CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // A unique identifier of the collaboration that configured audience model is - // associated with. - // - // CollaborationId is a required field - CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} - // The Amazon Resource Name (ARN) of the configured audience model that was - // used for this configured audience model association. - // - // ConfiguredAudienceModelArn is a required field - ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} - // The time at which the configured audience model association was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The description of the configured audience model association. - Description *string `locationName:"description" type:"string"` +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} - // A unique identifier of the configured audience model association. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` +type CreateAnalysisTemplateInput struct { + _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the membership that contains the configured - // audience model association. + // The parameters of the analysis template. + AnalysisParameters []*AnalysisParameter `locationName:"analysisParameters" type:"list" sensitive:"true"` + + // The description of the analysis template. + Description *string `locationName:"description" type:"string"` + + // The format of the analysis template. // - // MembershipArn is a required field - MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + // Format is a required field + Format *string `locationName:"format" type:"string" required:"true" enum:"AnalysisFormat"` - // A unique identifier of the membership that contains the configured audience - // model association. + // The identifier for a membership resource. // - // MembershipId is a required field - MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The name of the configured audience model association. + // The name of the analysis template. // // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + Name *string `locationName:"name" type:"string" required:"true"` - // The most recent time at which the configured audience model association was - // updated. + // The information in the analysis template. Currently supports text, the query + // text for the analysis template. // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // Source is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateAnalysisTemplateInput's + // String and GoString methods. + // + // Source is a required field + Source *AnalysisSource `locationName:"source" type:"structure" required:"true" sensitive:"true"` + + // An optional label that you can assign to a resource when you create it. Each + // tag consists of a key and an optional value, both of which you define. When + // you use tagging, you can also use tag-based access control in IAM policies + // to control access to this resource. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -9956,7 +12078,7 @@ type ConfiguredAudienceModelAssociationSummary 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 ConfiguredAudienceModelAssociationSummary) String() string { +func (s CreateAnalysisTemplateInput) String() string { return awsutil.Prettify(s) } @@ -9965,130 +12087,170 @@ func (s ConfiguredAudienceModelAssociationSummary) 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 ConfiguredAudienceModelAssociationSummary) GoString() string { +func (s CreateAnalysisTemplateInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ConfiguredAudienceModelAssociationSummary) SetArn(v string) *ConfiguredAudienceModelAssociationSummary { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAnalysisTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAnalysisTemplateInput"} + if s.Format == nil { + invalidParams.Add(request.NewErrParamRequired("Format")) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.AnalysisParameters != nil { + for i, v := range s.AnalysisParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AnalysisParameters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCollaborationArn sets the CollaborationArn field's value. -func (s *ConfiguredAudienceModelAssociationSummary) SetCollaborationArn(v string) *ConfiguredAudienceModelAssociationSummary { - s.CollaborationArn = &v +// SetAnalysisParameters sets the AnalysisParameters field's value. +func (s *CreateAnalysisTemplateInput) SetAnalysisParameters(v []*AnalysisParameter) *CreateAnalysisTemplateInput { + s.AnalysisParameters = v return s } -// SetCollaborationId sets the CollaborationId field's value. -func (s *ConfiguredAudienceModelAssociationSummary) SetCollaborationId(v string) *ConfiguredAudienceModelAssociationSummary { - s.CollaborationId = &v +// SetDescription sets the Description field's value. +func (s *CreateAnalysisTemplateInput) SetDescription(v string) *CreateAnalysisTemplateInput { + s.Description = &v return s } -// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. -func (s *ConfiguredAudienceModelAssociationSummary) SetConfiguredAudienceModelArn(v string) *ConfiguredAudienceModelAssociationSummary { - s.ConfiguredAudienceModelArn = &v +// SetFormat sets the Format field's value. +func (s *CreateAnalysisTemplateInput) SetFormat(v string) *CreateAnalysisTemplateInput { + s.Format = &v return s } -// SetCreateTime sets the CreateTime field's value. -func (s *ConfiguredAudienceModelAssociationSummary) SetCreateTime(v time.Time) *ConfiguredAudienceModelAssociationSummary { - s.CreateTime = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *CreateAnalysisTemplateInput) SetMembershipIdentifier(v string) *CreateAnalysisTemplateInput { + s.MembershipIdentifier = &v return s } -// SetDescription sets the Description field's value. -func (s *ConfiguredAudienceModelAssociationSummary) SetDescription(v string) *ConfiguredAudienceModelAssociationSummary { - s.Description = &v +// SetName sets the Name field's value. +func (s *CreateAnalysisTemplateInput) SetName(v string) *CreateAnalysisTemplateInput { + s.Name = &v return s } -// SetId sets the Id field's value. -func (s *ConfiguredAudienceModelAssociationSummary) SetId(v string) *ConfiguredAudienceModelAssociationSummary { - s.Id = &v +// SetSource sets the Source field's value. +func (s *CreateAnalysisTemplateInput) SetSource(v *AnalysisSource) *CreateAnalysisTemplateInput { + s.Source = v return s } -// SetMembershipArn sets the MembershipArn field's value. -func (s *ConfiguredAudienceModelAssociationSummary) SetMembershipArn(v string) *ConfiguredAudienceModelAssociationSummary { - s.MembershipArn = &v +// SetTags sets the Tags field's value. +func (s *CreateAnalysisTemplateInput) SetTags(v map[string]*string) *CreateAnalysisTemplateInput { + s.Tags = v return s } -// SetMembershipId sets the MembershipId field's value. -func (s *ConfiguredAudienceModelAssociationSummary) SetMembershipId(v string) *ConfiguredAudienceModelAssociationSummary { - s.MembershipId = &v - return s +type CreateAnalysisTemplateOutput struct { + _ struct{} `type:"structure"` + + // The analysis template. + // + // AnalysisTemplate is a required field + AnalysisTemplate *AnalysisTemplate `locationName:"analysisTemplate" type:"structure" required:"true"` } -// SetName sets the Name field's value. -func (s *ConfiguredAudienceModelAssociationSummary) SetName(v string) *ConfiguredAudienceModelAssociationSummary { - s.Name = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAnalysisTemplateOutput) String() string { + return awsutil.Prettify(s) } -// SetUpdateTime sets the UpdateTime field's value. -func (s *ConfiguredAudienceModelAssociationSummary) SetUpdateTime(v time.Time) *ConfiguredAudienceModelAssociationSummary { - s.UpdateTime = &v +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAnalysisTemplateOutput) GoString() string { + return s.String() +} + +// SetAnalysisTemplate sets the AnalysisTemplate field's value. +func (s *CreateAnalysisTemplateOutput) SetAnalysisTemplate(v *AnalysisTemplate) *CreateAnalysisTemplateOutput { + s.AnalysisTemplate = v return s } -// A table that has been configured for use in a collaboration. -type ConfiguredTable struct { +type CreateCollaborationInput struct { _ struct{} `type:"structure"` - // The columns within the underlying Glue table that can be utilized within - // collaborations. + // The display name of the collaboration creator. // - // AllowedColumns is a required field - AllowedColumns []*string `locationName:"allowedColumns" min:"1" type:"list" required:"true"` + // CreatorDisplayName is a required field + CreatorDisplayName *string `locationName:"creatorDisplayName" min:"1" type:"string" required:"true"` - // The analysis method for the configured table. The only valid value is currently - // `DIRECT_QUERY`. + // The abilities granted to the collaboration creator. // - // AnalysisMethod is a required field - AnalysisMethod *string `locationName:"analysisMethod" type:"string" required:"true" enum:"AnalysisMethod"` + // CreatorMemberAbilities is a required field + CreatorMemberAbilities []*string `locationName:"creatorMemberAbilities" type:"list" required:"true" enum:"MemberAbility"` - // The types of analysis rules associated with this configured table. Currently, - // only one analysis rule may be associated with a configured table. + // The collaboration creator's payment responsibilities set by the collaboration + // creator. // - // AnalysisRuleTypes is a required field - AnalysisRuleTypes []*string `locationName:"analysisRuleTypes" type:"list" required:"true" enum:"ConfiguredTableAnalysisRuleType"` + // If the collaboration creator hasn't specified anyone as the member paying + // for query compute costs, then the member who can query is the default payer. + CreatorPaymentConfiguration *PaymentConfiguration `locationName:"creatorPaymentConfiguration" type:"structure"` - // The unique ARN for the configured table. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` + // The settings for client-side encryption with Cryptographic Computing for + // Clean Rooms. + DataEncryptionMetadata *DataEncryptionMetadata `locationName:"dataEncryptionMetadata" type:"structure"` - // The time the configured table was created. + // A description of the collaboration provided by the collaboration owner. // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - - // A description for the configured table. - Description *string `locationName:"description" type:"string"` + // Description is a required field + Description *string `locationName:"description" min:"1" type:"string" required:"true"` - // The unique ID for the configured table. + // A list of initial members, not including the creator. This list is immutable. // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` + // Members is a required field + Members []*MemberSpecification `locationName:"members" type:"list" required:"true"` - // A name for the configured table. + // The display name for a collaboration. // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The Glue table that this configured table represents. + // An indicator as to whether query logging has been enabled or disabled for + // the collaboration. // - // TableReference is a required field - TableReference *TableReference `locationName:"tableReference" type:"structure" required:"true"` + // QueryLogStatus is a required field + QueryLogStatus *string `locationName:"queryLogStatus" type:"string" required:"true" enum:"CollaborationQueryLogStatus"` - // The time the configured table was last updated - // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // An optional label that you can assign to a resource when you create it. Each + // tag consists of a key and an optional value, both of which you define. When + // you use tagging, you can also use tag-based access control in IAM policies + // to control access to this resource. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -10096,7 +12258,7 @@ type ConfiguredTable 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 ConfiguredTable) String() string { +func (s CreateCollaborationInput) String() string { return awsutil.Prettify(s) } @@ -10105,104 +12267,197 @@ func (s ConfiguredTable) 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 ConfiguredTable) GoString() string { +func (s CreateCollaborationInput) GoString() string { return s.String() } -// SetAllowedColumns sets the AllowedColumns field's value. -func (s *ConfiguredTable) SetAllowedColumns(v []*string) *ConfiguredTable { - s.AllowedColumns = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCollaborationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCollaborationInput"} + if s.CreatorDisplayName == nil { + invalidParams.Add(request.NewErrParamRequired("CreatorDisplayName")) + } + if s.CreatorDisplayName != nil && len(*s.CreatorDisplayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CreatorDisplayName", 1)) + } + if s.CreatorMemberAbilities == nil { + invalidParams.Add(request.NewErrParamRequired("CreatorMemberAbilities")) + } + if s.Description == nil { + invalidParams.Add(request.NewErrParamRequired("Description")) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Members == nil { + invalidParams.Add(request.NewErrParamRequired("Members")) + } + 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.QueryLogStatus == nil { + invalidParams.Add(request.NewErrParamRequired("QueryLogStatus")) + } + if s.CreatorPaymentConfiguration != nil { + if err := s.CreatorPaymentConfiguration.Validate(); err != nil { + invalidParams.AddNested("CreatorPaymentConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.DataEncryptionMetadata != nil { + if err := s.DataEncryptionMetadata.Validate(); err != nil { + invalidParams.AddNested("DataEncryptionMetadata", err.(request.ErrInvalidParams)) + } + } + if s.Members != nil { + for i, v := range s.Members { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Members", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetAnalysisMethod sets the AnalysisMethod field's value. -func (s *ConfiguredTable) SetAnalysisMethod(v string) *ConfiguredTable { - s.AnalysisMethod = &v +// SetCreatorDisplayName sets the CreatorDisplayName field's value. +func (s *CreateCollaborationInput) SetCreatorDisplayName(v string) *CreateCollaborationInput { + s.CreatorDisplayName = &v return s } -// SetAnalysisRuleTypes sets the AnalysisRuleTypes field's value. -func (s *ConfiguredTable) SetAnalysisRuleTypes(v []*string) *ConfiguredTable { - s.AnalysisRuleTypes = v +// SetCreatorMemberAbilities sets the CreatorMemberAbilities field's value. +func (s *CreateCollaborationInput) SetCreatorMemberAbilities(v []*string) *CreateCollaborationInput { + s.CreatorMemberAbilities = v return s } -// SetArn sets the Arn field's value. -func (s *ConfiguredTable) SetArn(v string) *ConfiguredTable { - s.Arn = &v +// SetCreatorPaymentConfiguration sets the CreatorPaymentConfiguration field's value. +func (s *CreateCollaborationInput) SetCreatorPaymentConfiguration(v *PaymentConfiguration) *CreateCollaborationInput { + s.CreatorPaymentConfiguration = v return s } -// SetCreateTime sets the CreateTime field's value. -func (s *ConfiguredTable) SetCreateTime(v time.Time) *ConfiguredTable { - s.CreateTime = &v +// SetDataEncryptionMetadata sets the DataEncryptionMetadata field's value. +func (s *CreateCollaborationInput) SetDataEncryptionMetadata(v *DataEncryptionMetadata) *CreateCollaborationInput { + s.DataEncryptionMetadata = v return s } // SetDescription sets the Description field's value. -func (s *ConfiguredTable) SetDescription(v string) *ConfiguredTable { +func (s *CreateCollaborationInput) SetDescription(v string) *CreateCollaborationInput { s.Description = &v return s } -// SetId sets the Id field's value. -func (s *ConfiguredTable) SetId(v string) *ConfiguredTable { - s.Id = &v - return s +// SetMembers sets the Members field's value. +func (s *CreateCollaborationInput) SetMembers(v []*MemberSpecification) *CreateCollaborationInput { + s.Members = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateCollaborationInput) SetName(v string) *CreateCollaborationInput { + s.Name = &v + return s +} + +// SetQueryLogStatus sets the QueryLogStatus field's value. +func (s *CreateCollaborationInput) SetQueryLogStatus(v string) *CreateCollaborationInput { + s.QueryLogStatus = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateCollaborationInput) SetTags(v map[string]*string) *CreateCollaborationInput { + s.Tags = v + return s +} + +type CreateCollaborationOutput struct { + _ struct{} `type:"structure"` + + // The entire created collaboration object. + // + // Collaboration is a required field + Collaboration *Collaboration `locationName:"collaboration" type:"structure" required:"true"` } -// SetName sets the Name field's value. -func (s *ConfiguredTable) SetName(v string) *ConfiguredTable { - s.Name = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateCollaborationOutput) String() string { + return awsutil.Prettify(s) } -// SetTableReference sets the TableReference field's value. -func (s *ConfiguredTable) SetTableReference(v *TableReference) *ConfiguredTable { - s.TableReference = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateCollaborationOutput) GoString() string { + return s.String() } -// SetUpdateTime sets the UpdateTime field's value. -func (s *ConfiguredTable) SetUpdateTime(v time.Time) *ConfiguredTable { - s.UpdateTime = &v +// SetCollaboration sets the Collaboration field's value. +func (s *CreateCollaborationOutput) SetCollaboration(v *Collaboration) *CreateCollaborationOutput { + s.Collaboration = v return s } -// A configured table analysis rule, which limits how data for this table can -// be used. -type ConfiguredTableAnalysisRule struct { +type CreateConfiguredAudienceModelAssociationInput struct { _ struct{} `type:"structure"` - // The unique ARN for the configured table. + // A unique identifier for the configured audience model that you want to associate. // - // ConfiguredTableArn is a required field - ConfiguredTableArn *string `locationName:"configuredTableArn" type:"string" required:"true"` + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` - // The unique ID for the configured table. + // The name of the configured audience model association. // - // ConfiguredTableId is a required field - ConfiguredTableId *string `locationName:"configuredTableId" min:"36" type:"string" required:"true"` + // ConfiguredAudienceModelAssociationName is a required field + ConfiguredAudienceModelAssociationName *string `locationName:"configuredAudienceModelAssociationName" min:"1" type:"string" required:"true"` - // The time the configured table analysis rule was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + // A description of the configured audience model association. + Description *string `locationName:"description" type:"string"` - // The policy that controls SQL query rules. + // When TRUE, indicates that the resource policy for the configured audience + // model resource being associated is configured for Clean Rooms to manage permissions + // related to the given collaboration. When FALSE, indicates that the configured + // audience model resource owner will manage permissions related to the given + // collaboration. // - // Policy is a required field - Policy *ConfiguredTableAnalysisRulePolicy `locationName:"policy" type:"structure" required:"true"` - - // The type of configured table analysis rule. + // Setting this to TRUE requires you to have permissions to create, update, + // and delete the resource policy for the cleanrooms-ml resource when you call + // the DeleteConfiguredAudienceModelAssociation resource. In addition, if you + // are the collaboration creator and specify TRUE, you must have the same permissions + // when you call the DeleteMember and DeleteCollaboration APIs. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` + // ManageResourcePolicies is a required field + ManageResourcePolicies *bool `locationName:"manageResourcePolicies" type:"boolean" required:"true"` - // The time the configured table analysis rule was last updated. + // A unique identifier for one of your memberships for a collaboration. The + // configured audience model is associated to the collaboration that this membership + // belongs to. Accepts a membership ID. // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // An optional label that you can assign to a resource when you create it. Each + // tag consists of a key and an optional value, both of which you define. When + // you use tagging, you can also use tag-based access control in IAM policies + // to control access to this resource. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -10210,7 +12465,7 @@ type ConfiguredTableAnalysisRule 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 ConfiguredTableAnalysisRule) String() string { +func (s CreateConfiguredAudienceModelAssociationInput) String() string { return awsutil.Prettify(s) } @@ -10219,52 +12474,84 @@ func (s ConfiguredTableAnalysisRule) 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 ConfiguredTableAnalysisRule) GoString() string { +func (s CreateConfiguredAudienceModelAssociationInput) GoString() string { return s.String() } -// SetConfiguredTableArn sets the ConfiguredTableArn field's value. -func (s *ConfiguredTableAnalysisRule) SetConfiguredTableArn(v string) *ConfiguredTableAnalysisRule { - s.ConfiguredTableArn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateConfiguredAudienceModelAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredAudienceModelAssociationInput"} + if s.ConfiguredAudienceModelArn == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelArn")) + } + if s.ConfiguredAudienceModelArn != nil && len(*s.ConfiguredAudienceModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelArn", 20)) + } + if s.ConfiguredAudienceModelAssociationName == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelAssociationName")) + } + if s.ConfiguredAudienceModelAssociationName != nil && len(*s.ConfiguredAudienceModelAssociationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelAssociationName", 1)) + } + if s.ManageResourcePolicies == nil { + invalidParams.Add(request.NewErrParamRequired("ManageResourcePolicies")) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *CreateConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelArn(v string) *CreateConfiguredAudienceModelAssociationInput { + s.ConfiguredAudienceModelArn = &v return s } -// SetConfiguredTableId sets the ConfiguredTableId field's value. -func (s *ConfiguredTableAnalysisRule) SetConfiguredTableId(v string) *ConfiguredTableAnalysisRule { - s.ConfiguredTableId = &v +// SetConfiguredAudienceModelAssociationName sets the ConfiguredAudienceModelAssociationName field's value. +func (s *CreateConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelAssociationName(v string) *CreateConfiguredAudienceModelAssociationInput { + s.ConfiguredAudienceModelAssociationName = &v return s } -// SetCreateTime sets the CreateTime field's value. -func (s *ConfiguredTableAnalysisRule) SetCreateTime(v time.Time) *ConfiguredTableAnalysisRule { - s.CreateTime = &v +// SetDescription sets the Description field's value. +func (s *CreateConfiguredAudienceModelAssociationInput) SetDescription(v string) *CreateConfiguredAudienceModelAssociationInput { + s.Description = &v return s } -// SetPolicy sets the Policy field's value. -func (s *ConfiguredTableAnalysisRule) SetPolicy(v *ConfiguredTableAnalysisRulePolicy) *ConfiguredTableAnalysisRule { - s.Policy = v +// SetManageResourcePolicies sets the ManageResourcePolicies field's value. +func (s *CreateConfiguredAudienceModelAssociationInput) SetManageResourcePolicies(v bool) *CreateConfiguredAudienceModelAssociationInput { + s.ManageResourcePolicies = &v return s } -// SetType sets the Type field's value. -func (s *ConfiguredTableAnalysisRule) SetType(v string) *ConfiguredTableAnalysisRule { - s.Type = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *CreateConfiguredAudienceModelAssociationInput) SetMembershipIdentifier(v string) *CreateConfiguredAudienceModelAssociationInput { + s.MembershipIdentifier = &v return s } -// SetUpdateTime sets the UpdateTime field's value. -func (s *ConfiguredTableAnalysisRule) SetUpdateTime(v time.Time) *ConfiguredTableAnalysisRule { - s.UpdateTime = &v +// SetTags sets the Tags field's value. +func (s *CreateConfiguredAudienceModelAssociationInput) SetTags(v map[string]*string) *CreateConfiguredAudienceModelAssociationInput { + s.Tags = v return s } -// Controls on the query specifications that can be run on a configured table. -type ConfiguredTableAnalysisRulePolicy struct { +type CreateConfiguredAudienceModelAssociationOutput struct { _ struct{} `type:"structure"` - // Controls on the query specifications that can be run on a configured table. - V1 *ConfiguredTableAnalysisRulePolicyV1 `locationName:"v1" type:"structure"` + // Information about the configured audience model association. + // + // ConfiguredAudienceModelAssociation is a required field + ConfiguredAudienceModelAssociation *ConfiguredAudienceModelAssociation `locationName:"configuredAudienceModelAssociation" type:"structure" required:"true"` } // String returns the string representation. @@ -10272,7 +12559,7 @@ type ConfiguredTableAnalysisRulePolicy 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 ConfiguredTableAnalysisRulePolicy) String() string { +func (s CreateConfiguredAudienceModelAssociationOutput) String() string { return awsutil.Prettify(s) } @@ -10281,45 +12568,34 @@ func (s ConfiguredTableAnalysisRulePolicy) 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 ConfiguredTableAnalysisRulePolicy) GoString() string { +func (s CreateConfiguredAudienceModelAssociationOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ConfiguredTableAnalysisRulePolicy) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ConfiguredTableAnalysisRulePolicy"} - if s.V1 != nil { - if err := s.V1.Validate(); err != nil { - invalidParams.AddNested("V1", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetV1 sets the V1 field's value. -func (s *ConfiguredTableAnalysisRulePolicy) SetV1(v *ConfiguredTableAnalysisRulePolicyV1) *ConfiguredTableAnalysisRulePolicy { - s.V1 = v +// SetConfiguredAudienceModelAssociation sets the ConfiguredAudienceModelAssociation field's value. +func (s *CreateConfiguredAudienceModelAssociationOutput) SetConfiguredAudienceModelAssociation(v *ConfiguredAudienceModelAssociation) *CreateConfiguredAudienceModelAssociationOutput { + s.ConfiguredAudienceModelAssociation = v return s } -// Controls on the query specifications that can be run on a configured table. -type ConfiguredTableAnalysisRulePolicyV1 struct { +type CreateConfiguredTableAnalysisRuleInput struct { _ struct{} `type:"structure"` - // Analysis rule type that enables only aggregation queries on a configured - // table. - Aggregation *AnalysisRuleAggregation `locationName:"aggregation" type:"structure"` + // The entire created configured table analysis rule object. + // + // AnalysisRulePolicy is a required field + AnalysisRulePolicy *ConfiguredTableAnalysisRulePolicy `locationName:"analysisRulePolicy" type:"structure" required:"true"` - // A type of analysis rule that enables the table owner to approve custom SQL - // queries on their configured tables. It supports differential privacy. - Custom *AnalysisRuleCustom `locationName:"custom" type:"structure"` + // The type of analysis rule. + // + // AnalysisRuleType is a required field + AnalysisRuleType *string `locationName:"analysisRuleType" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` - // Analysis rule type that enables only list queries on a configured table. - List *AnalysisRuleList `locationName:"list" type:"structure"` + // The identifier for the configured table to create the analysis rule for. + // Currently accepts the configured table ID. + // + // ConfiguredTableIdentifier is a required field + ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -10327,7 +12603,7 @@ type ConfiguredTableAnalysisRulePolicyV1 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 ConfiguredTableAnalysisRulePolicyV1) String() string { +func (s CreateConfiguredTableAnalysisRuleInput) String() string { return awsutil.Prettify(s) } @@ -10336,26 +12612,28 @@ func (s ConfiguredTableAnalysisRulePolicyV1) 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 ConfiguredTableAnalysisRulePolicyV1) GoString() string { +func (s CreateConfiguredTableAnalysisRuleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ConfiguredTableAnalysisRulePolicyV1) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ConfiguredTableAnalysisRulePolicyV1"} - if s.Aggregation != nil { - if err := s.Aggregation.Validate(); err != nil { - invalidParams.AddNested("Aggregation", err.(request.ErrInvalidParams)) - } +func (s *CreateConfiguredTableAnalysisRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredTableAnalysisRuleInput"} + if s.AnalysisRulePolicy == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisRulePolicy")) } - if s.Custom != nil { - if err := s.Custom.Validate(); err != nil { - invalidParams.AddNested("Custom", err.(request.ErrInvalidParams)) - } + if s.AnalysisRuleType == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisRuleType")) } - if s.List != nil { - if err := s.List.Validate(); err != nil { - invalidParams.AddNested("List", err.(request.ErrInvalidParams)) + if s.ConfiguredTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) + } + if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + } + if s.AnalysisRulePolicy != nil { + if err := s.AnalysisRulePolicy.Validate(); err != nil { + invalidParams.AddNested("AnalysisRulePolicy", err.(request.ErrInvalidParams)) } } @@ -10365,71 +12643,78 @@ func (s *ConfiguredTableAnalysisRulePolicyV1) Validate() error { return nil } -// SetAggregation sets the Aggregation field's value. -func (s *ConfiguredTableAnalysisRulePolicyV1) SetAggregation(v *AnalysisRuleAggregation) *ConfiguredTableAnalysisRulePolicyV1 { - s.Aggregation = v +// SetAnalysisRulePolicy sets the AnalysisRulePolicy field's value. +func (s *CreateConfiguredTableAnalysisRuleInput) SetAnalysisRulePolicy(v *ConfiguredTableAnalysisRulePolicy) *CreateConfiguredTableAnalysisRuleInput { + s.AnalysisRulePolicy = v return s } -// SetCustom sets the Custom field's value. -func (s *ConfiguredTableAnalysisRulePolicyV1) SetCustom(v *AnalysisRuleCustom) *ConfiguredTableAnalysisRulePolicyV1 { - s.Custom = v +// SetAnalysisRuleType sets the AnalysisRuleType field's value. +func (s *CreateConfiguredTableAnalysisRuleInput) SetAnalysisRuleType(v string) *CreateConfiguredTableAnalysisRuleInput { + s.AnalysisRuleType = &v return s } -// SetList sets the List field's value. -func (s *ConfiguredTableAnalysisRulePolicyV1) SetList(v *AnalysisRuleList) *ConfiguredTableAnalysisRulePolicyV1 { - s.List = v +// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. +func (s *CreateConfiguredTableAnalysisRuleInput) SetConfiguredTableIdentifier(v string) *CreateConfiguredTableAnalysisRuleInput { + s.ConfiguredTableIdentifier = &v return s } -// A configured table association links a configured table to a collaboration. -type ConfiguredTableAssociation struct { +type CreateConfiguredTableAnalysisRuleOutput struct { _ struct{} `type:"structure"` - // The unique ARN for the configured table association. + // The entire created analysis rule. // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` + // AnalysisRule is a required field + AnalysisRule *ConfiguredTableAnalysisRule `locationName:"analysisRule" type:"structure" required:"true"` +} - // The unique ARN for the configured table that the association refers to. - // - // ConfiguredTableArn is a required field - ConfiguredTableArn *string `locationName:"configuredTableArn" 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 CreateConfiguredTableAnalysisRuleOutput) String() string { + return awsutil.Prettify(s) +} - // The unique ID for the configured table that the association refers to. - // - // ConfiguredTableId is a required field - ConfiguredTableId *string `locationName:"configuredTableId" min:"36" type:"string" required:"true"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateConfiguredTableAnalysisRuleOutput) GoString() string { + return s.String() +} - // The time the configured table association was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` +// SetAnalysisRule sets the AnalysisRule field's value. +func (s *CreateConfiguredTableAnalysisRuleOutput) SetAnalysisRule(v *ConfiguredTableAnalysisRule) *CreateConfiguredTableAnalysisRuleOutput { + s.AnalysisRule = v + return s +} - // A description of the configured table association. - Description *string `locationName:"description" type:"string"` +type CreateConfiguredTableAssociationInput struct { + _ struct{} `type:"structure"` - // The unique ID for the configured table association. + // A unique identifier for the configured table to be associated to. Currently + // accepts a configured table ID. // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` + // ConfiguredTableIdentifier is a required field + ConfiguredTableIdentifier *string `locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` - // The unique ARN for the membership this configured table association belongs - // to. - // - // MembershipArn is a required field - MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + // A description for the configured table association. + Description *string `locationName:"description" type:"string"` - // The unique ID for the membership this configured table association belongs - // to. + // A unique identifier for one of your memberships for a collaboration. The + // configured table is associated to the collaboration that this membership + // belongs to. Currently accepts a membership ID. // - // MembershipId is a required field - MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The name of the configured table association, in lowercase. The table is - // identified by this name when running protected queries against the underlying - // data. + // The name of the configured table association. This name is used to query + // the underlying configured table. // // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` @@ -10440,10 +12725,11 @@ type ConfiguredTableAssociation struct { // RoleArn is a required field RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"` - // The time the configured table association was last updated. - // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // An optional label that you can assign to a resource when you create it. Each + // tag consists of a key and an optional value, both of which you define. When + // you use tagging, you can also use tag-based access control in IAM policies + // to control access to this resource. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -10451,7 +12737,7 @@ type ConfiguredTableAssociation 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 ConfiguredTableAssociation) String() string { +func (s CreateConfiguredTableAssociationInput) String() string { return awsutil.Prettify(s) } @@ -10460,123 +12746,143 @@ func (s ConfiguredTableAssociation) 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 ConfiguredTableAssociation) GoString() string { +func (s CreateConfiguredTableAssociationInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ConfiguredTableAssociation) SetArn(v string) *ConfiguredTableAssociation { - s.Arn = &v - return s -} - -// SetConfiguredTableArn sets the ConfiguredTableArn field's value. -func (s *ConfiguredTableAssociation) SetConfiguredTableArn(v string) *ConfiguredTableAssociation { - s.ConfiguredTableArn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateConfiguredTableAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredTableAssociationInput"} + if s.ConfiguredTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) + } + if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 32 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32)) + } -// SetConfiguredTableId sets the ConfiguredTableId field's value. -func (s *ConfiguredTableAssociation) SetConfiguredTableId(v string) *ConfiguredTableAssociation { - s.ConfiguredTableId = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCreateTime sets the CreateTime field's value. -func (s *ConfiguredTableAssociation) SetCreateTime(v time.Time) *ConfiguredTableAssociation { - s.CreateTime = &v +// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. +func (s *CreateConfiguredTableAssociationInput) SetConfiguredTableIdentifier(v string) *CreateConfiguredTableAssociationInput { + s.ConfiguredTableIdentifier = &v return s } // SetDescription sets the Description field's value. -func (s *ConfiguredTableAssociation) SetDescription(v string) *ConfiguredTableAssociation { +func (s *CreateConfiguredTableAssociationInput) SetDescription(v string) *CreateConfiguredTableAssociationInput { s.Description = &v return s } -// SetId sets the Id field's value. -func (s *ConfiguredTableAssociation) SetId(v string) *ConfiguredTableAssociation { - s.Id = &v - return s -} - -// SetMembershipArn sets the MembershipArn field's value. -func (s *ConfiguredTableAssociation) SetMembershipArn(v string) *ConfiguredTableAssociation { - s.MembershipArn = &v - return s -} - -// SetMembershipId sets the MembershipId field's value. -func (s *ConfiguredTableAssociation) SetMembershipId(v string) *ConfiguredTableAssociation { - s.MembershipId = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *CreateConfiguredTableAssociationInput) SetMembershipIdentifier(v string) *CreateConfiguredTableAssociationInput { + s.MembershipIdentifier = &v return s } // SetName sets the Name field's value. -func (s *ConfiguredTableAssociation) SetName(v string) *ConfiguredTableAssociation { +func (s *CreateConfiguredTableAssociationInput) SetName(v string) *CreateConfiguredTableAssociationInput { s.Name = &v return s } // SetRoleArn sets the RoleArn field's value. -func (s *ConfiguredTableAssociation) SetRoleArn(v string) *ConfiguredTableAssociation { +func (s *CreateConfiguredTableAssociationInput) SetRoleArn(v string) *CreateConfiguredTableAssociationInput { s.RoleArn = &v return s } -// SetUpdateTime sets the UpdateTime field's value. -func (s *ConfiguredTableAssociation) SetUpdateTime(v time.Time) *ConfiguredTableAssociation { - s.UpdateTime = &v +// SetTags sets the Tags field's value. +func (s *CreateConfiguredTableAssociationInput) SetTags(v map[string]*string) *CreateConfiguredTableAssociationInput { + s.Tags = v return s } -// The configured table association summary for the objects listed by the request. -type ConfiguredTableAssociationSummary struct { +type CreateConfiguredTableAssociationOutput struct { _ struct{} `type:"structure"` - // The unique ARN for the configured table association. + // The entire configured table association object. // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` + // ConfiguredTableAssociation is a required field + ConfiguredTableAssociation *ConfiguredTableAssociation `locationName:"configuredTableAssociation" type:"structure" required:"true"` +} - // The unique configured table ID that this configured table association refers - // to. - // - // ConfiguredTableId is a required field - ConfiguredTableId *string `locationName:"configuredTableId" min:"36" type:"string" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateConfiguredTableAssociationOutput) String() string { + return awsutil.Prettify(s) +} - // The time the configured table association was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateConfiguredTableAssociationOutput) GoString() string { + return s.String() +} - // The unique ID for the configured table association. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` +// SetConfiguredTableAssociation sets the ConfiguredTableAssociation field's value. +func (s *CreateConfiguredTableAssociationOutput) SetConfiguredTableAssociation(v *ConfiguredTableAssociation) *CreateConfiguredTableAssociationOutput { + s.ConfiguredTableAssociation = v + return s +} - // The unique ARN for the membership that the configured table association belongs - // to. +type CreateConfiguredTableInput struct { + _ struct{} `type:"structure"` + + // The columns of the underlying table that can be used by collaborations or + // analysis rules. // - // MembershipArn is a required field - MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + // AllowedColumns is a required field + AllowedColumns []*string `locationName:"allowedColumns" min:"1" type:"list" required:"true"` - // The unique ID for the membership that the configured table association belongs - // to. + // The analysis method for the configured tables. The only valid value is currently + // `DIRECT_QUERY`. // - // MembershipId is a required field - MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + // AnalysisMethod is a required field + AnalysisMethod *string `locationName:"analysisMethod" type:"string" required:"true" enum:"AnalysisMethod"` - // The name of the configured table association. The table is identified by - // this name when running Protected Queries against the underlying data. + // A description for the configured table. + Description *string `locationName:"description" type:"string"` + + // The name of the configured table. // // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The time the configured table association was last updated. + // A reference to the Glue table being configured. // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // TableReference is a required field + TableReference *TableReference `locationName:"tableReference" type:"structure" required:"true"` + + // An optional label that you can assign to a resource when you create it. Each + // tag consists of a key and an optional value, both of which you define. When + // you use tagging, you can also use tag-based access control in IAM policies + // to control access to this resource. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -10584,7 +12890,7 @@ type ConfiguredTableAssociationSummary 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 ConfiguredTableAssociationSummary) String() string { +func (s CreateConfiguredTableInput) String() string { return awsutil.Prettify(s) } @@ -10593,97 +12899,86 @@ func (s ConfiguredTableAssociationSummary) 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 ConfiguredTableAssociationSummary) GoString() string { +func (s CreateConfiguredTableInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ConfiguredTableAssociationSummary) SetArn(v string) *ConfiguredTableAssociationSummary { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateConfiguredTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredTableInput"} + if s.AllowedColumns == nil { + invalidParams.Add(request.NewErrParamRequired("AllowedColumns")) + } + if s.AllowedColumns != nil && len(s.AllowedColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AllowedColumns", 1)) + } + if s.AnalysisMethod == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisMethod")) + } + 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.TableReference == nil { + invalidParams.Add(request.NewErrParamRequired("TableReference")) + } + if s.TableReference != nil { + if err := s.TableReference.Validate(); err != nil { + invalidParams.AddNested("TableReference", err.(request.ErrInvalidParams)) + } + } -// SetConfiguredTableId sets the ConfiguredTableId field's value. -func (s *ConfiguredTableAssociationSummary) SetConfiguredTableId(v string) *ConfiguredTableAssociationSummary { - s.ConfiguredTableId = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCreateTime sets the CreateTime field's value. -func (s *ConfiguredTableAssociationSummary) SetCreateTime(v time.Time) *ConfiguredTableAssociationSummary { - s.CreateTime = &v +// SetAllowedColumns sets the AllowedColumns field's value. +func (s *CreateConfiguredTableInput) SetAllowedColumns(v []*string) *CreateConfiguredTableInput { + s.AllowedColumns = v return s } -// SetId sets the Id field's value. -func (s *ConfiguredTableAssociationSummary) SetId(v string) *ConfiguredTableAssociationSummary { - s.Id = &v +// SetAnalysisMethod sets the AnalysisMethod field's value. +func (s *CreateConfiguredTableInput) SetAnalysisMethod(v string) *CreateConfiguredTableInput { + s.AnalysisMethod = &v return s } -// SetMembershipArn sets the MembershipArn field's value. -func (s *ConfiguredTableAssociationSummary) SetMembershipArn(v string) *ConfiguredTableAssociationSummary { - s.MembershipArn = &v +// SetDescription sets the Description field's value. +func (s *CreateConfiguredTableInput) SetDescription(v string) *CreateConfiguredTableInput { + s.Description = &v return s } -// SetMembershipId sets the MembershipId field's value. -func (s *ConfiguredTableAssociationSummary) SetMembershipId(v string) *ConfiguredTableAssociationSummary { - s.MembershipId = &v +// SetName sets the Name field's value. +func (s *CreateConfiguredTableInput) SetName(v string) *CreateConfiguredTableInput { + s.Name = &v return s } -// SetName sets the Name field's value. -func (s *ConfiguredTableAssociationSummary) SetName(v string) *ConfiguredTableAssociationSummary { - s.Name = &v +// SetTableReference sets the TableReference field's value. +func (s *CreateConfiguredTableInput) SetTableReference(v *TableReference) *CreateConfiguredTableInput { + s.TableReference = v return s } -// SetUpdateTime sets the UpdateTime field's value. -func (s *ConfiguredTableAssociationSummary) SetUpdateTime(v time.Time) *ConfiguredTableAssociationSummary { - s.UpdateTime = &v +// SetTags sets the Tags field's value. +func (s *CreateConfiguredTableInput) SetTags(v map[string]*string) *CreateConfiguredTableInput { + s.Tags = v return s } -// The configured table summary for the objects listed by the request. -type ConfiguredTableSummary struct { +type CreateConfiguredTableOutput struct { _ struct{} `type:"structure"` - // The analysis method for the configured tables. The only valid value is currently - // `DIRECT_QUERY`. - // - // AnalysisMethod is a required field - AnalysisMethod *string `locationName:"analysisMethod" type:"string" required:"true" enum:"AnalysisMethod"` - - // The types of analysis rules associated with this configured table. - // - // AnalysisRuleTypes is a required field - AnalysisRuleTypes []*string `locationName:"analysisRuleTypes" type:"list" required:"true" enum:"ConfiguredTableAnalysisRuleType"` - - // The unique ARN of the configured table. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` - - // The time the configured table was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - - // The unique ID of the configured table. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` - - // The name of the configured table. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` - - // The time the configured table was last updated. + // The created configured table. // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // ConfiguredTable is a required field + ConfiguredTable *ConfiguredTable `locationName:"configuredTable" type:"structure" required:"true"` } // String returns the string representation. @@ -10691,7 +12986,7 @@ type ConfiguredTableSummary 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 ConfiguredTableSummary) String() string { +func (s CreateConfiguredTableOutput) String() string { return awsutil.Prettify(s) } @@ -10700,67 +12995,46 @@ func (s ConfiguredTableSummary) 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 ConfiguredTableSummary) GoString() string { +func (s CreateConfiguredTableOutput) GoString() string { return s.String() } -// SetAnalysisMethod sets the AnalysisMethod field's value. -func (s *ConfiguredTableSummary) SetAnalysisMethod(v string) *ConfiguredTableSummary { - s.AnalysisMethod = &v - return s -} - -// SetAnalysisRuleTypes sets the AnalysisRuleTypes field's value. -func (s *ConfiguredTableSummary) SetAnalysisRuleTypes(v []*string) *ConfiguredTableSummary { - s.AnalysisRuleTypes = v - return s -} - -// SetArn sets the Arn field's value. -func (s *ConfiguredTableSummary) SetArn(v string) *ConfiguredTableSummary { - s.Arn = &v - return s -} - -// SetCreateTime sets the CreateTime field's value. -func (s *ConfiguredTableSummary) SetCreateTime(v time.Time) *ConfiguredTableSummary { - s.CreateTime = &v - return s -} - -// SetId sets the Id field's value. -func (s *ConfiguredTableSummary) SetId(v string) *ConfiguredTableSummary { - s.Id = &v +// SetConfiguredTable sets the ConfiguredTable field's value. +func (s *CreateConfiguredTableOutput) SetConfiguredTable(v *ConfiguredTable) *CreateConfiguredTableOutput { + s.ConfiguredTable = v return s } -// SetName sets the Name field's value. -func (s *ConfiguredTableSummary) SetName(v string) *ConfiguredTableSummary { - s.Name = &v - return s -} +type CreateIdMappingTableInput struct { + _ struct{} `type:"structure"` -// SetUpdateTime sets the UpdateTime field's value. -func (s *ConfiguredTableSummary) SetUpdateTime(v time.Time) *ConfiguredTableSummary { - s.UpdateTime = &v - return s -} + // A description of the ID mapping table. + Description *string `locationName:"description" type:"string"` -// Updating or deleting a resource can cause an inconsistent state. -type ConflictException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The input reference configuration needed to create the ID mapping table. + // + // InputReferenceConfig is a required field + InputReferenceConfig *IdMappingTableInputReferenceConfig `locationName:"inputReferenceConfig" type:"structure" required:"true"` - Message_ *string `locationName:"message" type:"string"` + // The Amazon Resource Name (ARN) of the Amazon Web Services KMS key. This value + // is used to encrypt the mapping table data that is stored by Clean Rooms. + KmsKeyArn *string `locationName:"kmsKeyArn" min:"20" type:"string"` - // A reason code for the exception. - Reason *string `locationName:"reason" type:"string" enum:"ConflictExceptionReason"` + // The unique identifier of the membership that contains the ID mapping table. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The ID of the conflicting resource. - ResourceId *string `locationName:"resourceId" type:"string"` + // A name for the ID mapping table. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` - // The type of the conflicting resource. - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + // An optional label that you can assign to a resource when you create it. Each + // tag consists of a key and an optional value, both of which you define. When + // you use tagging, you can also use tag-based access control in IAM policies + // to control access to this resource. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -10768,7 +13042,7 @@ type ConflictException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) String() string { +func (s CreateIdMappingTableInput) String() string { return awsutil.Prettify(s) } @@ -10777,81 +13051,134 @@ func (s ConflictException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) GoString() string { +func (s CreateIdMappingTableInput) GoString() string { return s.String() } -func newErrorConflictException(v protocol.ResponseMetadata) error { - return &ConflictException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateIdMappingTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateIdMappingTableInput"} + if s.InputReferenceConfig == nil { + invalidParams.Add(request.NewErrParamRequired("InputReferenceConfig")) + } + if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 20)) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.InputReferenceConfig != nil { + if err := s.InputReferenceConfig.Validate(); err != nil { + invalidParams.AddNested("InputReferenceConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *ConflictException) Code() string { - return "ConflictException" +// SetDescription sets the Description field's value. +func (s *CreateIdMappingTableInput) SetDescription(v string) *CreateIdMappingTableInput { + s.Description = &v + return s } -// Message returns the exception's message. -func (s *ConflictException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetInputReferenceConfig sets the InputReferenceConfig field's value. +func (s *CreateIdMappingTableInput) SetInputReferenceConfig(v *IdMappingTableInputReferenceConfig) *CreateIdMappingTableInput { + s.InputReferenceConfig = v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *CreateIdMappingTableInput) SetKmsKeyArn(v string) *CreateIdMappingTableInput { + s.KmsKeyArn = &v + return s +} + +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *CreateIdMappingTableInput) SetMembershipIdentifier(v string) *CreateIdMappingTableInput { + s.MembershipIdentifier = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateIdMappingTableInput) SetName(v string) *CreateIdMappingTableInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateIdMappingTableInput) SetTags(v map[string]*string) *CreateIdMappingTableInput { + s.Tags = v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConflictException) OrigErr() error { - return nil +type CreateIdMappingTableOutput struct { + _ struct{} `type:"structure"` + + // The ID mapping table that was created. + // + // IdMappingTable is a required field + IdMappingTable *IdMappingTable `locationName:"idMappingTable" type:"structure" required:"true"` } -func (s *ConflictException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.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 CreateIdMappingTableOutput) String() string { + return awsutil.Prettify(s) } -// Status code returns the HTTP status code for the request's response error. -func (s *ConflictException) StatusCode() int { - return s.RespMetadata.StatusCode +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateIdMappingTableOutput) GoString() string { + return s.String() } -// RequestID returns the service's response RequestID for request. -func (s *ConflictException) RequestID() string { - return s.RespMetadata.RequestID +// SetIdMappingTable sets the IdMappingTable field's value. +func (s *CreateIdMappingTableOutput) SetIdMappingTable(v *IdMappingTable) *CreateIdMappingTableOutput { + s.IdMappingTable = v + return s } -type CreateAnalysisTemplateInput struct { +type CreateMembershipInput struct { _ struct{} `type:"structure"` - // The parameters of the analysis template. - AnalysisParameters []*AnalysisParameter `locationName:"analysisParameters" type:"list" sensitive:"true"` - - // The description of the analysis template. - Description *string `locationName:"description" type:"string"` - - // The format of the analysis template. + // The unique ID for the associated collaboration. // - // Format is a required field - Format *string `locationName:"format" type:"string" required:"true" enum:"AnalysisFormat"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // The identifier for a membership resource. - // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // The default protected query result configuration as specified by the member + // who can receive results. + DefaultResultConfiguration *MembershipProtectedQueryResultConfiguration `locationName:"defaultResultConfiguration" type:"structure"` - // The name of the analysis template. + // The payment responsibilities accepted by the collaboration member. // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` - - // The information in the analysis template. Currently supports text, the query - // text for the analysis template. + // Not required if the collaboration member has the member ability to run queries. // - // Source is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by CreateAnalysisTemplateInput's - // String and GoString methods. + // Required if the collaboration member doesn't have the member ability to run + // queries but is configured as a payer by the collaboration creator. + PaymentConfiguration *MembershipPaymentConfiguration `locationName:"paymentConfiguration" type:"structure"` + + // An indicator as to whether query logging has been enabled or disabled for + // the membership. // - // Source is a required field - Source *AnalysisSource `locationName:"source" type:"structure" required:"true" sensitive:"true"` + // QueryLogStatus is a required field + QueryLogStatus *string `locationName:"queryLogStatus" type:"string" required:"true" enum:"MembershipQueryLogStatus"` // An optional label that you can assign to a resource when you create it. Each // tag consists of a key and an optional value, both of which you define. When @@ -10865,7 +13192,7 @@ type CreateAnalysisTemplateInput 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 CreateAnalysisTemplateInput) String() string { +func (s CreateMembershipInput) String() string { return awsutil.Prettify(s) } @@ -10874,36 +13201,30 @@ func (s CreateAnalysisTemplateInput) 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 CreateAnalysisTemplateInput) GoString() string { +func (s CreateMembershipInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateAnalysisTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateAnalysisTemplateInput"} - if s.Format == nil { - invalidParams.Add(request.NewErrParamRequired("Format")) - } - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) +func (s *CreateMembershipInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMembershipInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) + if s.QueryLogStatus == nil { + invalidParams.Add(request.NewErrParamRequired("QueryLogStatus")) } - if s.Source == nil { - invalidParams.Add(request.NewErrParamRequired("Source")) + if s.DefaultResultConfiguration != nil { + if err := s.DefaultResultConfiguration.Validate(); err != nil { + invalidParams.AddNested("DefaultResultConfiguration", err.(request.ErrInvalidParams)) + } } - if s.AnalysisParameters != nil { - for i, v := range s.AnalysisParameters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AnalysisParameters", i), err.(request.ErrInvalidParams)) - } + if s.PaymentConfiguration != nil { + if err := s.PaymentConfiguration.Validate(); err != nil { + invalidParams.AddNested("PaymentConfiguration", err.(request.ErrInvalidParams)) } } @@ -10913,55 +13234,43 @@ func (s *CreateAnalysisTemplateInput) Validate() error { return nil } -// SetAnalysisParameters sets the AnalysisParameters field's value. -func (s *CreateAnalysisTemplateInput) SetAnalysisParameters(v []*AnalysisParameter) *CreateAnalysisTemplateInput { - s.AnalysisParameters = v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateAnalysisTemplateInput) SetDescription(v string) *CreateAnalysisTemplateInput { - s.Description = &v - return s -} - -// SetFormat sets the Format field's value. -func (s *CreateAnalysisTemplateInput) SetFormat(v string) *CreateAnalysisTemplateInput { - s.Format = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *CreateMembershipInput) SetCollaborationIdentifier(v string) *CreateMembershipInput { + s.CollaborationIdentifier = &v return s } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *CreateAnalysisTemplateInput) SetMembershipIdentifier(v string) *CreateAnalysisTemplateInput { - s.MembershipIdentifier = &v +// SetDefaultResultConfiguration sets the DefaultResultConfiguration field's value. +func (s *CreateMembershipInput) SetDefaultResultConfiguration(v *MembershipProtectedQueryResultConfiguration) *CreateMembershipInput { + s.DefaultResultConfiguration = v return s } -// SetName sets the Name field's value. -func (s *CreateAnalysisTemplateInput) SetName(v string) *CreateAnalysisTemplateInput { - s.Name = &v +// SetPaymentConfiguration sets the PaymentConfiguration field's value. +func (s *CreateMembershipInput) SetPaymentConfiguration(v *MembershipPaymentConfiguration) *CreateMembershipInput { + s.PaymentConfiguration = v return s } -// SetSource sets the Source field's value. -func (s *CreateAnalysisTemplateInput) SetSource(v *AnalysisSource) *CreateAnalysisTemplateInput { - s.Source = v +// SetQueryLogStatus sets the QueryLogStatus field's value. +func (s *CreateMembershipInput) SetQueryLogStatus(v string) *CreateMembershipInput { + s.QueryLogStatus = &v return s } // SetTags sets the Tags field's value. -func (s *CreateAnalysisTemplateInput) SetTags(v map[string]*string) *CreateAnalysisTemplateInput { +func (s *CreateMembershipInput) SetTags(v map[string]*string) *CreateMembershipInput { s.Tags = v return s } -type CreateAnalysisTemplateOutput struct { +type CreateMembershipOutput struct { _ struct{} `type:"structure"` - // The analysis template. + // The membership that was created. // - // AnalysisTemplate is a required field - AnalysisTemplate *AnalysisTemplate `locationName:"analysisTemplate" type:"structure" required:"true"` + // Membership is a required field + Membership *Membership `locationName:"membership" type:"structure" required:"true"` } // String returns the string representation. @@ -10969,7 +13278,7 @@ type CreateAnalysisTemplateOutput 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 CreateAnalysisTemplateOutput) String() string { +func (s CreateMembershipOutput) String() string { return awsutil.Prettify(s) } @@ -10978,60 +13287,47 @@ func (s CreateAnalysisTemplateOutput) 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 CreateAnalysisTemplateOutput) GoString() string { +func (s CreateMembershipOutput) GoString() string { return s.String() } -// SetAnalysisTemplate sets the AnalysisTemplate field's value. -func (s *CreateAnalysisTemplateOutput) SetAnalysisTemplate(v *AnalysisTemplate) *CreateAnalysisTemplateOutput { - s.AnalysisTemplate = v +// SetMembership sets the Membership field's value. +func (s *CreateMembershipOutput) SetMembership(v *Membership) *CreateMembershipOutput { + s.Membership = v return s } -type CreateCollaborationInput struct { +type CreatePrivacyBudgetTemplateInput struct { _ struct{} `type:"structure"` - // The display name of the collaboration creator. - // - // CreatorDisplayName is a required field - CreatorDisplayName *string `locationName:"creatorDisplayName" min:"1" type:"string" required:"true"` - - // The abilities granted to the collaboration creator. - // - // CreatorMemberAbilities is a required field - CreatorMemberAbilities []*string `locationName:"creatorMemberAbilities" type:"list" required:"true" enum:"MemberAbility"` - - // The collaboration creator's payment responsibilities set by the collaboration - // creator. + // How often the privacy budget refreshes. // - // If the collaboration creator hasn't specified anyone as the member paying - // for query compute costs, then the member who can query is the default payer. - CreatorPaymentConfiguration *PaymentConfiguration `locationName:"creatorPaymentConfiguration" type:"structure"` - - // The settings for client-side encryption with Cryptographic Computing for - // Clean Rooms. - DataEncryptionMetadata *DataEncryptionMetadata `locationName:"dataEncryptionMetadata" type:"structure"` - - // A description of the collaboration provided by the collaboration owner. + // If you plan to regularly bring new data into the collaboration, you can use + // CALENDAR_MONTH to automatically get a new privacy budget for the collaboration + // every calendar month. Choosing this option allows arbitrary amounts of information + // to be revealed about rows of the data when repeatedly queries across refreshes. + // Avoid choosing this if the same rows will be repeatedly queried between privacy + // budget refreshes. // - // Description is a required field - Description *string `locationName:"description" min:"1" type:"string" required:"true"` + // AutoRefresh is a required field + AutoRefresh *string `locationName:"autoRefresh" type:"string" required:"true" enum:"PrivacyBudgetTemplateAutoRefresh"` - // A list of initial members, not including the creator. This list is immutable. + // A unique identifier for one of your memberships for a collaboration. The + // privacy budget template is created in the collaboration that this membership + // belongs to. Accepts a membership ID. // - // Members is a required field - Members []*MemberSpecification `locationName:"members" type:"list" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The display name for a collaboration. + // Specifies your parameters for the privacy budget template. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // Parameters is a required field + Parameters *PrivacyBudgetTemplateParametersInput_ `locationName:"parameters" type:"structure" required:"true"` - // An indicator as to whether query logging has been enabled or disabled for - // the collaboration. + // Specifies the type of the privacy budget template. // - // QueryLogStatus is a required field - QueryLogStatus *string `locationName:"queryLogStatus" type:"string" required:"true" enum:"CollaborationQueryLogStatus"` + // PrivacyBudgetType is a required field + PrivacyBudgetType *string `locationName:"privacyBudgetType" type:"string" required:"true" enum:"PrivacyBudgetType"` // An optional label that you can assign to a resource when you create it. Each // tag consists of a key and an optional value, both of which you define. When @@ -11045,7 +13341,7 @@ type CreateCollaborationInput 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 CreateCollaborationInput) String() string { +func (s CreatePrivacyBudgetTemplateInput) String() string { return awsutil.Prettify(s) } @@ -11054,58 +13350,31 @@ func (s CreateCollaborationInput) 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 CreateCollaborationInput) GoString() string { +func (s CreatePrivacyBudgetTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateCollaborationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateCollaborationInput"} - if s.CreatorDisplayName == nil { - invalidParams.Add(request.NewErrParamRequired("CreatorDisplayName")) - } - if s.CreatorDisplayName != nil && len(*s.CreatorDisplayName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CreatorDisplayName", 1)) - } - if s.CreatorMemberAbilities == nil { - invalidParams.Add(request.NewErrParamRequired("CreatorMemberAbilities")) - } - if s.Description == nil { - invalidParams.Add(request.NewErrParamRequired("Description")) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.Members == nil { - invalidParams.Add(request.NewErrParamRequired("Members")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *CreatePrivacyBudgetTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePrivacyBudgetTemplateInput"} + if s.AutoRefresh == nil { + invalidParams.Add(request.NewErrParamRequired("AutoRefresh")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } - if s.QueryLogStatus == nil { - invalidParams.Add(request.NewErrParamRequired("QueryLogStatus")) + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } - if s.CreatorPaymentConfiguration != nil { - if err := s.CreatorPaymentConfiguration.Validate(); err != nil { - invalidParams.AddNested("CreatorPaymentConfiguration", err.(request.ErrInvalidParams)) - } + if s.Parameters == nil { + invalidParams.Add(request.NewErrParamRequired("Parameters")) } - if s.DataEncryptionMetadata != nil { - if err := s.DataEncryptionMetadata.Validate(); err != nil { - invalidParams.AddNested("DataEncryptionMetadata", err.(request.ErrInvalidParams)) - } + if s.PrivacyBudgetType == nil { + invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetType")) } - if s.Members != nil { - for i, v := range s.Members { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Members", i), err.(request.ErrInvalidParams)) - } + if s.Parameters != nil { + if err := s.Parameters.Validate(); err != nil { + invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams)) } } @@ -11115,67 +13384,97 @@ func (s *CreateCollaborationInput) Validate() error { return nil } -// SetCreatorDisplayName sets the CreatorDisplayName field's value. -func (s *CreateCollaborationInput) SetCreatorDisplayName(v string) *CreateCollaborationInput { - s.CreatorDisplayName = &v +// SetAutoRefresh sets the AutoRefresh field's value. +func (s *CreatePrivacyBudgetTemplateInput) SetAutoRefresh(v string) *CreatePrivacyBudgetTemplateInput { + s.AutoRefresh = &v return s } -// SetCreatorMemberAbilities sets the CreatorMemberAbilities field's value. -func (s *CreateCollaborationInput) SetCreatorMemberAbilities(v []*string) *CreateCollaborationInput { - s.CreatorMemberAbilities = v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *CreatePrivacyBudgetTemplateInput) SetMembershipIdentifier(v string) *CreatePrivacyBudgetTemplateInput { + s.MembershipIdentifier = &v return s } -// SetCreatorPaymentConfiguration sets the CreatorPaymentConfiguration field's value. -func (s *CreateCollaborationInput) SetCreatorPaymentConfiguration(v *PaymentConfiguration) *CreateCollaborationInput { - s.CreatorPaymentConfiguration = v +// SetParameters sets the Parameters field's value. +func (s *CreatePrivacyBudgetTemplateInput) SetParameters(v *PrivacyBudgetTemplateParametersInput_) *CreatePrivacyBudgetTemplateInput { + s.Parameters = v return s } -// SetDataEncryptionMetadata sets the DataEncryptionMetadata field's value. -func (s *CreateCollaborationInput) SetDataEncryptionMetadata(v *DataEncryptionMetadata) *CreateCollaborationInput { - s.DataEncryptionMetadata = v +// SetPrivacyBudgetType sets the PrivacyBudgetType field's value. +func (s *CreatePrivacyBudgetTemplateInput) SetPrivacyBudgetType(v string) *CreatePrivacyBudgetTemplateInput { + s.PrivacyBudgetType = &v return s } -// SetDescription sets the Description field's value. -func (s *CreateCollaborationInput) SetDescription(v string) *CreateCollaborationInput { - s.Description = &v +// SetTags sets the Tags field's value. +func (s *CreatePrivacyBudgetTemplateInput) SetTags(v map[string]*string) *CreatePrivacyBudgetTemplateInput { + s.Tags = v return s } -// SetMembers sets the Members field's value. -func (s *CreateCollaborationInput) SetMembers(v []*MemberSpecification) *CreateCollaborationInput { - s.Members = v - return s +type CreatePrivacyBudgetTemplateOutput struct { + _ struct{} `type:"structure"` + + // A summary of the elements in the privacy budget template. + // + // PrivacyBudgetTemplate is a required field + PrivacyBudgetTemplate *PrivacyBudgetTemplate `locationName:"privacyBudgetTemplate" type:"structure" required:"true"` } -// SetName sets the Name field's value. -func (s *CreateCollaborationInput) SetName(v string) *CreateCollaborationInput { - s.Name = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePrivacyBudgetTemplateOutput) String() string { + return awsutil.Prettify(s) } -// SetQueryLogStatus sets the QueryLogStatus field's value. -func (s *CreateCollaborationInput) SetQueryLogStatus(v string) *CreateCollaborationInput { - s.QueryLogStatus = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePrivacyBudgetTemplateOutput) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *CreateCollaborationInput) SetTags(v map[string]*string) *CreateCollaborationInput { - s.Tags = v +// SetPrivacyBudgetTemplate sets the PrivacyBudgetTemplate field's value. +func (s *CreatePrivacyBudgetTemplateOutput) SetPrivacyBudgetTemplate(v *PrivacyBudgetTemplate) *CreatePrivacyBudgetTemplateOutput { + s.PrivacyBudgetTemplate = v return s } -type CreateCollaborationOutput struct { +// The settings for client-side encryption for cryptographic computing. +type DataEncryptionMetadata struct { _ struct{} `type:"structure"` - // The entire created collaboration object. + // Indicates whether encrypted tables can contain cleartext data (TRUE) or are + // to cryptographically process every column (FALSE). // - // Collaboration is a required field - Collaboration *Collaboration `locationName:"collaboration" type:"structure" required:"true"` + // AllowCleartext is a required field + AllowCleartext *bool `locationName:"allowCleartext" type:"boolean" required:"true"` + + // Indicates whether Fingerprint columns can contain duplicate entries (TRUE) + // or are to contain only non-repeated values (FALSE). + // + // AllowDuplicates is a required field + AllowDuplicates *bool `locationName:"allowDuplicates" type:"boolean" required:"true"` + + // Indicates whether Fingerprint columns can be joined on any other Fingerprint + // column with a different name (TRUE) or can only be joined on Fingerprint + // columns of the same name (FALSE). + // + // AllowJoinsOnColumnsWithDifferentNames is a required field + AllowJoinsOnColumnsWithDifferentNames *bool `locationName:"allowJoinsOnColumnsWithDifferentNames" type:"boolean" required:"true"` + + // Indicates whether NULL values are to be copied as NULL to encrypted tables + // (TRUE) or cryptographically processed (FALSE). + // + // PreserveNulls is a required field + PreserveNulls *bool `locationName:"preserveNulls" type:"boolean" required:"true"` } // String returns the string representation. @@ -11183,7 +13482,7 @@ type CreateCollaborationOutput 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 CreateCollaborationOutput) String() string { +func (s DataEncryptionMetadata) String() string { return awsutil.Prettify(s) } @@ -11192,59 +13491,68 @@ func (s CreateCollaborationOutput) 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 CreateCollaborationOutput) GoString() string { +func (s DataEncryptionMetadata) GoString() string { return s.String() } -// SetCollaboration sets the Collaboration field's value. -func (s *CreateCollaborationOutput) SetCollaboration(v *Collaboration) *CreateCollaborationOutput { - s.Collaboration = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataEncryptionMetadata) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataEncryptionMetadata"} + if s.AllowCleartext == nil { + invalidParams.Add(request.NewErrParamRequired("AllowCleartext")) + } + if s.AllowDuplicates == nil { + invalidParams.Add(request.NewErrParamRequired("AllowDuplicates")) + } + if s.AllowJoinsOnColumnsWithDifferentNames == nil { + invalidParams.Add(request.NewErrParamRequired("AllowJoinsOnColumnsWithDifferentNames")) + } + if s.PreserveNulls == nil { + invalidParams.Add(request.NewErrParamRequired("PreserveNulls")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowCleartext sets the AllowCleartext field's value. +func (s *DataEncryptionMetadata) SetAllowCleartext(v bool) *DataEncryptionMetadata { + s.AllowCleartext = &v return s } -type CreateConfiguredAudienceModelAssociationInput struct { - _ struct{} `type:"structure"` +// SetAllowDuplicates sets the AllowDuplicates field's value. +func (s *DataEncryptionMetadata) SetAllowDuplicates(v bool) *DataEncryptionMetadata { + s.AllowDuplicates = &v + return s +} - // A unique identifier for the configured audience model that you want to associate. - // - // ConfiguredAudienceModelArn is a required field - ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` +// SetAllowJoinsOnColumnsWithDifferentNames sets the AllowJoinsOnColumnsWithDifferentNames field's value. +func (s *DataEncryptionMetadata) SetAllowJoinsOnColumnsWithDifferentNames(v bool) *DataEncryptionMetadata { + s.AllowJoinsOnColumnsWithDifferentNames = &v + return s +} - // The name of the configured audience model association. - // - // ConfiguredAudienceModelAssociationName is a required field - ConfiguredAudienceModelAssociationName *string `locationName:"configuredAudienceModelAssociationName" min:"1" type:"string" required:"true"` +// SetPreserveNulls sets the PreserveNulls field's value. +func (s *DataEncryptionMetadata) SetPreserveNulls(v bool) *DataEncryptionMetadata { + s.PreserveNulls = &v + return s +} - // A description of the configured audience model association. - Description *string `locationName:"description" type:"string"` +type DeleteAnalysisTemplateInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // When TRUE, indicates that the resource policy for the configured audience - // model resource being associated is configured for Clean Rooms to manage permissions - // related to the given collaboration. When FALSE, indicates that the configured - // audience model resource owner will manage permissions related to the given - // collaboration. - // - // Setting this to TRUE requires you to have permissions to create, update, - // and delete the resource policy for the cleanrooms-ml resource when you call - // the DeleteConfiguredAudienceModelAssociation resource. In addition, if you - // are the collaboration creator and specify TRUE, you must have the same permissions - // when you call the DeleteMember and DeleteCollaboration APIs. + // The identifier for the analysis template resource. // - // ManageResourcePolicies is a required field - ManageResourcePolicies *bool `locationName:"manageResourcePolicies" type:"boolean" required:"true"` + // AnalysisTemplateIdentifier is a required field + AnalysisTemplateIdentifier *string `location:"uri" locationName:"analysisTemplateIdentifier" min:"36" type:"string" required:"true"` - // A unique identifier for one of your memberships for a collaboration. The - // configured audience model is associated to the collaboration that this membership - // belongs to. Accepts a membership ID. + // The identifier for a membership resource. // // MembershipIdentifier is a required field MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - - // An optional label that you can assign to a resource when you create it. Each - // tag consists of a key and an optional value, both of which you define. When - // you use tagging, you can also use tag-based access control in IAM policies - // to control access to this resource. - Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -11252,7 +13560,7 @@ type CreateConfiguredAudienceModelAssociationInput 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 CreateConfiguredAudienceModelAssociationInput) String() string { +func (s DeleteAnalysisTemplateInput) String() string { return awsutil.Prettify(s) } @@ -11261,27 +13569,18 @@ func (s CreateConfiguredAudienceModelAssociationInput) 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 CreateConfiguredAudienceModelAssociationInput) GoString() string { +func (s DeleteAnalysisTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateConfiguredAudienceModelAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredAudienceModelAssociationInput"} - if s.ConfiguredAudienceModelArn == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelArn")) - } - if s.ConfiguredAudienceModelArn != nil && len(*s.ConfiguredAudienceModelArn) < 20 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelArn", 20)) - } - if s.ConfiguredAudienceModelAssociationName == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelAssociationName")) - } - if s.ConfiguredAudienceModelAssociationName != nil && len(*s.ConfiguredAudienceModelAssociationName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelAssociationName", 1)) +func (s *DeleteAnalysisTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAnalysisTemplateInput"} + if s.AnalysisTemplateIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateIdentifier")) } - if s.ManageResourcePolicies == nil { - invalidParams.Add(request.NewErrParamRequired("ManageResourcePolicies")) + if s.AnalysisTemplateIdentifier != nil && len(*s.AnalysisTemplateIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateIdentifier", 36)) } if s.MembershipIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) @@ -11296,49 +13595,20 @@ func (s *CreateConfiguredAudienceModelAssociationInput) Validate() error { return nil } -// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. -func (s *CreateConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelArn(v string) *CreateConfiguredAudienceModelAssociationInput { - s.ConfiguredAudienceModelArn = &v - return s -} - -// SetConfiguredAudienceModelAssociationName sets the ConfiguredAudienceModelAssociationName field's value. -func (s *CreateConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelAssociationName(v string) *CreateConfiguredAudienceModelAssociationInput { - s.ConfiguredAudienceModelAssociationName = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateConfiguredAudienceModelAssociationInput) SetDescription(v string) *CreateConfiguredAudienceModelAssociationInput { - s.Description = &v - return s -} - -// SetManageResourcePolicies sets the ManageResourcePolicies field's value. -func (s *CreateConfiguredAudienceModelAssociationInput) SetManageResourcePolicies(v bool) *CreateConfiguredAudienceModelAssociationInput { - s.ManageResourcePolicies = &v +// SetAnalysisTemplateIdentifier sets the AnalysisTemplateIdentifier field's value. +func (s *DeleteAnalysisTemplateInput) SetAnalysisTemplateIdentifier(v string) *DeleteAnalysisTemplateInput { + s.AnalysisTemplateIdentifier = &v return s } // SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *CreateConfiguredAudienceModelAssociationInput) SetMembershipIdentifier(v string) *CreateConfiguredAudienceModelAssociationInput { +func (s *DeleteAnalysisTemplateInput) SetMembershipIdentifier(v string) *DeleteAnalysisTemplateInput { s.MembershipIdentifier = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateConfiguredAudienceModelAssociationInput) SetTags(v map[string]*string) *CreateConfiguredAudienceModelAssociationInput { - s.Tags = v - return s -} - -type CreateConfiguredAudienceModelAssociationOutput struct { +type DeleteAnalysisTemplateOutput struct { _ struct{} `type:"structure"` - - // Information about the configured audience model association. - // - // ConfiguredAudienceModelAssociation is a required field - ConfiguredAudienceModelAssociation *ConfiguredAudienceModelAssociation `locationName:"configuredAudienceModelAssociation" type:"structure" required:"true"` } // String returns the string representation. @@ -11346,7 +13616,7 @@ type CreateConfiguredAudienceModelAssociationOutput 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 CreateConfiguredAudienceModelAssociationOutput) String() string { +func (s DeleteAnalysisTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -11355,34 +13625,17 @@ func (s CreateConfiguredAudienceModelAssociationOutput) 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 CreateConfiguredAudienceModelAssociationOutput) GoString() string { +func (s DeleteAnalysisTemplateOutput) GoString() string { return s.String() } -// SetConfiguredAudienceModelAssociation sets the ConfiguredAudienceModelAssociation field's value. -func (s *CreateConfiguredAudienceModelAssociationOutput) SetConfiguredAudienceModelAssociation(v *ConfiguredAudienceModelAssociation) *CreateConfiguredAudienceModelAssociationOutput { - s.ConfiguredAudienceModelAssociation = v - return s -} - -type CreateConfiguredTableAnalysisRuleInput struct { - _ struct{} `type:"structure"` - - // The entire created configured table analysis rule object. - // - // AnalysisRulePolicy is a required field - AnalysisRulePolicy *ConfiguredTableAnalysisRulePolicy `locationName:"analysisRulePolicy" type:"structure" required:"true"` - - // The type of analysis rule. - // - // AnalysisRuleType is a required field - AnalysisRuleType *string `locationName:"analysisRuleType" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` +type DeleteCollaborationInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The identifier for the configured table to create the analysis rule for. - // Currently accepts the configured table ID. + // The identifier for the collaboration. // - // ConfiguredTableIdentifier is a required field - ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -11390,7 +13643,7 @@ type CreateConfiguredTableAnalysisRuleInput 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 CreateConfiguredTableAnalysisRuleInput) String() string { +func (s DeleteCollaborationInput) String() string { return awsutil.Prettify(s) } @@ -11399,29 +13652,18 @@ func (s CreateConfiguredTableAnalysisRuleInput) 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 CreateConfiguredTableAnalysisRuleInput) GoString() string { +func (s DeleteCollaborationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateConfiguredTableAnalysisRuleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredTableAnalysisRuleInput"} - if s.AnalysisRulePolicy == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisRulePolicy")) - } - if s.AnalysisRuleType == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisRuleType")) - } - if s.ConfiguredTableIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) - } - if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) +func (s *DeleteCollaborationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCollaborationInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.AnalysisRulePolicy != nil { - if err := s.AnalysisRulePolicy.Validate(); err != nil { - invalidParams.AddNested("AnalysisRulePolicy", err.(request.ErrInvalidParams)) - } + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -11430,31 +13672,14 @@ func (s *CreateConfiguredTableAnalysisRuleInput) Validate() error { return nil } -// SetAnalysisRulePolicy sets the AnalysisRulePolicy field's value. -func (s *CreateConfiguredTableAnalysisRuleInput) SetAnalysisRulePolicy(v *ConfiguredTableAnalysisRulePolicy) *CreateConfiguredTableAnalysisRuleInput { - s.AnalysisRulePolicy = v - return s -} - -// SetAnalysisRuleType sets the AnalysisRuleType field's value. -func (s *CreateConfiguredTableAnalysisRuleInput) SetAnalysisRuleType(v string) *CreateConfiguredTableAnalysisRuleInput { - s.AnalysisRuleType = &v - return s -} - -// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. -func (s *CreateConfiguredTableAnalysisRuleInput) SetConfiguredTableIdentifier(v string) *CreateConfiguredTableAnalysisRuleInput { - s.ConfiguredTableIdentifier = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *DeleteCollaborationInput) SetCollaborationIdentifier(v string) *DeleteCollaborationInput { + s.CollaborationIdentifier = &v return s } -type CreateConfiguredTableAnalysisRuleOutput struct { +type DeleteCollaborationOutput struct { _ struct{} `type:"structure"` - - // The entire created analysis rule. - // - // AnalysisRule is a required field - AnalysisRule *ConfiguredTableAnalysisRule `locationName:"analysisRule" type:"structure" required:"true"` } // String returns the string representation. @@ -11462,7 +13687,7 @@ type CreateConfiguredTableAnalysisRuleOutput 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 CreateConfiguredTableAnalysisRuleOutput) String() string { +func (s DeleteCollaborationOutput) String() string { return awsutil.Prettify(s) } @@ -11471,52 +13696,24 @@ func (s CreateConfiguredTableAnalysisRuleOutput) 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 CreateConfiguredTableAnalysisRuleOutput) GoString() string { +func (s DeleteCollaborationOutput) GoString() string { return s.String() } -// SetAnalysisRule sets the AnalysisRule field's value. -func (s *CreateConfiguredTableAnalysisRuleOutput) SetAnalysisRule(v *ConfiguredTableAnalysisRule) *CreateConfiguredTableAnalysisRuleOutput { - s.AnalysisRule = v - return s -} - -type CreateConfiguredTableAssociationInput struct { - _ struct{} `type:"structure"` +type DeleteConfiguredAudienceModelAssociationInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // A unique identifier for the configured table to be associated to. Currently - // accepts a configured table ID. + // A unique identifier of the configured audience model association that you + // want to delete. // - // ConfiguredTableIdentifier is a required field - ConfiguredTableIdentifier *string `locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` - - // A description for the configured table association. - Description *string `locationName:"description" type:"string"` + // ConfiguredAudienceModelAssociationIdentifier is a required field + ConfiguredAudienceModelAssociationIdentifier *string `location:"uri" locationName:"configuredAudienceModelAssociationIdentifier" min:"36" type:"string" required:"true"` - // A unique identifier for one of your memberships for a collaboration. The - // configured table is associated to the collaboration that this membership - // belongs to. Currently accepts a membership ID. + // A unique identifier of the membership that contains the audience model association + // that you want to delete. // // MembershipIdentifier is a required field MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - - // The name of the configured table association. This name is used to query - // the underlying configured table. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` - - // The service will assume this role to access catalog metadata and query the - // table. - // - // RoleArn is a required field - RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"` - - // An optional label that you can assign to a resource when you create it. Each - // tag consists of a key and an optional value, both of which you define. When - // you use tagging, you can also use tag-based access control in IAM policies - // to control access to this resource. - Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -11524,7 +13721,7 @@ type CreateConfiguredTableAssociationInput 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 CreateConfiguredTableAssociationInput) String() string { +func (s DeleteConfiguredAudienceModelAssociationInput) String() string { return awsutil.Prettify(s) } @@ -11533,18 +13730,18 @@ func (s CreateConfiguredTableAssociationInput) 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 CreateConfiguredTableAssociationInput) GoString() string { +func (s DeleteConfiguredAudienceModelAssociationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateConfiguredTableAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredTableAssociationInput"} - if s.ConfiguredTableIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) +func (s *DeleteConfiguredAudienceModelAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredAudienceModelAssociationInput"} + if s.ConfiguredAudienceModelAssociationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelAssociationIdentifier")) } - if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + if s.ConfiguredAudienceModelAssociationIdentifier != nil && len(*s.ConfiguredAudienceModelAssociationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelAssociationIdentifier", 36)) } if s.MembershipIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) @@ -11552,15 +13749,6 @@ func (s *CreateConfiguredTableAssociationInput) Validate() error { if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) - } - if s.RoleArn != nil && len(*s.RoleArn) < 32 { - invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32)) - } if invalidParams.Len() > 0 { return invalidParams @@ -11568,49 +13756,112 @@ func (s *CreateConfiguredTableAssociationInput) Validate() error { return nil } -// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. -func (s *CreateConfiguredTableAssociationInput) SetConfiguredTableIdentifier(v string) *CreateConfiguredTableAssociationInput { - s.ConfiguredTableIdentifier = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateConfiguredTableAssociationInput) SetDescription(v string) *CreateConfiguredTableAssociationInput { - s.Description = &v +// SetConfiguredAudienceModelAssociationIdentifier sets the ConfiguredAudienceModelAssociationIdentifier field's value. +func (s *DeleteConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelAssociationIdentifier(v string) *DeleteConfiguredAudienceModelAssociationInput { + s.ConfiguredAudienceModelAssociationIdentifier = &v return s } // SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *CreateConfiguredTableAssociationInput) SetMembershipIdentifier(v string) *CreateConfiguredTableAssociationInput { +func (s *DeleteConfiguredAudienceModelAssociationInput) SetMembershipIdentifier(v string) *DeleteConfiguredAudienceModelAssociationInput { s.MembershipIdentifier = &v return s } -// SetName sets the Name field's value. -func (s *CreateConfiguredTableAssociationInput) SetName(v string) *CreateConfiguredTableAssociationInput { - s.Name = &v - return s +type DeleteConfiguredAudienceModelAssociationOutput 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 DeleteConfiguredAudienceModelAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredAudienceModelAssociationOutput) GoString() string { + return s.String() +} + +type DeleteConfiguredTableAnalysisRuleInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The analysis rule type to be deleted. Configured table analysis rules are + // uniquely identified by their configured table identifier and analysis rule + // type. + // + // AnalysisRuleType is a required field + AnalysisRuleType *string `location:"uri" locationName:"analysisRuleType" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` + + // The unique identifier for the configured table that the analysis rule applies + // to. Currently accepts the configured table ID. + // + // ConfiguredTableIdentifier is a required field + ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredTableAnalysisRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredTableAnalysisRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteConfiguredTableAnalysisRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredTableAnalysisRuleInput"} + if s.AnalysisRuleType == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisRuleType")) + } + if s.AnalysisRuleType != nil && len(*s.AnalysisRuleType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisRuleType", 1)) + } + if s.ConfiguredTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) + } + if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetRoleArn sets the RoleArn field's value. -func (s *CreateConfiguredTableAssociationInput) SetRoleArn(v string) *CreateConfiguredTableAssociationInput { - s.RoleArn = &v +// SetAnalysisRuleType sets the AnalysisRuleType field's value. +func (s *DeleteConfiguredTableAnalysisRuleInput) SetAnalysisRuleType(v string) *DeleteConfiguredTableAnalysisRuleInput { + s.AnalysisRuleType = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateConfiguredTableAssociationInput) SetTags(v map[string]*string) *CreateConfiguredTableAssociationInput { - s.Tags = v +// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. +func (s *DeleteConfiguredTableAnalysisRuleInput) SetConfiguredTableIdentifier(v string) *DeleteConfiguredTableAnalysisRuleInput { + s.ConfiguredTableIdentifier = &v return s } -type CreateConfiguredTableAssociationOutput struct { +// An empty response that indicates a successful delete. +type DeleteConfiguredTableAnalysisRuleOutput struct { _ struct{} `type:"structure"` - - // The entire configured table association object. - // - // ConfiguredTableAssociation is a required field - ConfiguredTableAssociation *ConfiguredTableAssociation `locationName:"configuredTableAssociation" type:"structure" required:"true"` } // String returns the string representation. @@ -11618,7 +13869,7 @@ type CreateConfiguredTableAssociationOutput 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 CreateConfiguredTableAssociationOutput) String() string { +func (s DeleteConfiguredTableAnalysisRuleOutput) String() string { return awsutil.Prettify(s) } @@ -11627,49 +13878,24 @@ func (s CreateConfiguredTableAssociationOutput) 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 CreateConfiguredTableAssociationOutput) GoString() string { +func (s DeleteConfiguredTableAnalysisRuleOutput) GoString() string { return s.String() } -// SetConfiguredTableAssociation sets the ConfiguredTableAssociation field's value. -func (s *CreateConfiguredTableAssociationOutput) SetConfiguredTableAssociation(v *ConfiguredTableAssociation) *CreateConfiguredTableAssociationOutput { - s.ConfiguredTableAssociation = v - return s -} - -type CreateConfiguredTableInput struct { - _ struct{} `type:"structure"` - - // The columns of the underlying table that can be used by collaborations or - // analysis rules. - // - // AllowedColumns is a required field - AllowedColumns []*string `locationName:"allowedColumns" min:"1" type:"list" required:"true"` - - // The analysis method for the configured tables. The only valid value is currently - // `DIRECT_QUERY`. - // - // AnalysisMethod is a required field - AnalysisMethod *string `locationName:"analysisMethod" type:"string" required:"true" enum:"AnalysisMethod"` - - // A description for the configured table. - Description *string `locationName:"description" type:"string"` +type DeleteConfiguredTableAssociationInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The name of the configured table. + // The unique ID for the configured table association to be deleted. Currently + // accepts the configured table ID. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // ConfiguredTableAssociationIdentifier is a required field + ConfiguredTableAssociationIdentifier *string `location:"uri" locationName:"configuredTableAssociationIdentifier" min:"36" type:"string" required:"true"` - // A reference to the Glue table being configured. + // A unique identifier for the membership that the configured table association + // belongs to. Currently accepts the membership ID. // - // TableReference is a required field - TableReference *TableReference `locationName:"tableReference" type:"structure" required:"true"` - - // An optional label that you can assign to a resource when you create it. Each - // tag consists of a key and an optional value, both of which you define. When - // you use tagging, you can also use tag-based access control in IAM policies - // to control access to this resource. - Tags map[string]*string `locationName:"tags" type:"map"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -11677,7 +13903,7 @@ type CreateConfiguredTableInput 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 CreateConfiguredTableInput) String() string { +func (s DeleteConfiguredTableAssociationInput) String() string { return awsutil.Prettify(s) } @@ -11686,35 +13912,24 @@ func (s CreateConfiguredTableInput) 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 CreateConfiguredTableInput) GoString() string { +func (s DeleteConfiguredTableAssociationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateConfiguredTableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredTableInput"} - if s.AllowedColumns == nil { - invalidParams.Add(request.NewErrParamRequired("AllowedColumns")) - } - if s.AllowedColumns != nil && len(s.AllowedColumns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AllowedColumns", 1)) - } - if s.AnalysisMethod == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisMethod")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *DeleteConfiguredTableAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredTableAssociationInput"} + if s.ConfiguredTableAssociationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableAssociationIdentifier")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.ConfiguredTableAssociationIdentifier != nil && len(*s.ConfiguredTableAssociationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableAssociationIdentifier", 36)) } - if s.TableReference == nil { - invalidParams.Add(request.NewErrParamRequired("TableReference")) + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } - if s.TableReference != nil { - if err := s.TableReference.Validate(); err != nil { - invalidParams.AddNested("TableReference", err.(request.ErrInvalidParams)) - } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -11723,49 +13938,20 @@ func (s *CreateConfiguredTableInput) Validate() error { return nil } -// SetAllowedColumns sets the AllowedColumns field's value. -func (s *CreateConfiguredTableInput) SetAllowedColumns(v []*string) *CreateConfiguredTableInput { - s.AllowedColumns = v - return s -} - -// SetAnalysisMethod sets the AnalysisMethod field's value. -func (s *CreateConfiguredTableInput) SetAnalysisMethod(v string) *CreateConfiguredTableInput { - s.AnalysisMethod = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateConfiguredTableInput) SetDescription(v string) *CreateConfiguredTableInput { - s.Description = &v - return s -} - -// SetName sets the Name field's value. -func (s *CreateConfiguredTableInput) SetName(v string) *CreateConfiguredTableInput { - s.Name = &v - return s -} - -// SetTableReference sets the TableReference field's value. -func (s *CreateConfiguredTableInput) SetTableReference(v *TableReference) *CreateConfiguredTableInput { - s.TableReference = v +// SetConfiguredTableAssociationIdentifier sets the ConfiguredTableAssociationIdentifier field's value. +func (s *DeleteConfiguredTableAssociationInput) SetConfiguredTableAssociationIdentifier(v string) *DeleteConfiguredTableAssociationInput { + s.ConfiguredTableAssociationIdentifier = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateConfiguredTableInput) SetTags(v map[string]*string) *CreateConfiguredTableInput { - s.Tags = v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *DeleteConfiguredTableAssociationInput) SetMembershipIdentifier(v string) *DeleteConfiguredTableAssociationInput { + s.MembershipIdentifier = &v return s } -type CreateConfiguredTableOutput struct { +type DeleteConfiguredTableAssociationOutput struct { _ struct{} `type:"structure"` - - // The created configured table. - // - // ConfiguredTable is a required field - ConfiguredTable *ConfiguredTable `locationName:"configuredTable" type:"structure" required:"true"` } // String returns the string representation. @@ -11773,7 +13959,7 @@ type CreateConfiguredTableOutput 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 CreateConfiguredTableOutput) String() string { +func (s DeleteConfiguredTableAssociationOutput) String() string { return awsutil.Prettify(s) } @@ -11782,47 +13968,17 @@ func (s CreateConfiguredTableOutput) 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 CreateConfiguredTableOutput) GoString() string { +func (s DeleteConfiguredTableAssociationOutput) GoString() string { return s.String() } -// SetConfiguredTable sets the ConfiguredTable field's value. -func (s *CreateConfiguredTableOutput) SetConfiguredTable(v *ConfiguredTable) *CreateConfiguredTableOutput { - s.ConfiguredTable = v - return s -} - -type CreateMembershipInput struct { - _ struct{} `type:"structure"` - - // The unique ID for the associated collaboration. - // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - - // The default protected query result configuration as specified by the member - // who can receive results. - DefaultResultConfiguration *MembershipProtectedQueryResultConfiguration `locationName:"defaultResultConfiguration" type:"structure"` - - // The payment responsibilities accepted by the collaboration member. - // - // Not required if the collaboration member has the member ability to run queries. - // - // Required if the collaboration member doesn't have the member ability to run - // queries but is configured as a payer by the collaboration creator. - PaymentConfiguration *MembershipPaymentConfiguration `locationName:"paymentConfiguration" type:"structure"` +type DeleteConfiguredTableInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // An indicator as to whether query logging has been enabled or disabled for - // the membership. + // The unique ID for the configured table to delete. // - // QueryLogStatus is a required field - QueryLogStatus *string `locationName:"queryLogStatus" type:"string" required:"true" enum:"MembershipQueryLogStatus"` - - // An optional label that you can assign to a resource when you create it. Each - // tag consists of a key and an optional value, both of which you define. When - // you use tagging, you can also use tag-based access control in IAM policies - // to control access to this resource. - Tags map[string]*string `locationName:"tags" type:"map"` + // ConfiguredTableIdentifier is a required field + ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -11830,7 +13986,7 @@ type CreateMembershipInput 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 CreateMembershipInput) String() string { +func (s DeleteConfiguredTableInput) String() string { return awsutil.Prettify(s) } @@ -11838,77 +13994,36 @@ func (s CreateMembershipInput) 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 CreateMembershipInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateMembershipInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateMembershipInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) - } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) - } - if s.QueryLogStatus == nil { - invalidParams.Add(request.NewErrParamRequired("QueryLogStatus")) - } - if s.DefaultResultConfiguration != nil { - if err := s.DefaultResultConfiguration.Validate(); err != nil { - invalidParams.AddNested("DefaultResultConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.PaymentConfiguration != nil { - if err := s.PaymentConfiguration.Validate(); err != nil { - invalidParams.AddNested("PaymentConfiguration", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *CreateMembershipInput) SetCollaborationIdentifier(v string) *CreateMembershipInput { - s.CollaborationIdentifier = &v - return s -} - -// SetDefaultResultConfiguration sets the DefaultResultConfiguration field's value. -func (s *CreateMembershipInput) SetDefaultResultConfiguration(v *MembershipProtectedQueryResultConfiguration) *CreateMembershipInput { - s.DefaultResultConfiguration = v - return s -} - -// SetPaymentConfiguration sets the PaymentConfiguration field's value. -func (s *CreateMembershipInput) SetPaymentConfiguration(v *MembershipPaymentConfiguration) *CreateMembershipInput { - s.PaymentConfiguration = v - return s +// value will be replaced with "sensitive". +func (s DeleteConfiguredTableInput) GoString() string { + return s.String() } -// SetQueryLogStatus sets the QueryLogStatus field's value. -func (s *CreateMembershipInput) SetQueryLogStatus(v string) *CreateMembershipInput { - s.QueryLogStatus = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteConfiguredTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredTableInput"} + if s.ConfiguredTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) + } + if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTags sets the Tags field's value. -func (s *CreateMembershipInput) SetTags(v map[string]*string) *CreateMembershipInput { - s.Tags = v +// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. +func (s *DeleteConfiguredTableInput) SetConfiguredTableIdentifier(v string) *DeleteConfiguredTableInput { + s.ConfiguredTableIdentifier = &v return s } -type CreateMembershipOutput struct { +// The empty output for a successful deletion. +type DeleteConfiguredTableOutput struct { _ struct{} `type:"structure"` - - // The membership that was created. - // - // Membership is a required field - Membership *Membership `locationName:"membership" type:"structure" required:"true"` } // String returns the string representation. @@ -11916,7 +14031,7 @@ type CreateMembershipOutput 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 CreateMembershipOutput) String() string { +func (s DeleteConfiguredTableOutput) String() string { return awsutil.Prettify(s) } @@ -11925,53 +14040,23 @@ func (s CreateMembershipOutput) 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 CreateMembershipOutput) GoString() string { +func (s DeleteConfiguredTableOutput) GoString() string { return s.String() } -// SetMembership sets the Membership field's value. -func (s *CreateMembershipOutput) SetMembership(v *Membership) *CreateMembershipOutput { - s.Membership = v - return s -} - -type CreatePrivacyBudgetTemplateInput struct { - _ struct{} `type:"structure"` +type DeleteIdMappingTableInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // How often the privacy budget refreshes. - // - // If you plan to regularly bring new data into the collaboration, you can use - // CALENDAR_MONTH to automatically get a new privacy budget for the collaboration - // every calendar month. Choosing this option allows arbitrary amounts of information - // to be revealed about rows of the data when repeatedly queries across refreshes. - // Avoid choosing this if the same rows will be repeatedly queried between privacy - // budget refreshes. + // The unique identifier of the ID mapping table that you want to delete. // - // AutoRefresh is a required field - AutoRefresh *string `locationName:"autoRefresh" type:"string" required:"true" enum:"PrivacyBudgetTemplateAutoRefresh"` + // IdMappingTableIdentifier is a required field + IdMappingTableIdentifier *string `location:"uri" locationName:"idMappingTableIdentifier" min:"36" type:"string" required:"true"` - // A unique identifier for one of your memberships for a collaboration. The - // privacy budget template is created in the collaboration that this membership - // belongs to. Accepts a membership ID. + // The unique identifier of the membership that contains the ID mapping table + // that you want to delete. // // MembershipIdentifier is a required field MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - - // Specifies your parameters for the privacy budget template. - // - // Parameters is a required field - Parameters *PrivacyBudgetTemplateParametersInput_ `locationName:"parameters" type:"structure" required:"true"` - - // Specifies the type of the privacy budget template. - // - // PrivacyBudgetType is a required field - PrivacyBudgetType *string `locationName:"privacyBudgetType" type:"string" required:"true" enum:"PrivacyBudgetType"` - - // An optional label that you can assign to a resource when you create it. Each - // tag consists of a key and an optional value, both of which you define. When - // you use tagging, you can also use tag-based access control in IAM policies - // to control access to this resource. - Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -11979,7 +14064,7 @@ type CreatePrivacyBudgetTemplateInput 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 CreatePrivacyBudgetTemplateInput) String() string { +func (s DeleteIdMappingTableInput) String() string { return awsutil.Prettify(s) } @@ -11988,15 +14073,18 @@ func (s CreatePrivacyBudgetTemplateInput) 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 CreatePrivacyBudgetTemplateInput) GoString() string { +func (s DeleteIdMappingTableInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreatePrivacyBudgetTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreatePrivacyBudgetTemplateInput"} - if s.AutoRefresh == nil { - invalidParams.Add(request.NewErrParamRequired("AutoRefresh")) +func (s *DeleteIdMappingTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIdMappingTableInput"} + if s.IdMappingTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("IdMappingTableIdentifier")) + } + if s.IdMappingTableIdentifier != nil && len(*s.IdMappingTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IdMappingTableIdentifier", 36)) } if s.MembershipIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) @@ -12004,17 +14092,6 @@ func (s *CreatePrivacyBudgetTemplateInput) Validate() error { if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } - if s.Parameters == nil { - invalidParams.Add(request.NewErrParamRequired("Parameters")) - } - if s.PrivacyBudgetType == nil { - invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetType")) - } - if s.Parameters != nil { - if err := s.Parameters.Validate(); err != nil { - invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -12022,43 +14099,20 @@ func (s *CreatePrivacyBudgetTemplateInput) Validate() error { return nil } -// SetAutoRefresh sets the AutoRefresh field's value. -func (s *CreatePrivacyBudgetTemplateInput) SetAutoRefresh(v string) *CreatePrivacyBudgetTemplateInput { - s.AutoRefresh = &v +// SetIdMappingTableIdentifier sets the IdMappingTableIdentifier field's value. +func (s *DeleteIdMappingTableInput) SetIdMappingTableIdentifier(v string) *DeleteIdMappingTableInput { + s.IdMappingTableIdentifier = &v return s } // SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *CreatePrivacyBudgetTemplateInput) SetMembershipIdentifier(v string) *CreatePrivacyBudgetTemplateInput { +func (s *DeleteIdMappingTableInput) SetMembershipIdentifier(v string) *DeleteIdMappingTableInput { s.MembershipIdentifier = &v return s } -// SetParameters sets the Parameters field's value. -func (s *CreatePrivacyBudgetTemplateInput) SetParameters(v *PrivacyBudgetTemplateParametersInput_) *CreatePrivacyBudgetTemplateInput { - s.Parameters = v - return s -} - -// SetPrivacyBudgetType sets the PrivacyBudgetType field's value. -func (s *CreatePrivacyBudgetTemplateInput) SetPrivacyBudgetType(v string) *CreatePrivacyBudgetTemplateInput { - s.PrivacyBudgetType = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreatePrivacyBudgetTemplateInput) SetTags(v map[string]*string) *CreatePrivacyBudgetTemplateInput { - s.Tags = v - return s -} - -type CreatePrivacyBudgetTemplateOutput struct { +type DeleteIdMappingTableOutput struct { _ struct{} `type:"structure"` - - // A summary of the elements in the privacy budget template. - // - // PrivacyBudgetTemplate is a required field - PrivacyBudgetTemplate *PrivacyBudgetTemplate `locationName:"privacyBudgetTemplate" type:"structure" required:"true"` } // String returns the string representation. @@ -12066,7 +14120,7 @@ type CreatePrivacyBudgetTemplateOutput 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 CreatePrivacyBudgetTemplateOutput) String() string { +func (s DeleteIdMappingTableOutput) String() string { return awsutil.Prettify(s) } @@ -12075,44 +14129,23 @@ func (s CreatePrivacyBudgetTemplateOutput) 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 CreatePrivacyBudgetTemplateOutput) GoString() string { +func (s DeleteIdMappingTableOutput) GoString() string { return s.String() } -// SetPrivacyBudgetTemplate sets the PrivacyBudgetTemplate field's value. -func (s *CreatePrivacyBudgetTemplateOutput) SetPrivacyBudgetTemplate(v *PrivacyBudgetTemplate) *CreatePrivacyBudgetTemplateOutput { - s.PrivacyBudgetTemplate = v - return s -} - -// The settings for client-side encryption for cryptographic computing. -type DataEncryptionMetadata struct { - _ struct{} `type:"structure"` - - // Indicates whether encrypted tables can contain cleartext data (TRUE) or are - // to cryptographically process every column (FALSE). - // - // AllowCleartext is a required field - AllowCleartext *bool `locationName:"allowCleartext" type:"boolean" required:"true"` - - // Indicates whether Fingerprint columns can contain duplicate entries (TRUE) - // or are to contain only non-repeated values (FALSE). - // - // AllowDuplicates is a required field - AllowDuplicates *bool `locationName:"allowDuplicates" type:"boolean" required:"true"` +type DeleteIdNamespaceAssociationInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // Indicates whether Fingerprint columns can be joined on any other Fingerprint - // column with a different name (TRUE) or can only be joined on Fingerprint - // columns of the same name (FALSE). + // The unique identifier of the ID namespace association that you want to delete. // - // AllowJoinsOnColumnsWithDifferentNames is a required field - AllowJoinsOnColumnsWithDifferentNames *bool `locationName:"allowJoinsOnColumnsWithDifferentNames" type:"boolean" required:"true"` + // IdNamespaceAssociationIdentifier is a required field + IdNamespaceAssociationIdentifier *string `location:"uri" locationName:"idNamespaceAssociationIdentifier" min:"36" type:"string" required:"true"` - // Indicates whether NULL values are to be copied as NULL to encrypted tables - // (TRUE) or cryptographically processed (FALSE). + // The unique identifier of the membership that contains the ID namespace association + // that you want to delete. // - // PreserveNulls is a required field - PreserveNulls *bool `locationName:"preserveNulls" type:"boolean" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -12120,7 +14153,7 @@ type DataEncryptionMetadata 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 DataEncryptionMetadata) String() string { +func (s DeleteIdNamespaceAssociationInput) String() string { return awsutil.Prettify(s) } @@ -12129,24 +14162,24 @@ func (s DataEncryptionMetadata) 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 DataEncryptionMetadata) GoString() string { +func (s DeleteIdNamespaceAssociationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DataEncryptionMetadata) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DataEncryptionMetadata"} - if s.AllowCleartext == nil { - invalidParams.Add(request.NewErrParamRequired("AllowCleartext")) +func (s *DeleteIdNamespaceAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIdNamespaceAssociationInput"} + if s.IdNamespaceAssociationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("IdNamespaceAssociationIdentifier")) } - if s.AllowDuplicates == nil { - invalidParams.Add(request.NewErrParamRequired("AllowDuplicates")) + if s.IdNamespaceAssociationIdentifier != nil && len(*s.IdNamespaceAssociationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IdNamespaceAssociationIdentifier", 36)) } - if s.AllowJoinsOnColumnsWithDifferentNames == nil { - invalidParams.Add(request.NewErrParamRequired("AllowJoinsOnColumnsWithDifferentNames")) + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } - if s.PreserveNulls == nil { - invalidParams.Add(request.NewErrParamRequired("PreserveNulls")) + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -12155,42 +14188,52 @@ func (s *DataEncryptionMetadata) Validate() error { return nil } -// SetAllowCleartext sets the AllowCleartext field's value. -func (s *DataEncryptionMetadata) SetAllowCleartext(v bool) *DataEncryptionMetadata { - s.AllowCleartext = &v +// SetIdNamespaceAssociationIdentifier sets the IdNamespaceAssociationIdentifier field's value. +func (s *DeleteIdNamespaceAssociationInput) SetIdNamespaceAssociationIdentifier(v string) *DeleteIdNamespaceAssociationInput { + s.IdNamespaceAssociationIdentifier = &v return s } -// SetAllowDuplicates sets the AllowDuplicates field's value. -func (s *DataEncryptionMetadata) SetAllowDuplicates(v bool) *DataEncryptionMetadata { - s.AllowDuplicates = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *DeleteIdNamespaceAssociationInput) SetMembershipIdentifier(v string) *DeleteIdNamespaceAssociationInput { + s.MembershipIdentifier = &v return s } -// SetAllowJoinsOnColumnsWithDifferentNames sets the AllowJoinsOnColumnsWithDifferentNames field's value. -func (s *DataEncryptionMetadata) SetAllowJoinsOnColumnsWithDifferentNames(v bool) *DataEncryptionMetadata { - s.AllowJoinsOnColumnsWithDifferentNames = &v - return s +type DeleteIdNamespaceAssociationOutput struct { + _ struct{} `type:"structure"` } -// SetPreserveNulls sets the PreserveNulls field's value. -func (s *DataEncryptionMetadata) SetPreserveNulls(v bool) *DataEncryptionMetadata { - s.PreserveNulls = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteIdNamespaceAssociationOutput) String() string { + return awsutil.Prettify(s) } -type DeleteAnalysisTemplateInput struct { +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteIdNamespaceAssociationOutput) GoString() string { + return s.String() +} + +type DeleteMemberInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier for the analysis template resource. + // The account ID of the member to remove. // - // AnalysisTemplateIdentifier is a required field - AnalysisTemplateIdentifier *string `location:"uri" locationName:"analysisTemplateIdentifier" min:"36" type:"string" required:"true"` + // AccountId is a required field + AccountId *string `location:"uri" locationName:"accountId" min:"12" type:"string" required:"true"` - // The identifier for a membership resource. + // The unique identifier for the associated collaboration. // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -12198,7 +14241,7 @@ type DeleteAnalysisTemplateInput 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 DeleteAnalysisTemplateInput) String() string { +func (s DeleteMemberInput) String() string { return awsutil.Prettify(s) } @@ -12207,24 +14250,24 @@ func (s DeleteAnalysisTemplateInput) 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 DeleteAnalysisTemplateInput) GoString() string { +func (s DeleteMemberInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAnalysisTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAnalysisTemplateInput"} - if s.AnalysisTemplateIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateIdentifier")) +func (s *DeleteMemberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMemberInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) } - if s.AnalysisTemplateIdentifier != nil && len(*s.AnalysisTemplateIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateIdentifier", 36)) + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) } - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -12233,19 +14276,19 @@ func (s *DeleteAnalysisTemplateInput) Validate() error { return nil } -// SetAnalysisTemplateIdentifier sets the AnalysisTemplateIdentifier field's value. -func (s *DeleteAnalysisTemplateInput) SetAnalysisTemplateIdentifier(v string) *DeleteAnalysisTemplateInput { - s.AnalysisTemplateIdentifier = &v +// SetAccountId sets the AccountId field's value. +func (s *DeleteMemberInput) SetAccountId(v string) *DeleteMemberInput { + s.AccountId = &v return s } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *DeleteAnalysisTemplateInput) SetMembershipIdentifier(v string) *DeleteAnalysisTemplateInput { - s.MembershipIdentifier = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *DeleteMemberInput) SetCollaborationIdentifier(v string) *DeleteMemberInput { + s.CollaborationIdentifier = &v return s } -type DeleteAnalysisTemplateOutput struct { +type DeleteMemberOutput struct { _ struct{} `type:"structure"` } @@ -12254,7 +14297,7 @@ type DeleteAnalysisTemplateOutput 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 DeleteAnalysisTemplateOutput) String() string { +func (s DeleteMemberOutput) String() string { return awsutil.Prettify(s) } @@ -12263,17 +14306,17 @@ func (s DeleteAnalysisTemplateOutput) 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 DeleteAnalysisTemplateOutput) GoString() string { +func (s DeleteMemberOutput) GoString() string { return s.String() } -type DeleteCollaborationInput struct { +type DeleteMembershipInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier for the collaboration. + // The identifier for a membership resource. // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -12281,7 +14324,7 @@ type DeleteCollaborationInput 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 DeleteCollaborationInput) String() string { +func (s DeleteMembershipInput) String() string { return awsutil.Prettify(s) } @@ -12290,18 +14333,18 @@ func (s DeleteCollaborationInput) 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 DeleteCollaborationInput) GoString() string { +func (s DeleteMembershipInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteCollaborationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteCollaborationInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) +func (s *DeleteMembershipInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMembershipInput"} + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -12310,13 +14353,13 @@ func (s *DeleteCollaborationInput) Validate() error { return nil } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *DeleteCollaborationInput) SetCollaborationIdentifier(v string) *DeleteCollaborationInput { - s.CollaborationIdentifier = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *DeleteMembershipInput) SetMembershipIdentifier(v string) *DeleteMembershipInput { + s.MembershipIdentifier = &v return s } -type DeleteCollaborationOutput struct { +type DeleteMembershipOutput struct { _ struct{} `type:"structure"` } @@ -12325,7 +14368,7 @@ type DeleteCollaborationOutput 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 DeleteCollaborationOutput) String() string { +func (s DeleteMembershipOutput) String() string { return awsutil.Prettify(s) } @@ -12334,24 +14377,24 @@ func (s DeleteCollaborationOutput) 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 DeleteCollaborationOutput) GoString() string { +func (s DeleteMembershipOutput) GoString() string { return s.String() } -type DeleteConfiguredAudienceModelAssociationInput struct { +type DeletePrivacyBudgetTemplateInput struct { _ struct{} `type:"structure" nopayload:"true"` - // A unique identifier of the configured audience model association that you - // want to delete. - // - // ConfiguredAudienceModelAssociationIdentifier is a required field - ConfiguredAudienceModelAssociationIdentifier *string `location:"uri" locationName:"configuredAudienceModelAssociationIdentifier" min:"36" type:"string" required:"true"` - - // A unique identifier of the membership that contains the audience model association - // that you want to delete. + // A unique identifier for one of your memberships for a collaboration. The + // privacy budget template is deleted from the collaboration that this membership + // belongs to. Accepts a membership ID. // // MembershipIdentifier is a required field MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // A unique identifier for your privacy budget template. + // + // PrivacyBudgetTemplateIdentifier is a required field + PrivacyBudgetTemplateIdentifier *string `location:"uri" locationName:"privacyBudgetTemplateIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -12359,7 +14402,7 @@ type DeleteConfiguredAudienceModelAssociationInput 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 DeleteConfiguredAudienceModelAssociationInput) String() string { +func (s DeletePrivacyBudgetTemplateInput) String() string { return awsutil.Prettify(s) } @@ -12368,25 +14411,25 @@ func (s DeleteConfiguredAudienceModelAssociationInput) 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 DeleteConfiguredAudienceModelAssociationInput) GoString() string { +func (s DeletePrivacyBudgetTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteConfiguredAudienceModelAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredAudienceModelAssociationInput"} - if s.ConfiguredAudienceModelAssociationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelAssociationIdentifier")) - } - if s.ConfiguredAudienceModelAssociationIdentifier != nil && len(*s.ConfiguredAudienceModelAssociationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelAssociationIdentifier", 36)) - } +func (s *DeletePrivacyBudgetTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePrivacyBudgetTemplateInput"} if s.MembershipIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } + if s.PrivacyBudgetTemplateIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetTemplateIdentifier")) + } + if s.PrivacyBudgetTemplateIdentifier != nil && len(*s.PrivacyBudgetTemplateIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PrivacyBudgetTemplateIdentifier", 36)) + } if invalidParams.Len() > 0 { return invalidParams @@ -12394,19 +14437,19 @@ func (s *DeleteConfiguredAudienceModelAssociationInput) Validate() error { return nil } -// SetConfiguredAudienceModelAssociationIdentifier sets the ConfiguredAudienceModelAssociationIdentifier field's value. -func (s *DeleteConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelAssociationIdentifier(v string) *DeleteConfiguredAudienceModelAssociationInput { - s.ConfiguredAudienceModelAssociationIdentifier = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *DeletePrivacyBudgetTemplateInput) SetMembershipIdentifier(v string) *DeletePrivacyBudgetTemplateInput { + s.MembershipIdentifier = &v return s } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *DeleteConfiguredAudienceModelAssociationInput) SetMembershipIdentifier(v string) *DeleteConfiguredAudienceModelAssociationInput { - s.MembershipIdentifier = &v +// SetPrivacyBudgetTemplateIdentifier sets the PrivacyBudgetTemplateIdentifier field's value. +func (s *DeletePrivacyBudgetTemplateInput) SetPrivacyBudgetTemplateIdentifier(v string) *DeletePrivacyBudgetTemplateInput { + s.PrivacyBudgetTemplateIdentifier = &v return s } -type DeleteConfiguredAudienceModelAssociationOutput struct { +type DeletePrivacyBudgetTemplateOutput struct { _ struct{} `type:"structure"` } @@ -12415,7 +14458,7 @@ type DeleteConfiguredAudienceModelAssociationOutput 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 DeleteConfiguredAudienceModelAssociationOutput) String() string { +func (s DeletePrivacyBudgetTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -12424,25 +14467,23 @@ func (s DeleteConfiguredAudienceModelAssociationOutput) 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 DeleteConfiguredAudienceModelAssociationOutput) GoString() string { +func (s DeletePrivacyBudgetTemplateOutput) GoString() string { return s.String() } -type DeleteConfiguredTableAnalysisRuleInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // The analysis rule type to be deleted. Configured table analysis rules are - // uniquely identified by their configured table identifier and analysis rule - // type. - // - // AnalysisRuleType is a required field - AnalysisRuleType *string `location:"uri" locationName:"analysisRuleType" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` +// Specifies the name of the column that contains the unique identifier of your +// users, whose privacy you want to protect. +type DifferentialPrivacyColumn struct { + _ struct{} `type:"structure"` - // The unique identifier for the configured table that the analysis rule applies - // to. Currently accepts the configured table ID. + // The name of the column, such as user_id, that contains the unique identifier + // of your users, whose privacy you want to protect. If you want to turn on + // differential privacy for two or more tables in a collaboration, you must + // configure the same column as the user identifier column in both analysis + // rules. // - // ConfiguredTableIdentifier is a required field - ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` } // String returns the string representation. @@ -12450,7 +14491,7 @@ type DeleteConfiguredTableAnalysisRuleInput 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 DeleteConfiguredTableAnalysisRuleInput) String() string { +func (s DifferentialPrivacyColumn) String() string { return awsutil.Prettify(s) } @@ -12459,24 +14500,15 @@ func (s DeleteConfiguredTableAnalysisRuleInput) 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 DeleteConfiguredTableAnalysisRuleInput) GoString() string { +func (s DifferentialPrivacyColumn) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteConfiguredTableAnalysisRuleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredTableAnalysisRuleInput"} - if s.AnalysisRuleType == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisRuleType")) - } - if s.AnalysisRuleType != nil && len(*s.AnalysisRuleType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AnalysisRuleType", 1)) - } - if s.ConfiguredTableIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) - } - if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) +func (s *DifferentialPrivacyColumn) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyColumn"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } if invalidParams.Len() > 0 { @@ -12485,21 +14517,23 @@ func (s *DeleteConfiguredTableAnalysisRuleInput) Validate() error { return nil } -// SetAnalysisRuleType sets the AnalysisRuleType field's value. -func (s *DeleteConfiguredTableAnalysisRuleInput) SetAnalysisRuleType(v string) *DeleteConfiguredTableAnalysisRuleInput { - s.AnalysisRuleType = &v - return s -} - -// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. -func (s *DeleteConfiguredTableAnalysisRuleInput) SetConfiguredTableIdentifier(v string) *DeleteConfiguredTableAnalysisRuleInput { - s.ConfiguredTableIdentifier = &v +// SetName sets the Name field's value. +func (s *DifferentialPrivacyColumn) SetName(v string) *DifferentialPrivacyColumn { + s.Name = &v return s } -// An empty response that indicates a successful delete. -type DeleteConfiguredTableAnalysisRuleOutput struct { +// Specifies the unique identifier for your users. +type DifferentialPrivacyConfiguration struct { _ struct{} `type:"structure"` + + // The name of the column (such as user_id) that contains the unique identifier + // of your users whose privacy you want to protect. If you want to turn on differential + // privacy for two or more tables in a collaboration, you must configure the + // same column as the user identifier column in both analysis rules. + // + // Columns is a required field + Columns []*DifferentialPrivacyColumn `locationName:"columns" min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -12507,7 +14541,7 @@ type DeleteConfiguredTableAnalysisRuleOutput 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 DeleteConfiguredTableAnalysisRuleOutput) String() string { +func (s DifferentialPrivacyConfiguration) String() string { return awsutil.Prettify(s) } @@ -12516,24 +14550,51 @@ func (s DeleteConfiguredTableAnalysisRuleOutput) 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 DeleteConfiguredTableAnalysisRuleOutput) GoString() string { +func (s DifferentialPrivacyConfiguration) GoString() string { return s.String() } -type DeleteConfiguredTableAssociationInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DifferentialPrivacyConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyConfiguration"} + if s.Columns == nil { + invalidParams.Add(request.NewErrParamRequired("Columns")) + } + if s.Columns != nil && len(s.Columns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Columns", 1)) + } + if s.Columns != nil { + for i, v := range s.Columns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Columns", i), err.(request.ErrInvalidParams)) + } + } + } - // The unique ID for the configured table association to be deleted. Currently - // accepts the configured table ID. - // - // ConfiguredTableAssociationIdentifier is a required field - ConfiguredTableAssociationIdentifier *string `location:"uri" locationName:"configuredTableAssociationIdentifier" min:"36" type:"string" required:"true"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // A unique identifier for the membership that the configured table association - // belongs to. Currently accepts the membership ID. +// SetColumns sets the Columns field's value. +func (s *DifferentialPrivacyConfiguration) SetColumns(v []*DifferentialPrivacyColumn) *DifferentialPrivacyConfiguration { + s.Columns = v + return s +} + +// An array that contains the sensitivity parameters. +type DifferentialPrivacyParameters struct { + _ struct{} `type:"structure"` + + // Provides the sensitivity parameters that you can use to better understand + // the total amount of noise in query results. // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // SensitivityParameters is a required field + SensitivityParameters []*DifferentialPrivacySensitivityParameters `locationName:"sensitivityParameters" type:"list" required:"true"` } // String returns the string representation. @@ -12541,7 +14602,7 @@ type DeleteConfiguredTableAssociationInput 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 DeleteConfiguredTableAssociationInput) String() string { +func (s DifferentialPrivacyParameters) String() string { return awsutil.Prettify(s) } @@ -12550,46 +14611,31 @@ func (s DeleteConfiguredTableAssociationInput) 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 DeleteConfiguredTableAssociationInput) GoString() string { +func (s DifferentialPrivacyParameters) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteConfiguredTableAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredTableAssociationInput"} - if s.ConfiguredTableAssociationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableAssociationIdentifier")) - } - if s.ConfiguredTableAssociationIdentifier != nil && len(*s.ConfiguredTableAssociationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableAssociationIdentifier", 36)) - } - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) - } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetConfiguredTableAssociationIdentifier sets the ConfiguredTableAssociationIdentifier field's value. -func (s *DeleteConfiguredTableAssociationInput) SetConfiguredTableAssociationIdentifier(v string) *DeleteConfiguredTableAssociationInput { - s.ConfiguredTableAssociationIdentifier = &v - return s -} - -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *DeleteConfiguredTableAssociationInput) SetMembershipIdentifier(v string) *DeleteConfiguredTableAssociationInput { - s.MembershipIdentifier = &v +// SetSensitivityParameters sets the SensitivityParameters field's value. +func (s *DifferentialPrivacyParameters) SetSensitivityParameters(v []*DifferentialPrivacySensitivityParameters) *DifferentialPrivacyParameters { + s.SensitivityParameters = v return s } -type DeleteConfiguredTableAssociationOutput struct { +// Provides an estimate of the number of aggregation functions that the member +// who can query can run given the epsilon and noise parameters. +type DifferentialPrivacyPreviewAggregation struct { _ struct{} `type:"structure"` + + // The maximum number of aggregations that the member who can query can run + // given the epsilon and noise parameters. + // + // MaxCount is a required field + MaxCount *int64 `locationName:"maxCount" type:"integer" required:"true"` + + // The type of aggregation function. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"DifferentialPrivacyAggregationType"` } // String returns the string representation. @@ -12597,7 +14643,7 @@ type DeleteConfiguredTableAssociationOutput 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 DeleteConfiguredTableAssociationOutput) String() string { +func (s DifferentialPrivacyPreviewAggregation) String() string { return awsutil.Prettify(s) } @@ -12606,17 +14652,37 @@ func (s DeleteConfiguredTableAssociationOutput) 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 DeleteConfiguredTableAssociationOutput) GoString() string { +func (s DifferentialPrivacyPreviewAggregation) GoString() string { return s.String() } -type DeleteConfiguredTableInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetMaxCount sets the MaxCount field's value. +func (s *DifferentialPrivacyPreviewAggregation) SetMaxCount(v int64) *DifferentialPrivacyPreviewAggregation { + s.MaxCount = &v + return s +} - // The unique ID for the configured table to delete. +// SetType sets the Type field's value. +func (s *DifferentialPrivacyPreviewAggregation) SetType(v string) *DifferentialPrivacyPreviewAggregation { + s.Type = &v + return s +} + +// The epsilon and noise parameters that you want to preview. +type DifferentialPrivacyPreviewParametersInput_ struct { + _ struct{} `type:"structure"` + + // The epsilon value that you want to preview. // - // ConfiguredTableIdentifier is a required field - ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` + // Epsilon is a required field + Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer" required:"true"` + + // Noise added per query is measured in terms of the number of users whose contributions + // you want to obscure. This value governs the rate at which the privacy budget + // is depleted. + // + // UsersNoisePerQuery is a required field + UsersNoisePerQuery *int64 `locationName:"usersNoisePerQuery" min:"10" type:"integer" required:"true"` } // String returns the string representation. @@ -12624,7 +14690,7 @@ type DeleteConfiguredTableInput 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 DeleteConfiguredTableInput) String() string { +func (s DifferentialPrivacyPreviewParametersInput_) String() string { return awsutil.Prettify(s) } @@ -12633,18 +14699,24 @@ func (s DeleteConfiguredTableInput) 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 DeleteConfiguredTableInput) GoString() string { +func (s DifferentialPrivacyPreviewParametersInput_) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteConfiguredTableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredTableInput"} - if s.ConfiguredTableIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) +func (s *DifferentialPrivacyPreviewParametersInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyPreviewParametersInput_"} + if s.Epsilon == nil { + invalidParams.Add(request.NewErrParamRequired("Epsilon")) } - if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + if s.Epsilon != nil && *s.Epsilon < 1 { + invalidParams.Add(request.NewErrParamMinValue("Epsilon", 1)) + } + if s.UsersNoisePerQuery == nil { + invalidParams.Add(request.NewErrParamRequired("UsersNoisePerQuery")) + } + if s.UsersNoisePerQuery != nil && *s.UsersNoisePerQuery < 10 { + invalidParams.Add(request.NewErrParamMinValue("UsersNoisePerQuery", 10)) } if invalidParams.Len() > 0 { @@ -12653,15 +14725,33 @@ func (s *DeleteConfiguredTableInput) Validate() error { return nil } -// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. -func (s *DeleteConfiguredTableInput) SetConfiguredTableIdentifier(v string) *DeleteConfiguredTableInput { - s.ConfiguredTableIdentifier = &v +// SetEpsilon sets the Epsilon field's value. +func (s *DifferentialPrivacyPreviewParametersInput_) SetEpsilon(v int64) *DifferentialPrivacyPreviewParametersInput_ { + s.Epsilon = &v return s } -// The empty output for a successful deletion. -type DeleteConfiguredTableOutput struct { +// SetUsersNoisePerQuery sets the UsersNoisePerQuery field's value. +func (s *DifferentialPrivacyPreviewParametersInput_) SetUsersNoisePerQuery(v int64) *DifferentialPrivacyPreviewParametersInput_ { + s.UsersNoisePerQuery = &v + return s +} + +// Specifies the configured epsilon value and the utility in terms of total +// aggregations, as well as the remaining aggregations available. +type DifferentialPrivacyPrivacyBudget struct { _ struct{} `type:"structure"` + + // This information includes the configured epsilon value and the utility in + // terms of total aggregations, as well as the remaining aggregations. + // + // Aggregations is a required field + Aggregations []*DifferentialPrivacyPrivacyBudgetAggregation `locationName:"aggregations" type:"list" required:"true"` + + // The epsilon value that you configured. + // + // Epsilon is a required field + Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer" required:"true"` } // String returns the string representation. @@ -12669,7 +14759,7 @@ type DeleteConfiguredTableOutput 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 DeleteConfiguredTableOutput) String() string { +func (s DifferentialPrivacyPrivacyBudget) String() string { return awsutil.Prettify(s) } @@ -12678,22 +14768,43 @@ func (s DeleteConfiguredTableOutput) 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 DeleteConfiguredTableOutput) GoString() string { +func (s DifferentialPrivacyPrivacyBudget) GoString() string { return s.String() } -type DeleteMemberInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetAggregations sets the Aggregations field's value. +func (s *DifferentialPrivacyPrivacyBudget) SetAggregations(v []*DifferentialPrivacyPrivacyBudgetAggregation) *DifferentialPrivacyPrivacyBudget { + s.Aggregations = v + return s +} - // The account ID of the member to remove. +// SetEpsilon sets the Epsilon field's value. +func (s *DifferentialPrivacyPrivacyBudget) SetEpsilon(v int64) *DifferentialPrivacyPrivacyBudget { + s.Epsilon = &v + return s +} + +// Information about the total number of aggregations, as well as the remaining +// aggregations. +type DifferentialPrivacyPrivacyBudgetAggregation struct { + _ struct{} `type:"structure"` + + // The maximum number of aggregation functions that you can perform with the + // given privacy budget. // - // AccountId is a required field - AccountId *string `location:"uri" locationName:"accountId" min:"12" type:"string" required:"true"` + // MaxCount is a required field + MaxCount *int64 `locationName:"maxCount" type:"integer" required:"true"` - // The unique identifier for the associated collaboration. + // The remaining number of aggregation functions that can be run with the available + // privacy budget. // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // RemainingCount is a required field + RemainingCount *int64 `locationName:"remainingCount" type:"integer" required:"true"` + + // The different types of aggregation functions that you can perform. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"DifferentialPrivacyAggregationType"` } // String returns the string representation. @@ -12701,7 +14812,7 @@ type DeleteMemberInput 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 DeleteMemberInput) String() string { +func (s DifferentialPrivacyPrivacyBudgetAggregation) String() string { return awsutil.Prettify(s) } @@ -12710,46 +14821,37 @@ func (s DeleteMemberInput) 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 DeleteMemberInput) GoString() string { +func (s DifferentialPrivacyPrivacyBudgetAggregation) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteMemberInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteMemberInput"} - if s.AccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AccountId")) - } - if s.AccountId != nil && len(*s.AccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) - } - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) - } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMaxCount sets the MaxCount field's value. +func (s *DifferentialPrivacyPrivacyBudgetAggregation) SetMaxCount(v int64) *DifferentialPrivacyPrivacyBudgetAggregation { + s.MaxCount = &v + return s } -// SetAccountId sets the AccountId field's value. -func (s *DeleteMemberInput) SetAccountId(v string) *DeleteMemberInput { - s.AccountId = &v +// SetRemainingCount sets the RemainingCount field's value. +func (s *DifferentialPrivacyPrivacyBudgetAggregation) SetRemainingCount(v int64) *DifferentialPrivacyPrivacyBudgetAggregation { + s.RemainingCount = &v return s } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *DeleteMemberInput) SetCollaborationIdentifier(v string) *DeleteMemberInput { - s.CollaborationIdentifier = &v +// SetType sets the Type field's value. +func (s *DifferentialPrivacyPrivacyBudgetAggregation) SetType(v string) *DifferentialPrivacyPrivacyBudgetAggregation { + s.Type = &v return s } -type DeleteMemberOutput struct { +// Information about the number of aggregation functions that the member who +// can query can run given the epsilon and noise parameters. +type DifferentialPrivacyPrivacyImpact struct { _ struct{} `type:"structure"` + + // The number of aggregation functions that you can perform. + // + // Aggregations is a required field + Aggregations []*DifferentialPrivacyPreviewAggregation `locationName:"aggregations" type:"list" required:"true"` } // String returns the string representation. @@ -12757,7 +14859,7 @@ type DeleteMemberOutput 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 DeleteMemberOutput) String() string { +func (s DifferentialPrivacyPrivacyImpact) String() string { return awsutil.Prettify(s) } @@ -12766,17 +14868,40 @@ func (s DeleteMemberOutput) 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 DeleteMemberOutput) GoString() string { +func (s DifferentialPrivacyPrivacyImpact) GoString() string { return s.String() } -type DeleteMembershipInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetAggregations sets the Aggregations field's value. +func (s *DifferentialPrivacyPrivacyImpact) SetAggregations(v []*DifferentialPrivacyPreviewAggregation) *DifferentialPrivacyPrivacyImpact { + s.Aggregations = v + return s +} - // The identifier for a membership resource. +// Provides the sensitivity parameters. +type DifferentialPrivacySensitivityParameters struct { + _ struct{} `type:"structure"` + + // The aggregation expression that was run. // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // AggregationExpression is a required field + AggregationExpression *string `locationName:"aggregationExpression" min:"1" type:"string" required:"true"` + + // The type of aggregation function that was run. + // + // AggregationType is a required field + AggregationType *string `locationName:"aggregationType" type:"string" required:"true" enum:"DifferentialPrivacyAggregationType"` + + // The upper bound of the aggregation expression. + MaxColumnValue *float64 `locationName:"maxColumnValue" type:"float"` + + // The lower bound of the aggregation expression. + MinColumnValue *float64 `locationName:"minColumnValue" type:"float"` + + // The maximum number of rows contributed by a user in a SQL query. + // + // UserContributionLimit is a required field + UserContributionLimit *int64 `locationName:"userContributionLimit" type:"integer" required:"true"` } // String returns the string representation. @@ -12784,7 +14909,7 @@ type DeleteMembershipInput 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 DeleteMembershipInput) String() string { +func (s DifferentialPrivacySensitivityParameters) String() string { return awsutil.Prettify(s) } @@ -12793,68 +14918,56 @@ func (s DeleteMembershipInput) 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 DeleteMembershipInput) GoString() string { +func (s DifferentialPrivacySensitivityParameters) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteMembershipInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteMembershipInput"} - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) - } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAggregationExpression sets the AggregationExpression field's value. +func (s *DifferentialPrivacySensitivityParameters) SetAggregationExpression(v string) *DifferentialPrivacySensitivityParameters { + s.AggregationExpression = &v + return s } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *DeleteMembershipInput) SetMembershipIdentifier(v string) *DeleteMembershipInput { - s.MembershipIdentifier = &v +// SetAggregationType sets the AggregationType field's value. +func (s *DifferentialPrivacySensitivityParameters) SetAggregationType(v string) *DifferentialPrivacySensitivityParameters { + s.AggregationType = &v return s } -type DeleteMembershipOutput struct { - _ struct{} `type:"structure"` +// SetMaxColumnValue sets the MaxColumnValue field's value. +func (s *DifferentialPrivacySensitivityParameters) SetMaxColumnValue(v float64) *DifferentialPrivacySensitivityParameters { + s.MaxColumnValue = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteMembershipOutput) String() string { - return awsutil.Prettify(s) +// SetMinColumnValue sets the MinColumnValue field's value. +func (s *DifferentialPrivacySensitivityParameters) SetMinColumnValue(v float64) *DifferentialPrivacySensitivityParameters { + s.MinColumnValue = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteMembershipOutput) GoString() string { - return s.String() +// SetUserContributionLimit sets the UserContributionLimit field's value. +func (s *DifferentialPrivacySensitivityParameters) SetUserContributionLimit(v int64) *DifferentialPrivacySensitivityParameters { + s.UserContributionLimit = &v + return s } -type DeletePrivacyBudgetTemplateInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// The epsilon and noise parameter values that you want to use for the differential +// privacy template. +type DifferentialPrivacyTemplateParametersInput_ struct { + _ struct{} `type:"structure"` - // A unique identifier for one of your memberships for a collaboration. The - // privacy budget template is deleted from the collaboration that this membership - // belongs to. Accepts a membership ID. + // The epsilon value that you want to use. // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // Epsilon is a required field + Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer" required:"true"` - // A unique identifier for your privacy budget template. + // Noise added per query is measured in terms of the number of users whose contributions + // you want to obscure. This value governs the rate at which the privacy budget + // is depleted. // - // PrivacyBudgetTemplateIdentifier is a required field - PrivacyBudgetTemplateIdentifier *string `location:"uri" locationName:"privacyBudgetTemplateIdentifier" min:"36" type:"string" required:"true"` + // UsersNoisePerQuery is a required field + UsersNoisePerQuery *int64 `locationName:"usersNoisePerQuery" min:"10" type:"integer" required:"true"` } // String returns the string representation. @@ -12862,7 +14975,7 @@ type DeletePrivacyBudgetTemplateInput 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 DeletePrivacyBudgetTemplateInput) String() string { +func (s DifferentialPrivacyTemplateParametersInput_) String() string { return awsutil.Prettify(s) } @@ -12871,24 +14984,24 @@ func (s DeletePrivacyBudgetTemplateInput) 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 DeletePrivacyBudgetTemplateInput) GoString() string { +func (s DifferentialPrivacyTemplateParametersInput_) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeletePrivacyBudgetTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeletePrivacyBudgetTemplateInput"} - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) +func (s *DifferentialPrivacyTemplateParametersInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyTemplateParametersInput_"} + if s.Epsilon == nil { + invalidParams.Add(request.NewErrParamRequired("Epsilon")) } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + if s.Epsilon != nil && *s.Epsilon < 1 { + invalidParams.Add(request.NewErrParamMinValue("Epsilon", 1)) } - if s.PrivacyBudgetTemplateIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetTemplateIdentifier")) + if s.UsersNoisePerQuery == nil { + invalidParams.Add(request.NewErrParamRequired("UsersNoisePerQuery")) } - if s.PrivacyBudgetTemplateIdentifier != nil && len(*s.PrivacyBudgetTemplateIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PrivacyBudgetTemplateIdentifier", 36)) + if s.UsersNoisePerQuery != nil && *s.UsersNoisePerQuery < 10 { + invalidParams.Add(request.NewErrParamMinValue("UsersNoisePerQuery", 10)) } if invalidParams.Len() > 0 { @@ -12897,20 +15010,34 @@ func (s *DeletePrivacyBudgetTemplateInput) Validate() error { return nil } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *DeletePrivacyBudgetTemplateInput) SetMembershipIdentifier(v string) *DeletePrivacyBudgetTemplateInput { - s.MembershipIdentifier = &v +// SetEpsilon sets the Epsilon field's value. +func (s *DifferentialPrivacyTemplateParametersInput_) SetEpsilon(v int64) *DifferentialPrivacyTemplateParametersInput_ { + s.Epsilon = &v return s } -// SetPrivacyBudgetTemplateIdentifier sets the PrivacyBudgetTemplateIdentifier field's value. -func (s *DeletePrivacyBudgetTemplateInput) SetPrivacyBudgetTemplateIdentifier(v string) *DeletePrivacyBudgetTemplateInput { - s.PrivacyBudgetTemplateIdentifier = &v +// SetUsersNoisePerQuery sets the UsersNoisePerQuery field's value. +func (s *DifferentialPrivacyTemplateParametersInput_) SetUsersNoisePerQuery(v int64) *DifferentialPrivacyTemplateParametersInput_ { + s.UsersNoisePerQuery = &v return s } -type DeletePrivacyBudgetTemplateOutput struct { +// The epsilon and noise parameter values that were used for the differential +// privacy template. +type DifferentialPrivacyTemplateParametersOutput_ struct { _ struct{} `type:"structure"` + + // The epsilon value that you specified. + // + // Epsilon is a required field + Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer" required:"true"` + + // Noise added per query is measured in terms of the number of users whose contributions + // you want to obscure. This value governs the rate at which the privacy budget + // is depleted. + // + // UsersNoisePerQuery is a required field + UsersNoisePerQuery *int64 `locationName:"usersNoisePerQuery" min:"10" type:"integer" required:"true"` } // String returns the string representation. @@ -12918,7 +15045,7 @@ type DeletePrivacyBudgetTemplateOutput 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 DeletePrivacyBudgetTemplateOutput) String() string { +func (s DifferentialPrivacyTemplateParametersOutput_) String() string { return awsutil.Prettify(s) } @@ -12927,23 +15054,34 @@ func (s DeletePrivacyBudgetTemplateOutput) 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 DeletePrivacyBudgetTemplateOutput) GoString() string { +func (s DifferentialPrivacyTemplateParametersOutput_) GoString() string { return s.String() } -// Specifies the name of the column that contains the unique identifier of your -// users, whose privacy you want to protect. -type DifferentialPrivacyColumn struct { +// SetEpsilon sets the Epsilon field's value. +func (s *DifferentialPrivacyTemplateParametersOutput_) SetEpsilon(v int64) *DifferentialPrivacyTemplateParametersOutput_ { + s.Epsilon = &v + return s +} + +// SetUsersNoisePerQuery sets the UsersNoisePerQuery field's value. +func (s *DifferentialPrivacyTemplateParametersOutput_) SetUsersNoisePerQuery(v int64) *DifferentialPrivacyTemplateParametersOutput_ { + s.UsersNoisePerQuery = &v + return s +} + +// The epsilon and noise parameter values that you want to update in the differential +// privacy template. +type DifferentialPrivacyTemplateUpdateParameters struct { _ struct{} `type:"structure"` - // The name of the column, such as user_id, that contains the unique identifier - // of your users, whose privacy you want to protect. If you want to turn on - // differential privacy for two or more tables in a collaboration, you must - // configure the same column as the user identifier column in both analysis - // rules. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + // The updated epsilon value that you want to use. + Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer"` + + // The updated value of noise added per query. It is measured in terms of the + // number of users whose contributions you want to obscure. This value governs + // the rate at which the privacy budget is depleted. + UsersNoisePerQuery *int64 `locationName:"usersNoisePerQuery" min:"10" type:"integer"` } // String returns the string representation. @@ -12951,7 +15089,7 @@ type DifferentialPrivacyColumn 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 DifferentialPrivacyColumn) String() string { +func (s DifferentialPrivacyTemplateUpdateParameters) String() string { return awsutil.Prettify(s) } @@ -12960,15 +15098,18 @@ func (s DifferentialPrivacyColumn) 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 DifferentialPrivacyColumn) GoString() string { +func (s DifferentialPrivacyTemplateUpdateParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DifferentialPrivacyColumn) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyColumn"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *DifferentialPrivacyTemplateUpdateParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyTemplateUpdateParameters"} + if s.Epsilon != nil && *s.Epsilon < 1 { + invalidParams.Add(request.NewErrParamMinValue("Epsilon", 1)) + } + if s.UsersNoisePerQuery != nil && *s.UsersNoisePerQuery < 10 { + invalidParams.Add(request.NewErrParamMinValue("UsersNoisePerQuery", 10)) } if invalidParams.Len() > 0 { @@ -12977,23 +15118,30 @@ func (s *DifferentialPrivacyColumn) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *DifferentialPrivacyColumn) SetName(v string) *DifferentialPrivacyColumn { - s.Name = &v +// SetEpsilon sets the Epsilon field's value. +func (s *DifferentialPrivacyTemplateUpdateParameters) SetEpsilon(v int64) *DifferentialPrivacyTemplateUpdateParameters { + s.Epsilon = &v return s } -// Specifies the unique identifier for your users. -type DifferentialPrivacyConfiguration struct { - _ struct{} `type:"structure"` +// SetUsersNoisePerQuery sets the UsersNoisePerQuery field's value. +func (s *DifferentialPrivacyTemplateUpdateParameters) SetUsersNoisePerQuery(v int64) *DifferentialPrivacyTemplateUpdateParameters { + s.UsersNoisePerQuery = &v + return s +} - // The name of the column (such as user_id) that contains the unique identifier - // of your users whose privacy you want to protect. If you want to turn on differential - // privacy for two or more tables in a collaboration, you must configure the - // same column as the user identifier column in both analysis rules. +type GetAnalysisTemplateInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier for the analysis template resource. // - // Columns is a required field - Columns []*DifferentialPrivacyColumn `locationName:"columns" min:"1" type:"list" required:"true"` + // AnalysisTemplateIdentifier is a required field + AnalysisTemplateIdentifier *string `location:"uri" locationName:"analysisTemplateIdentifier" min:"36" type:"string" required:"true"` + + // The identifier for a membership resource. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -13001,7 +15149,7 @@ type DifferentialPrivacyConfiguration 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 DifferentialPrivacyConfiguration) String() string { +func (s GetAnalysisTemplateInput) String() string { return awsutil.Prettify(s) } @@ -13010,28 +15158,24 @@ func (s DifferentialPrivacyConfiguration) 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 DifferentialPrivacyConfiguration) GoString() string { +func (s GetAnalysisTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DifferentialPrivacyConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyConfiguration"} - if s.Columns == nil { - invalidParams.Add(request.NewErrParamRequired("Columns")) +func (s *GetAnalysisTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAnalysisTemplateInput"} + if s.AnalysisTemplateIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateIdentifier")) } - if s.Columns != nil && len(s.Columns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Columns", 1)) + if s.AnalysisTemplateIdentifier != nil && len(*s.AnalysisTemplateIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateIdentifier", 36)) } - if s.Columns != nil { - for i, v := range s.Columns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Columns", i), err.(request.ErrInvalidParams)) - } - } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -13040,62 +15184,25 @@ func (s *DifferentialPrivacyConfiguration) Validate() error { return nil } -// SetColumns sets the Columns field's value. -func (s *DifferentialPrivacyConfiguration) SetColumns(v []*DifferentialPrivacyColumn) *DifferentialPrivacyConfiguration { - s.Columns = v +// SetAnalysisTemplateIdentifier sets the AnalysisTemplateIdentifier field's value. +func (s *GetAnalysisTemplateInput) SetAnalysisTemplateIdentifier(v string) *GetAnalysisTemplateInput { + s.AnalysisTemplateIdentifier = &v return s } -// An array that contains the sensitivity parameters. -type DifferentialPrivacyParameters struct { - _ struct{} `type:"structure"` - - // Provides the sensitivity parameters that you can use to better understand - // the total amount of noise in query results. - // - // SensitivityParameters is a required field - SensitivityParameters []*DifferentialPrivacySensitivityParameters `locationName:"sensitivityParameters" 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 DifferentialPrivacyParameters) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DifferentialPrivacyParameters) GoString() string { - return s.String() -} - -// SetSensitivityParameters sets the SensitivityParameters field's value. -func (s *DifferentialPrivacyParameters) SetSensitivityParameters(v []*DifferentialPrivacySensitivityParameters) *DifferentialPrivacyParameters { - s.SensitivityParameters = v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *GetAnalysisTemplateInput) SetMembershipIdentifier(v string) *GetAnalysisTemplateInput { + s.MembershipIdentifier = &v return s } -// Provides an estimate of the number of aggregation functions that the member -// who can query can run given the epsilon and noise parameters. -type DifferentialPrivacyPreviewAggregation struct { +type GetAnalysisTemplateOutput struct { _ struct{} `type:"structure"` - // The maximum number of aggregations that the member who can query can run - // given the epsilon and noise parameters. - // - // MaxCount is a required field - MaxCount *int64 `locationName:"maxCount" type:"integer" required:"true"` - - // The type of aggregation function. + // The analysis template. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"DifferentialPrivacyAggregationType"` + // AnalysisTemplate is a required field + AnalysisTemplate *AnalysisTemplate `locationName:"analysisTemplate" type:"structure" required:"true"` } // String returns the string representation. @@ -13103,7 +15210,7 @@ type DifferentialPrivacyPreviewAggregation 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 DifferentialPrivacyPreviewAggregation) String() string { +func (s GetAnalysisTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -13112,37 +15219,30 @@ func (s DifferentialPrivacyPreviewAggregation) 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 DifferentialPrivacyPreviewAggregation) GoString() string { +func (s GetAnalysisTemplateOutput) GoString() string { return s.String() } -// SetMaxCount sets the MaxCount field's value. -func (s *DifferentialPrivacyPreviewAggregation) SetMaxCount(v int64) *DifferentialPrivacyPreviewAggregation { - s.MaxCount = &v - return s -} - -// SetType sets the Type field's value. -func (s *DifferentialPrivacyPreviewAggregation) SetType(v string) *DifferentialPrivacyPreviewAggregation { - s.Type = &v +// SetAnalysisTemplate sets the AnalysisTemplate field's value. +func (s *GetAnalysisTemplateOutput) SetAnalysisTemplate(v *AnalysisTemplate) *GetAnalysisTemplateOutput { + s.AnalysisTemplate = v return s } -// The epsilon and noise parameters that you want to preview. -type DifferentialPrivacyPreviewParametersInput_ struct { - _ struct{} `type:"structure"` +type GetCollaborationAnalysisTemplateInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The epsilon value that you want to preview. + // The Amazon Resource Name (ARN) associated with the analysis template within + // a collaboration. // - // Epsilon is a required field - Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer" required:"true"` + // AnalysisTemplateArn is a required field + AnalysisTemplateArn *string `location:"uri" locationName:"analysisTemplateArn" type:"string" required:"true"` - // Noise added per query is measured in terms of the number of users whose contributions - // you want to obscure. This value governs the rate at which the privacy budget - // is depleted. + // A unique identifier for the collaboration that the analysis templates belong + // to. Currently accepts collaboration ID. // - // UsersNoisePerQuery is a required field - UsersNoisePerQuery *int64 `locationName:"usersNoisePerQuery" min:"10" type:"integer" required:"true"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -13150,7 +15250,7 @@ type DifferentialPrivacyPreviewParametersInput_ 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 DifferentialPrivacyPreviewParametersInput_) String() string { +func (s GetCollaborationAnalysisTemplateInput) String() string { return awsutil.Prettify(s) } @@ -13159,24 +15259,24 @@ func (s DifferentialPrivacyPreviewParametersInput_) 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 DifferentialPrivacyPreviewParametersInput_) GoString() string { +func (s GetCollaborationAnalysisTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DifferentialPrivacyPreviewParametersInput_) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyPreviewParametersInput_"} - if s.Epsilon == nil { - invalidParams.Add(request.NewErrParamRequired("Epsilon")) +func (s *GetCollaborationAnalysisTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCollaborationAnalysisTemplateInput"} + if s.AnalysisTemplateArn == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateArn")) } - if s.Epsilon != nil && *s.Epsilon < 1 { - invalidParams.Add(request.NewErrParamMinValue("Epsilon", 1)) + if s.AnalysisTemplateArn != nil && len(*s.AnalysisTemplateArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateArn", 1)) } - if s.UsersNoisePerQuery == nil { - invalidParams.Add(request.NewErrParamRequired("UsersNoisePerQuery")) + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.UsersNoisePerQuery != nil && *s.UsersNoisePerQuery < 10 { - invalidParams.Add(request.NewErrParamMinValue("UsersNoisePerQuery", 10)) + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -13185,33 +15285,25 @@ func (s *DifferentialPrivacyPreviewParametersInput_) Validate() error { return nil } -// SetEpsilon sets the Epsilon field's value. -func (s *DifferentialPrivacyPreviewParametersInput_) SetEpsilon(v int64) *DifferentialPrivacyPreviewParametersInput_ { - s.Epsilon = &v +// SetAnalysisTemplateArn sets the AnalysisTemplateArn field's value. +func (s *GetCollaborationAnalysisTemplateInput) SetAnalysisTemplateArn(v string) *GetCollaborationAnalysisTemplateInput { + s.AnalysisTemplateArn = &v return s } -// SetUsersNoisePerQuery sets the UsersNoisePerQuery field's value. -func (s *DifferentialPrivacyPreviewParametersInput_) SetUsersNoisePerQuery(v int64) *DifferentialPrivacyPreviewParametersInput_ { - s.UsersNoisePerQuery = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *GetCollaborationAnalysisTemplateInput) SetCollaborationIdentifier(v string) *GetCollaborationAnalysisTemplateInput { + s.CollaborationIdentifier = &v return s } -// Specifies the configured epsilon value and the utility in terms of total -// aggregations, as well as the remaining aggregations available. -type DifferentialPrivacyPrivacyBudget struct { +type GetCollaborationAnalysisTemplateOutput struct { _ struct{} `type:"structure"` - // This information includes the configured epsilon value and the utility in - // terms of total aggregations, as well as the remaining aggregations. - // - // Aggregations is a required field - Aggregations []*DifferentialPrivacyPrivacyBudgetAggregation `locationName:"aggregations" type:"list" required:"true"` - - // The epsilon value that you configured. + // The analysis template within a collaboration. // - // Epsilon is a required field - Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer" required:"true"` + // CollaborationAnalysisTemplate is a required field + CollaborationAnalysisTemplate *CollaborationAnalysisTemplate `locationName:"collaborationAnalysisTemplate" type:"structure" required:"true"` } // String returns the string representation. @@ -13219,7 +15311,7 @@ type DifferentialPrivacyPrivacyBudget 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 DifferentialPrivacyPrivacyBudget) String() string { +func (s GetCollaborationAnalysisTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -13228,43 +15320,30 @@ func (s DifferentialPrivacyPrivacyBudget) 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 DifferentialPrivacyPrivacyBudget) GoString() string { +func (s GetCollaborationAnalysisTemplateOutput) GoString() string { return s.String() } -// SetAggregations sets the Aggregations field's value. -func (s *DifferentialPrivacyPrivacyBudget) SetAggregations(v []*DifferentialPrivacyPrivacyBudgetAggregation) *DifferentialPrivacyPrivacyBudget { - s.Aggregations = v - return s -} - -// SetEpsilon sets the Epsilon field's value. -func (s *DifferentialPrivacyPrivacyBudget) SetEpsilon(v int64) *DifferentialPrivacyPrivacyBudget { - s.Epsilon = &v +// SetCollaborationAnalysisTemplate sets the CollaborationAnalysisTemplate field's value. +func (s *GetCollaborationAnalysisTemplateOutput) SetCollaborationAnalysisTemplate(v *CollaborationAnalysisTemplate) *GetCollaborationAnalysisTemplateOutput { + s.CollaborationAnalysisTemplate = v return s } -// Information about the total number of aggregations, as well as the remaining -// aggregations. -type DifferentialPrivacyPrivacyBudgetAggregation struct { - _ struct{} `type:"structure"` - - // The maximum number of aggregation functions that you can perform with the - // given privacy budget. - // - // MaxCount is a required field - MaxCount *int64 `locationName:"maxCount" type:"integer" required:"true"` +type GetCollaborationConfiguredAudienceModelAssociationInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The remaining number of aggregation functions that can be run with the available - // privacy budget. + // A unique identifier for the collaboration that the configured audience model + // association belongs to. Accepts a collaboration ID. // - // RemainingCount is a required field - RemainingCount *int64 `locationName:"remainingCount" type:"integer" required:"true"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // The different types of aggregation functions that you can perform. + // A unique identifier for the configured audience model association that you + // want to retrieve. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"DifferentialPrivacyAggregationType"` + // ConfiguredAudienceModelAssociationIdentifier is a required field + ConfiguredAudienceModelAssociationIdentifier *string `location:"uri" locationName:"configuredAudienceModelAssociationIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -13272,7 +15351,7 @@ type DifferentialPrivacyPrivacyBudgetAggregation 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 DifferentialPrivacyPrivacyBudgetAggregation) String() string { +func (s GetCollaborationConfiguredAudienceModelAssociationInput) String() string { return awsutil.Prettify(s) } @@ -13281,37 +15360,51 @@ func (s DifferentialPrivacyPrivacyBudgetAggregation) 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 DifferentialPrivacyPrivacyBudgetAggregation) GoString() string { +func (s GetCollaborationConfiguredAudienceModelAssociationInput) GoString() string { return s.String() } -// SetMaxCount sets the MaxCount field's value. -func (s *DifferentialPrivacyPrivacyBudgetAggregation) SetMaxCount(v int64) *DifferentialPrivacyPrivacyBudgetAggregation { - s.MaxCount = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCollaborationConfiguredAudienceModelAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCollaborationConfiguredAudienceModelAssociationInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) + } + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + } + if s.ConfiguredAudienceModelAssociationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelAssociationIdentifier")) + } + if s.ConfiguredAudienceModelAssociationIdentifier != nil && len(*s.ConfiguredAudienceModelAssociationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelAssociationIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetRemainingCount sets the RemainingCount field's value. -func (s *DifferentialPrivacyPrivacyBudgetAggregation) SetRemainingCount(v int64) *DifferentialPrivacyPrivacyBudgetAggregation { - s.RemainingCount = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *GetCollaborationConfiguredAudienceModelAssociationInput) SetCollaborationIdentifier(v string) *GetCollaborationConfiguredAudienceModelAssociationInput { + s.CollaborationIdentifier = &v return s } -// SetType sets the Type field's value. -func (s *DifferentialPrivacyPrivacyBudgetAggregation) SetType(v string) *DifferentialPrivacyPrivacyBudgetAggregation { - s.Type = &v +// SetConfiguredAudienceModelAssociationIdentifier sets the ConfiguredAudienceModelAssociationIdentifier field's value. +func (s *GetCollaborationConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelAssociationIdentifier(v string) *GetCollaborationConfiguredAudienceModelAssociationInput { + s.ConfiguredAudienceModelAssociationIdentifier = &v return s } -// Information about the number of aggregation functions that the member who -// can query can run given the epsilon and noise parameters. -type DifferentialPrivacyPrivacyImpact struct { +type GetCollaborationConfiguredAudienceModelAssociationOutput struct { _ struct{} `type:"structure"` - // The number of aggregation functions that you can perform. + // The metadata of the configured audience model association. // - // Aggregations is a required field - Aggregations []*DifferentialPrivacyPreviewAggregation `locationName:"aggregations" type:"list" required:"true"` + // CollaborationConfiguredAudienceModelAssociation is a required field + CollaborationConfiguredAudienceModelAssociation *CollaborationConfiguredAudienceModelAssociation `locationName:"collaborationConfiguredAudienceModelAssociation" type:"structure" required:"true"` } // String returns the string representation. @@ -13319,7 +15412,7 @@ type DifferentialPrivacyPrivacyImpact 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 DifferentialPrivacyPrivacyImpact) String() string { +func (s GetCollaborationConfiguredAudienceModelAssociationOutput) String() string { return awsutil.Prettify(s) } @@ -13328,40 +15421,72 @@ func (s DifferentialPrivacyPrivacyImpact) 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 DifferentialPrivacyPrivacyImpact) GoString() string { +func (s GetCollaborationConfiguredAudienceModelAssociationOutput) GoString() string { return s.String() } -// SetAggregations sets the Aggregations field's value. -func (s *DifferentialPrivacyPrivacyImpact) SetAggregations(v []*DifferentialPrivacyPreviewAggregation) *DifferentialPrivacyPrivacyImpact { - s.Aggregations = v +// SetCollaborationConfiguredAudienceModelAssociation sets the CollaborationConfiguredAudienceModelAssociation field's value. +func (s *GetCollaborationConfiguredAudienceModelAssociationOutput) SetCollaborationConfiguredAudienceModelAssociation(v *CollaborationConfiguredAudienceModelAssociation) *GetCollaborationConfiguredAudienceModelAssociationOutput { + s.CollaborationConfiguredAudienceModelAssociation = v return s } -// Provides the sensitivity parameters. -type DifferentialPrivacySensitivityParameters struct { - _ struct{} `type:"structure"` +type GetCollaborationInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The aggregation expression that was run. + // The identifier for the collaboration. // - // AggregationExpression is a required field - AggregationExpression *string `locationName:"aggregationExpression" min:"1" type:"string" required:"true"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` +} - // The type of aggregation function that was run. - // - // AggregationType is a required field - AggregationType *string `locationName:"aggregationType" type:"string" required:"true" enum:"DifferentialPrivacyAggregationType"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCollaborationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCollaborationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCollaborationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCollaborationInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) + } + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The upper bound of the aggregation expression. - MaxColumnValue *float64 `locationName:"maxColumnValue" type:"float"` +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *GetCollaborationInput) SetCollaborationIdentifier(v string) *GetCollaborationInput { + s.CollaborationIdentifier = &v + return s +} - // The lower bound of the aggregation expression. - MinColumnValue *float64 `locationName:"minColumnValue" type:"float"` +type GetCollaborationOutput struct { + _ struct{} `type:"structure"` - // The maximum number of rows contributed by a user in a SQL query. + // The entire collaboration for this identifier. // - // UserContributionLimit is a required field - UserContributionLimit *int64 `locationName:"userContributionLimit" type:"integer" required:"true"` + // Collaboration is a required field + Collaboration *Collaboration `locationName:"collaboration" type:"structure" required:"true"` } // String returns the string representation. @@ -13369,7 +15494,7 @@ type DifferentialPrivacySensitivityParameters 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 DifferentialPrivacySensitivityParameters) String() string { +func (s GetCollaborationOutput) String() string { return awsutil.Prettify(s) } @@ -13378,56 +15503,28 @@ func (s DifferentialPrivacySensitivityParameters) 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 DifferentialPrivacySensitivityParameters) GoString() string { +func (s GetCollaborationOutput) GoString() string { return s.String() } -// SetAggregationExpression sets the AggregationExpression field's value. -func (s *DifferentialPrivacySensitivityParameters) SetAggregationExpression(v string) *DifferentialPrivacySensitivityParameters { - s.AggregationExpression = &v - return s -} - -// SetAggregationType sets the AggregationType field's value. -func (s *DifferentialPrivacySensitivityParameters) SetAggregationType(v string) *DifferentialPrivacySensitivityParameters { - s.AggregationType = &v - return s -} - -// SetMaxColumnValue sets the MaxColumnValue field's value. -func (s *DifferentialPrivacySensitivityParameters) SetMaxColumnValue(v float64) *DifferentialPrivacySensitivityParameters { - s.MaxColumnValue = &v - return s -} - -// SetMinColumnValue sets the MinColumnValue field's value. -func (s *DifferentialPrivacySensitivityParameters) SetMinColumnValue(v float64) *DifferentialPrivacySensitivityParameters { - s.MinColumnValue = &v - return s -} - -// SetUserContributionLimit sets the UserContributionLimit field's value. -func (s *DifferentialPrivacySensitivityParameters) SetUserContributionLimit(v int64) *DifferentialPrivacySensitivityParameters { - s.UserContributionLimit = &v +// SetCollaboration sets the Collaboration field's value. +func (s *GetCollaborationOutput) SetCollaboration(v *Collaboration) *GetCollaborationOutput { + s.Collaboration = v return s } -// The epsilon and noise parameter values that you want to use for the differential -// privacy template. -type DifferentialPrivacyTemplateParametersInput_ struct { - _ struct{} `type:"structure"` +type GetCollaborationPrivacyBudgetTemplateInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The epsilon value that you want to use. + // A unique identifier for one of your collaborations. // - // Epsilon is a required field - Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer" required:"true"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // Noise added per query is measured in terms of the number of users whose contributions - // you want to obscure. This value governs the rate at which the privacy budget - // is depleted. + // A unique identifier for one of your privacy budget templates. // - // UsersNoisePerQuery is a required field - UsersNoisePerQuery *int64 `locationName:"usersNoisePerQuery" min:"10" type:"integer" required:"true"` + // PrivacyBudgetTemplateIdentifier is a required field + PrivacyBudgetTemplateIdentifier *string `location:"uri" locationName:"privacyBudgetTemplateIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -13435,7 +15532,7 @@ type DifferentialPrivacyTemplateParametersInput_ 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 DifferentialPrivacyTemplateParametersInput_) String() string { +func (s GetCollaborationPrivacyBudgetTemplateInput) String() string { return awsutil.Prettify(s) } @@ -13444,24 +15541,24 @@ func (s DifferentialPrivacyTemplateParametersInput_) 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 DifferentialPrivacyTemplateParametersInput_) GoString() string { +func (s GetCollaborationPrivacyBudgetTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DifferentialPrivacyTemplateParametersInput_) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyTemplateParametersInput_"} - if s.Epsilon == nil { - invalidParams.Add(request.NewErrParamRequired("Epsilon")) +func (s *GetCollaborationPrivacyBudgetTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCollaborationPrivacyBudgetTemplateInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.Epsilon != nil && *s.Epsilon < 1 { - invalidParams.Add(request.NewErrParamMinValue("Epsilon", 1)) + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } - if s.UsersNoisePerQuery == nil { - invalidParams.Add(request.NewErrParamRequired("UsersNoisePerQuery")) + if s.PrivacyBudgetTemplateIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetTemplateIdentifier")) } - if s.UsersNoisePerQuery != nil && *s.UsersNoisePerQuery < 10 { - invalidParams.Add(request.NewErrParamMinValue("UsersNoisePerQuery", 10)) + if s.PrivacyBudgetTemplateIdentifier != nil && len(*s.PrivacyBudgetTemplateIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PrivacyBudgetTemplateIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -13470,34 +15567,25 @@ func (s *DifferentialPrivacyTemplateParametersInput_) Validate() error { return nil } -// SetEpsilon sets the Epsilon field's value. -func (s *DifferentialPrivacyTemplateParametersInput_) SetEpsilon(v int64) *DifferentialPrivacyTemplateParametersInput_ { - s.Epsilon = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *GetCollaborationPrivacyBudgetTemplateInput) SetCollaborationIdentifier(v string) *GetCollaborationPrivacyBudgetTemplateInput { + s.CollaborationIdentifier = &v return s } -// SetUsersNoisePerQuery sets the UsersNoisePerQuery field's value. -func (s *DifferentialPrivacyTemplateParametersInput_) SetUsersNoisePerQuery(v int64) *DifferentialPrivacyTemplateParametersInput_ { - s.UsersNoisePerQuery = &v +// SetPrivacyBudgetTemplateIdentifier sets the PrivacyBudgetTemplateIdentifier field's value. +func (s *GetCollaborationPrivacyBudgetTemplateInput) SetPrivacyBudgetTemplateIdentifier(v string) *GetCollaborationPrivacyBudgetTemplateInput { + s.PrivacyBudgetTemplateIdentifier = &v return s } -// The epsilon and noise parameter values that were used for the differential -// privacy template. -type DifferentialPrivacyTemplateParametersOutput_ struct { +type GetCollaborationPrivacyBudgetTemplateOutput struct { _ struct{} `type:"structure"` - // The epsilon value that you specified. - // - // Epsilon is a required field - Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer" required:"true"` - - // Noise added per query is measured in terms of the number of users whose contributions - // you want to obscure. This value governs the rate at which the privacy budget - // is depleted. + // Returns the details of the privacy budget template that you requested. // - // UsersNoisePerQuery is a required field - UsersNoisePerQuery *int64 `locationName:"usersNoisePerQuery" min:"10" type:"integer" required:"true"` + // CollaborationPrivacyBudgetTemplate is a required field + CollaborationPrivacyBudgetTemplate *CollaborationPrivacyBudgetTemplate `locationName:"collaborationPrivacyBudgetTemplate" type:"structure" required:"true"` } // String returns the string representation. @@ -13505,7 +15593,7 @@ type DifferentialPrivacyTemplateParametersOutput_ 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 DifferentialPrivacyTemplateParametersOutput_) String() string { +func (s GetCollaborationPrivacyBudgetTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -13514,34 +15602,30 @@ func (s DifferentialPrivacyTemplateParametersOutput_) 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 DifferentialPrivacyTemplateParametersOutput_) GoString() string { +func (s GetCollaborationPrivacyBudgetTemplateOutput) GoString() string { return s.String() } -// SetEpsilon sets the Epsilon field's value. -func (s *DifferentialPrivacyTemplateParametersOutput_) SetEpsilon(v int64) *DifferentialPrivacyTemplateParametersOutput_ { - s.Epsilon = &v - return s -} - -// SetUsersNoisePerQuery sets the UsersNoisePerQuery field's value. -func (s *DifferentialPrivacyTemplateParametersOutput_) SetUsersNoisePerQuery(v int64) *DifferentialPrivacyTemplateParametersOutput_ { - s.UsersNoisePerQuery = &v +// SetCollaborationPrivacyBudgetTemplate sets the CollaborationPrivacyBudgetTemplate field's value. +func (s *GetCollaborationPrivacyBudgetTemplateOutput) SetCollaborationPrivacyBudgetTemplate(v *CollaborationPrivacyBudgetTemplate) *GetCollaborationPrivacyBudgetTemplateOutput { + s.CollaborationPrivacyBudgetTemplate = v return s } -// The epsilon and noise parameter values that you want to update in the differential -// privacy template. -type DifferentialPrivacyTemplateUpdateParameters struct { - _ struct{} `type:"structure"` +type GetConfiguredAudienceModelAssociationInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The updated epsilon value that you want to use. - Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer"` + // A unique identifier for the configured audience model association that you + // want to retrieve. + // + // ConfiguredAudienceModelAssociationIdentifier is a required field + ConfiguredAudienceModelAssociationIdentifier *string `location:"uri" locationName:"configuredAudienceModelAssociationIdentifier" min:"36" type:"string" required:"true"` - // The updated value of noise added per query. It is measured in terms of the - // number of users whose contributions you want to obscure. This value governs - // the rate at which the privacy budget is depleted. - UsersNoisePerQuery *int64 `locationName:"usersNoisePerQuery" min:"10" type:"integer"` + // A unique identifier for the membership that contains the configured audience + // model association that you want to retrieve. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -13549,7 +15633,7 @@ type DifferentialPrivacyTemplateUpdateParameters 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 DifferentialPrivacyTemplateUpdateParameters) String() string { +func (s GetConfiguredAudienceModelAssociationInput) String() string { return awsutil.Prettify(s) } @@ -13558,18 +15642,24 @@ func (s DifferentialPrivacyTemplateUpdateParameters) 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 DifferentialPrivacyTemplateUpdateParameters) GoString() string { +func (s GetConfiguredAudienceModelAssociationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DifferentialPrivacyTemplateUpdateParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyTemplateUpdateParameters"} - if s.Epsilon != nil && *s.Epsilon < 1 { - invalidParams.Add(request.NewErrParamMinValue("Epsilon", 1)) +func (s *GetConfiguredAudienceModelAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConfiguredAudienceModelAssociationInput"} + if s.ConfiguredAudienceModelAssociationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelAssociationIdentifier")) } - if s.UsersNoisePerQuery != nil && *s.UsersNoisePerQuery < 10 { - invalidParams.Add(request.NewErrParamMinValue("UsersNoisePerQuery", 10)) + if s.ConfiguredAudienceModelAssociationIdentifier != nil && len(*s.ConfiguredAudienceModelAssociationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelAssociationIdentifier", 36)) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -13578,30 +15668,65 @@ func (s *DifferentialPrivacyTemplateUpdateParameters) Validate() error { return nil } -// SetEpsilon sets the Epsilon field's value. -func (s *DifferentialPrivacyTemplateUpdateParameters) SetEpsilon(v int64) *DifferentialPrivacyTemplateUpdateParameters { - s.Epsilon = &v +// SetConfiguredAudienceModelAssociationIdentifier sets the ConfiguredAudienceModelAssociationIdentifier field's value. +func (s *GetConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelAssociationIdentifier(v string) *GetConfiguredAudienceModelAssociationInput { + s.ConfiguredAudienceModelAssociationIdentifier = &v return s } -// SetUsersNoisePerQuery sets the UsersNoisePerQuery field's value. -func (s *DifferentialPrivacyTemplateUpdateParameters) SetUsersNoisePerQuery(v int64) *DifferentialPrivacyTemplateUpdateParameters { - s.UsersNoisePerQuery = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *GetConfiguredAudienceModelAssociationInput) SetMembershipIdentifier(v string) *GetConfiguredAudienceModelAssociationInput { + s.MembershipIdentifier = &v return s } -type GetAnalysisTemplateInput struct { +type GetConfiguredAudienceModelAssociationOutput struct { + _ struct{} `type:"structure"` + + // Information about the configured audience model association that you requested. + // + // ConfiguredAudienceModelAssociation is a required field + ConfiguredAudienceModelAssociation *ConfiguredAudienceModelAssociation `locationName:"configuredAudienceModelAssociation" 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 GetConfiguredAudienceModelAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfiguredAudienceModelAssociationOutput) GoString() string { + return s.String() +} + +// SetConfiguredAudienceModelAssociation sets the ConfiguredAudienceModelAssociation field's value. +func (s *GetConfiguredAudienceModelAssociationOutput) SetConfiguredAudienceModelAssociation(v *ConfiguredAudienceModelAssociation) *GetConfiguredAudienceModelAssociationOutput { + s.ConfiguredAudienceModelAssociation = v + return s +} + +type GetConfiguredTableAnalysisRuleInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier for the analysis template resource. + // The analysis rule to be retrieved. Configured table analysis rules are uniquely + // identified by their configured table identifier and analysis rule type. // - // AnalysisTemplateIdentifier is a required field - AnalysisTemplateIdentifier *string `location:"uri" locationName:"analysisTemplateIdentifier" min:"36" type:"string" required:"true"` + // AnalysisRuleType is a required field + AnalysisRuleType *string `location:"uri" locationName:"analysisRuleType" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` - // The identifier for a membership resource. + // The unique identifier for the configured table to retrieve. Currently accepts + // the configured table ID. // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // ConfiguredTableIdentifier is a required field + ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -13609,7 +15734,7 @@ type GetAnalysisTemplateInput 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 GetAnalysisTemplateInput) String() string { +func (s GetConfiguredTableAnalysisRuleInput) String() string { return awsutil.Prettify(s) } @@ -13618,24 +15743,24 @@ func (s GetAnalysisTemplateInput) 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 GetAnalysisTemplateInput) GoString() string { +func (s GetConfiguredTableAnalysisRuleInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetAnalysisTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetAnalysisTemplateInput"} - if s.AnalysisTemplateIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateIdentifier")) +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetConfiguredTableAnalysisRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConfiguredTableAnalysisRuleInput"} + if s.AnalysisRuleType == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisRuleType")) } - if s.AnalysisTemplateIdentifier != nil && len(*s.AnalysisTemplateIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateIdentifier", 36)) + if s.AnalysisRuleType != nil && len(*s.AnalysisRuleType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisRuleType", 1)) } - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + if s.ConfiguredTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -13644,25 +15769,25 @@ func (s *GetAnalysisTemplateInput) Validate() error { return nil } -// SetAnalysisTemplateIdentifier sets the AnalysisTemplateIdentifier field's value. -func (s *GetAnalysisTemplateInput) SetAnalysisTemplateIdentifier(v string) *GetAnalysisTemplateInput { - s.AnalysisTemplateIdentifier = &v +// SetAnalysisRuleType sets the AnalysisRuleType field's value. +func (s *GetConfiguredTableAnalysisRuleInput) SetAnalysisRuleType(v string) *GetConfiguredTableAnalysisRuleInput { + s.AnalysisRuleType = &v return s } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *GetAnalysisTemplateInput) SetMembershipIdentifier(v string) *GetAnalysisTemplateInput { - s.MembershipIdentifier = &v +// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. +func (s *GetConfiguredTableAnalysisRuleInput) SetConfiguredTableIdentifier(v string) *GetConfiguredTableAnalysisRuleInput { + s.ConfiguredTableIdentifier = &v return s } -type GetAnalysisTemplateOutput struct { +type GetConfiguredTableAnalysisRuleOutput struct { _ struct{} `type:"structure"` - // The analysis template. + // The entire analysis rule output. // - // AnalysisTemplate is a required field - AnalysisTemplate *AnalysisTemplate `locationName:"analysisTemplate" type:"structure" required:"true"` + // AnalysisRule is a required field + AnalysisRule *ConfiguredTableAnalysisRule `locationName:"analysisRule" type:"structure" required:"true"` } // String returns the string representation. @@ -13670,7 +15795,7 @@ type GetAnalysisTemplateOutput 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 GetAnalysisTemplateOutput) String() string { +func (s GetConfiguredTableAnalysisRuleOutput) String() string { return awsutil.Prettify(s) } @@ -13679,30 +15804,30 @@ func (s GetAnalysisTemplateOutput) 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 GetAnalysisTemplateOutput) GoString() string { +func (s GetConfiguredTableAnalysisRuleOutput) GoString() string { return s.String() } -// SetAnalysisTemplate sets the AnalysisTemplate field's value. -func (s *GetAnalysisTemplateOutput) SetAnalysisTemplate(v *AnalysisTemplate) *GetAnalysisTemplateOutput { - s.AnalysisTemplate = v +// SetAnalysisRule sets the AnalysisRule field's value. +func (s *GetConfiguredTableAnalysisRuleOutput) SetAnalysisRule(v *ConfiguredTableAnalysisRule) *GetConfiguredTableAnalysisRuleOutput { + s.AnalysisRule = v return s } -type GetCollaborationAnalysisTemplateInput struct { +type GetConfiguredTableAssociationInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The Amazon Resource Name (ARN) associated with the analysis template within - // a collaboration. + // The unique ID for the configured table association to retrieve. Currently + // accepts the configured table ID. // - // AnalysisTemplateArn is a required field - AnalysisTemplateArn *string `location:"uri" locationName:"analysisTemplateArn" type:"string" required:"true"` + // ConfiguredTableAssociationIdentifier is a required field + ConfiguredTableAssociationIdentifier *string `location:"uri" locationName:"configuredTableAssociationIdentifier" min:"36" type:"string" required:"true"` - // A unique identifier for the collaboration that the analysis templates belong - // to. Currently accepts collaboration ID. + // A unique identifier for the membership that the configured table association + // belongs to. Currently accepts the membership ID. // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -13710,7 +15835,7 @@ type GetCollaborationAnalysisTemplateInput 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 GetCollaborationAnalysisTemplateInput) String() string { +func (s GetConfiguredTableAssociationInput) String() string { return awsutil.Prettify(s) } @@ -13719,24 +15844,24 @@ func (s GetCollaborationAnalysisTemplateInput) 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 GetCollaborationAnalysisTemplateInput) GoString() string { +func (s GetConfiguredTableAssociationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCollaborationAnalysisTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCollaborationAnalysisTemplateInput"} - if s.AnalysisTemplateArn == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateArn")) +func (s *GetConfiguredTableAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConfiguredTableAssociationInput"} + if s.ConfiguredTableAssociationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableAssociationIdentifier")) } - if s.AnalysisTemplateArn != nil && len(*s.AnalysisTemplateArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateArn", 1)) + if s.ConfiguredTableAssociationIdentifier != nil && len(*s.ConfiguredTableAssociationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableAssociationIdentifier", 36)) } - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -13745,25 +15870,25 @@ func (s *GetCollaborationAnalysisTemplateInput) Validate() error { return nil } -// SetAnalysisTemplateArn sets the AnalysisTemplateArn field's value. -func (s *GetCollaborationAnalysisTemplateInput) SetAnalysisTemplateArn(v string) *GetCollaborationAnalysisTemplateInput { - s.AnalysisTemplateArn = &v +// SetConfiguredTableAssociationIdentifier sets the ConfiguredTableAssociationIdentifier field's value. +func (s *GetConfiguredTableAssociationInput) SetConfiguredTableAssociationIdentifier(v string) *GetConfiguredTableAssociationInput { + s.ConfiguredTableAssociationIdentifier = &v return s } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *GetCollaborationAnalysisTemplateInput) SetCollaborationIdentifier(v string) *GetCollaborationAnalysisTemplateInput { - s.CollaborationIdentifier = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *GetConfiguredTableAssociationInput) SetMembershipIdentifier(v string) *GetConfiguredTableAssociationInput { + s.MembershipIdentifier = &v return s } -type GetCollaborationAnalysisTemplateOutput struct { +type GetConfiguredTableAssociationOutput struct { _ struct{} `type:"structure"` - // The analysis template within a collaboration. + // The entire configured table association object. // - // CollaborationAnalysisTemplate is a required field - CollaborationAnalysisTemplate *CollaborationAnalysisTemplate `locationName:"collaborationAnalysisTemplate" type:"structure" required:"true"` + // ConfiguredTableAssociation is a required field + ConfiguredTableAssociation *ConfiguredTableAssociation `locationName:"configuredTableAssociation" type:"structure" required:"true"` } // String returns the string representation. @@ -13771,7 +15896,7 @@ type GetCollaborationAnalysisTemplateOutput 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 GetCollaborationAnalysisTemplateOutput) String() string { +func (s GetConfiguredTableAssociationOutput) String() string { return awsutil.Prettify(s) } @@ -13780,30 +15905,23 @@ func (s GetCollaborationAnalysisTemplateOutput) 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 GetCollaborationAnalysisTemplateOutput) GoString() string { +func (s GetConfiguredTableAssociationOutput) GoString() string { return s.String() } -// SetCollaborationAnalysisTemplate sets the CollaborationAnalysisTemplate field's value. -func (s *GetCollaborationAnalysisTemplateOutput) SetCollaborationAnalysisTemplate(v *CollaborationAnalysisTemplate) *GetCollaborationAnalysisTemplateOutput { - s.CollaborationAnalysisTemplate = v +// SetConfiguredTableAssociation sets the ConfiguredTableAssociation field's value. +func (s *GetConfiguredTableAssociationOutput) SetConfiguredTableAssociation(v *ConfiguredTableAssociation) *GetConfiguredTableAssociationOutput { + s.ConfiguredTableAssociation = v return s } -type GetCollaborationConfiguredAudienceModelAssociationInput struct { +type GetConfiguredTableInput struct { _ struct{} `type:"structure" nopayload:"true"` - // A unique identifier for the collaboration that the configured audience model - // association belongs to. Accepts a collaboration ID. - // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - - // A unique identifier for the configured audience model association that you - // want to retrieve. + // The unique ID for the configured table to retrieve. // - // ConfiguredAudienceModelAssociationIdentifier is a required field - ConfiguredAudienceModelAssociationIdentifier *string `location:"uri" locationName:"configuredAudienceModelAssociationIdentifier" min:"36" type:"string" required:"true"` + // ConfiguredTableIdentifier is a required field + ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -13811,7 +15929,7 @@ type GetCollaborationConfiguredAudienceModelAssociationInput 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 GetCollaborationConfiguredAudienceModelAssociationInput) String() string { +func (s GetConfiguredTableInput) String() string { return awsutil.Prettify(s) } @@ -13820,24 +15938,18 @@ func (s GetCollaborationConfiguredAudienceModelAssociationInput) 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 GetCollaborationConfiguredAudienceModelAssociationInput) GoString() string { +func (s GetConfiguredTableInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCollaborationConfiguredAudienceModelAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCollaborationConfiguredAudienceModelAssociationInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) - } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) - } - if s.ConfiguredAudienceModelAssociationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelAssociationIdentifier")) +func (s *GetConfiguredTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConfiguredTableInput"} + if s.ConfiguredTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) } - if s.ConfiguredAudienceModelAssociationIdentifier != nil && len(*s.ConfiguredAudienceModelAssociationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelAssociationIdentifier", 36)) + if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -13846,25 +15958,19 @@ func (s *GetCollaborationConfiguredAudienceModelAssociationInput) Validate() err return nil } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *GetCollaborationConfiguredAudienceModelAssociationInput) SetCollaborationIdentifier(v string) *GetCollaborationConfiguredAudienceModelAssociationInput { - s.CollaborationIdentifier = &v - return s -} - -// SetConfiguredAudienceModelAssociationIdentifier sets the ConfiguredAudienceModelAssociationIdentifier field's value. -func (s *GetCollaborationConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelAssociationIdentifier(v string) *GetCollaborationConfiguredAudienceModelAssociationInput { - s.ConfiguredAudienceModelAssociationIdentifier = &v +// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. +func (s *GetConfiguredTableInput) SetConfiguredTableIdentifier(v string) *GetConfiguredTableInput { + s.ConfiguredTableIdentifier = &v return s } -type GetCollaborationConfiguredAudienceModelAssociationOutput struct { +type GetConfiguredTableOutput struct { _ struct{} `type:"structure"` - // The metadata of the configured audience model association. + // The retrieved configured table. // - // CollaborationConfiguredAudienceModelAssociation is a required field - CollaborationConfiguredAudienceModelAssociation *CollaborationConfiguredAudienceModelAssociation `locationName:"collaborationConfiguredAudienceModelAssociation" type:"structure" required:"true"` + // ConfiguredTable is a required field + ConfiguredTable *ConfiguredTable `locationName:"configuredTable" type:"structure" required:"true"` } // String returns the string representation. @@ -13872,7 +15978,7 @@ type GetCollaborationConfiguredAudienceModelAssociationOutput 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 GetCollaborationConfiguredAudienceModelAssociationOutput) String() string { +func (s GetConfiguredTableOutput) String() string { return awsutil.Prettify(s) } @@ -13881,23 +15987,30 @@ func (s GetCollaborationConfiguredAudienceModelAssociationOutput) String() strin // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCollaborationConfiguredAudienceModelAssociationOutput) GoString() string { +func (s GetConfiguredTableOutput) GoString() string { return s.String() } -// SetCollaborationConfiguredAudienceModelAssociation sets the CollaborationConfiguredAudienceModelAssociation field's value. -func (s *GetCollaborationConfiguredAudienceModelAssociationOutput) SetCollaborationConfiguredAudienceModelAssociation(v *CollaborationConfiguredAudienceModelAssociation) *GetCollaborationConfiguredAudienceModelAssociationOutput { - s.CollaborationConfiguredAudienceModelAssociation = v +// SetConfiguredTable sets the ConfiguredTable field's value. +func (s *GetConfiguredTableOutput) SetConfiguredTable(v *ConfiguredTable) *GetConfiguredTableOutput { + s.ConfiguredTable = v return s } -type GetCollaborationInput struct { +type GetIdMappingTableInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier for the collaboration. + // The unique identifier of the ID mapping table identifier that you want to + // retrieve. // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // IdMappingTableIdentifier is a required field + IdMappingTableIdentifier *string `location:"uri" locationName:"idMappingTableIdentifier" min:"36" type:"string" required:"true"` + + // The unique identifier of the membership that contains the ID mapping table + // that you want to retrieve. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -13905,7 +16018,7 @@ type GetCollaborationInput 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 GetCollaborationInput) String() string { +func (s GetIdMappingTableInput) String() string { return awsutil.Prettify(s) } @@ -13914,18 +16027,24 @@ func (s GetCollaborationInput) 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 GetCollaborationInput) GoString() string { +func (s GetIdMappingTableInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCollaborationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCollaborationInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) +func (s *GetIdMappingTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIdMappingTableInput"} + if s.IdMappingTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("IdMappingTableIdentifier")) } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + if s.IdMappingTableIdentifier != nil && len(*s.IdMappingTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IdMappingTableIdentifier", 36)) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -13934,19 +16053,25 @@ func (s *GetCollaborationInput) Validate() error { return nil } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *GetCollaborationInput) SetCollaborationIdentifier(v string) *GetCollaborationInput { - s.CollaborationIdentifier = &v +// SetIdMappingTableIdentifier sets the IdMappingTableIdentifier field's value. +func (s *GetIdMappingTableInput) SetIdMappingTableIdentifier(v string) *GetIdMappingTableInput { + s.IdMappingTableIdentifier = &v return s } -type GetCollaborationOutput struct { +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *GetIdMappingTableInput) SetMembershipIdentifier(v string) *GetIdMappingTableInput { + s.MembershipIdentifier = &v + return s +} + +type GetIdMappingTableOutput struct { _ struct{} `type:"structure"` - // The entire collaboration for this identifier. + // The ID mapping table that you requested. // - // Collaboration is a required field - Collaboration *Collaboration `locationName:"collaboration" type:"structure" required:"true"` + // IdMappingTable is a required field + IdMappingTable *IdMappingTable `locationName:"idMappingTable" type:"structure" required:"true"` } // String returns the string representation. @@ -13954,7 +16079,7 @@ type GetCollaborationOutput 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 GetCollaborationOutput) String() string { +func (s GetIdMappingTableOutput) String() string { return awsutil.Prettify(s) } @@ -13963,28 +16088,23 @@ func (s GetCollaborationOutput) 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 GetCollaborationOutput) GoString() string { +func (s GetIdMappingTableOutput) GoString() string { return s.String() } -// SetCollaboration sets the Collaboration field's value. -func (s *GetCollaborationOutput) SetCollaboration(v *Collaboration) *GetCollaborationOutput { - s.Collaboration = v +// SetIdMappingTable sets the IdMappingTable field's value. +func (s *GetIdMappingTableOutput) SetIdMappingTable(v *IdMappingTable) *GetIdMappingTableOutput { + s.IdMappingTable = v return s } -type GetCollaborationPrivacyBudgetTemplateInput struct { +type GetMembershipInput struct { _ struct{} `type:"structure" nopayload:"true"` - // A unique identifier for one of your collaborations. - // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - - // A unique identifier for one of your privacy budget templates. + // The identifier for a membership resource. // - // PrivacyBudgetTemplateIdentifier is a required field - PrivacyBudgetTemplateIdentifier *string `location:"uri" locationName:"privacyBudgetTemplateIdentifier" min:"36" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -13992,7 +16112,7 @@ type GetCollaborationPrivacyBudgetTemplateInput 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 GetCollaborationPrivacyBudgetTemplateInput) String() string { +func (s GetMembershipInput) String() string { return awsutil.Prettify(s) } @@ -14001,24 +16121,18 @@ func (s GetCollaborationPrivacyBudgetTemplateInput) 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 GetCollaborationPrivacyBudgetTemplateInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetCollaborationPrivacyBudgetTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCollaborationPrivacyBudgetTemplateInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) - } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) - } - if s.PrivacyBudgetTemplateIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetTemplateIdentifier")) +func (s GetMembershipInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMembershipInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMembershipInput"} + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } - if s.PrivacyBudgetTemplateIdentifier != nil && len(*s.PrivacyBudgetTemplateIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PrivacyBudgetTemplateIdentifier", 36)) + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -14027,25 +16141,19 @@ func (s *GetCollaborationPrivacyBudgetTemplateInput) Validate() error { return nil } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *GetCollaborationPrivacyBudgetTemplateInput) SetCollaborationIdentifier(v string) *GetCollaborationPrivacyBudgetTemplateInput { - s.CollaborationIdentifier = &v - return s -} - -// SetPrivacyBudgetTemplateIdentifier sets the PrivacyBudgetTemplateIdentifier field's value. -func (s *GetCollaborationPrivacyBudgetTemplateInput) SetPrivacyBudgetTemplateIdentifier(v string) *GetCollaborationPrivacyBudgetTemplateInput { - s.PrivacyBudgetTemplateIdentifier = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *GetMembershipInput) SetMembershipIdentifier(v string) *GetMembershipInput { + s.MembershipIdentifier = &v return s } -type GetCollaborationPrivacyBudgetTemplateOutput struct { +type GetMembershipOutput struct { _ struct{} `type:"structure"` - // Returns the details of the privacy budget template that you requested. + // The membership retrieved for the provided identifier. // - // CollaborationPrivacyBudgetTemplate is a required field - CollaborationPrivacyBudgetTemplate *CollaborationPrivacyBudgetTemplate `locationName:"collaborationPrivacyBudgetTemplate" type:"structure" required:"true"` + // Membership is a required field + Membership *Membership `locationName:"membership" type:"structure" required:"true"` } // String returns the string representation. @@ -14053,7 +16161,7 @@ type GetCollaborationPrivacyBudgetTemplateOutput 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 GetCollaborationPrivacyBudgetTemplateOutput) String() string { +func (s GetMembershipOutput) String() string { return awsutil.Prettify(s) } @@ -14062,30 +16170,30 @@ func (s GetCollaborationPrivacyBudgetTemplateOutput) 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 GetCollaborationPrivacyBudgetTemplateOutput) GoString() string { +func (s GetMembershipOutput) GoString() string { return s.String() } -// SetCollaborationPrivacyBudgetTemplate sets the CollaborationPrivacyBudgetTemplate field's value. -func (s *GetCollaborationPrivacyBudgetTemplateOutput) SetCollaborationPrivacyBudgetTemplate(v *CollaborationPrivacyBudgetTemplate) *GetCollaborationPrivacyBudgetTemplateOutput { - s.CollaborationPrivacyBudgetTemplate = v +// SetMembership sets the Membership field's value. +func (s *GetMembershipOutput) SetMembership(v *Membership) *GetMembershipOutput { + s.Membership = v return s } -type GetConfiguredAudienceModelAssociationInput struct { +type GetPrivacyBudgetTemplateInput struct { _ struct{} `type:"structure" nopayload:"true"` - // A unique identifier for the configured audience model association that you - // want to retrieve. - // - // ConfiguredAudienceModelAssociationIdentifier is a required field - ConfiguredAudienceModelAssociationIdentifier *string `location:"uri" locationName:"configuredAudienceModelAssociationIdentifier" min:"36" type:"string" required:"true"` - - // A unique identifier for the membership that contains the configured audience - // model association that you want to retrieve. + // A unique identifier for one of your memberships for a collaboration. The + // privacy budget template is retrieved from the collaboration that this membership + // belongs to. Accepts a membership ID. // // MembershipIdentifier is a required field MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // A unique identifier for your privacy budget template. + // + // PrivacyBudgetTemplateIdentifier is a required field + PrivacyBudgetTemplateIdentifier *string `location:"uri" locationName:"privacyBudgetTemplateIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -14093,7 +16201,7 @@ type GetConfiguredAudienceModelAssociationInput 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 GetConfiguredAudienceModelAssociationInput) String() string { +func (s GetPrivacyBudgetTemplateInput) String() string { return awsutil.Prettify(s) } @@ -14102,25 +16210,25 @@ func (s GetConfiguredAudienceModelAssociationInput) 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 GetConfiguredAudienceModelAssociationInput) GoString() string { +func (s GetPrivacyBudgetTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetConfiguredAudienceModelAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetConfiguredAudienceModelAssociationInput"} - if s.ConfiguredAudienceModelAssociationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelAssociationIdentifier")) - } - if s.ConfiguredAudienceModelAssociationIdentifier != nil && len(*s.ConfiguredAudienceModelAssociationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelAssociationIdentifier", 36)) - } +func (s *GetPrivacyBudgetTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPrivacyBudgetTemplateInput"} if s.MembershipIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } + if s.PrivacyBudgetTemplateIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetTemplateIdentifier")) + } + if s.PrivacyBudgetTemplateIdentifier != nil && len(*s.PrivacyBudgetTemplateIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PrivacyBudgetTemplateIdentifier", 36)) + } if invalidParams.Len() > 0 { return invalidParams @@ -14128,25 +16236,25 @@ func (s *GetConfiguredAudienceModelAssociationInput) Validate() error { return nil } -// SetConfiguredAudienceModelAssociationIdentifier sets the ConfiguredAudienceModelAssociationIdentifier field's value. -func (s *GetConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelAssociationIdentifier(v string) *GetConfiguredAudienceModelAssociationInput { - s.ConfiguredAudienceModelAssociationIdentifier = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *GetPrivacyBudgetTemplateInput) SetMembershipIdentifier(v string) *GetPrivacyBudgetTemplateInput { + s.MembershipIdentifier = &v return s } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *GetConfiguredAudienceModelAssociationInput) SetMembershipIdentifier(v string) *GetConfiguredAudienceModelAssociationInput { - s.MembershipIdentifier = &v +// SetPrivacyBudgetTemplateIdentifier sets the PrivacyBudgetTemplateIdentifier field's value. +func (s *GetPrivacyBudgetTemplateInput) SetPrivacyBudgetTemplateIdentifier(v string) *GetPrivacyBudgetTemplateInput { + s.PrivacyBudgetTemplateIdentifier = &v return s } -type GetConfiguredAudienceModelAssociationOutput struct { +type GetPrivacyBudgetTemplateOutput struct { _ struct{} `type:"structure"` - // Information about the configured audience model association that you requested. + // Returns the details of the privacy budget template that you requested. // - // ConfiguredAudienceModelAssociation is a required field - ConfiguredAudienceModelAssociation *ConfiguredAudienceModelAssociation `locationName:"configuredAudienceModelAssociation" type:"structure" required:"true"` + // PrivacyBudgetTemplate is a required field + PrivacyBudgetTemplate *PrivacyBudgetTemplate `locationName:"privacyBudgetTemplate" type:"structure" required:"true"` } // String returns the string representation. @@ -14154,7 +16262,7 @@ type GetConfiguredAudienceModelAssociationOutput 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 GetConfiguredAudienceModelAssociationOutput) String() string { +func (s GetPrivacyBudgetTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -14163,30 +16271,28 @@ func (s GetConfiguredAudienceModelAssociationOutput) 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 GetConfiguredAudienceModelAssociationOutput) GoString() string { +func (s GetPrivacyBudgetTemplateOutput) GoString() string { return s.String() } -// SetConfiguredAudienceModelAssociation sets the ConfiguredAudienceModelAssociation field's value. -func (s *GetConfiguredAudienceModelAssociationOutput) SetConfiguredAudienceModelAssociation(v *ConfiguredAudienceModelAssociation) *GetConfiguredAudienceModelAssociationOutput { - s.ConfiguredAudienceModelAssociation = v +// SetPrivacyBudgetTemplate sets the PrivacyBudgetTemplate field's value. +func (s *GetPrivacyBudgetTemplateOutput) SetPrivacyBudgetTemplate(v *PrivacyBudgetTemplate) *GetPrivacyBudgetTemplateOutput { + s.PrivacyBudgetTemplate = v return s } -type GetConfiguredTableAnalysisRuleInput struct { +type GetProtectedQueryInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The analysis rule to be retrieved. Configured table analysis rules are uniquely - // identified by their configured table identifier and analysis rule type. + // The identifier for a membership in a protected query instance. // - // AnalysisRuleType is a required field - AnalysisRuleType *string `location:"uri" locationName:"analysisRuleType" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The unique identifier for the configured table to retrieve. Currently accepts - // the configured table ID. + // The identifier for a protected query instance. // - // ConfiguredTableIdentifier is a required field - ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` + // ProtectedQueryIdentifier is a required field + ProtectedQueryIdentifier *string `location:"uri" locationName:"protectedQueryIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -14194,7 +16300,7 @@ type GetConfiguredTableAnalysisRuleInput 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 GetConfiguredTableAnalysisRuleInput) String() string { +func (s GetProtectedQueryInput) String() string { return awsutil.Prettify(s) } @@ -14203,24 +16309,24 @@ func (s GetConfiguredTableAnalysisRuleInput) 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 GetConfiguredTableAnalysisRuleInput) GoString() string { +func (s GetProtectedQueryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetConfiguredTableAnalysisRuleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetConfiguredTableAnalysisRuleInput"} - if s.AnalysisRuleType == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisRuleType")) +func (s *GetProtectedQueryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetProtectedQueryInput"} + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } - if s.AnalysisRuleType != nil && len(*s.AnalysisRuleType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AnalysisRuleType", 1)) + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } - if s.ConfiguredTableIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) + if s.ProtectedQueryIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ProtectedQueryIdentifier")) } - if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + if s.ProtectedQueryIdentifier != nil && len(*s.ProtectedQueryIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ProtectedQueryIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -14229,25 +16335,25 @@ func (s *GetConfiguredTableAnalysisRuleInput) Validate() error { return nil } -// SetAnalysisRuleType sets the AnalysisRuleType field's value. -func (s *GetConfiguredTableAnalysisRuleInput) SetAnalysisRuleType(v string) *GetConfiguredTableAnalysisRuleInput { - s.AnalysisRuleType = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *GetProtectedQueryInput) SetMembershipIdentifier(v string) *GetProtectedQueryInput { + s.MembershipIdentifier = &v return s } -// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. -func (s *GetConfiguredTableAnalysisRuleInput) SetConfiguredTableIdentifier(v string) *GetConfiguredTableAnalysisRuleInput { - s.ConfiguredTableIdentifier = &v +// SetProtectedQueryIdentifier sets the ProtectedQueryIdentifier field's value. +func (s *GetProtectedQueryInput) SetProtectedQueryIdentifier(v string) *GetProtectedQueryInput { + s.ProtectedQueryIdentifier = &v return s } -type GetConfiguredTableAnalysisRuleOutput struct { +type GetProtectedQueryOutput struct { _ struct{} `type:"structure"` - // The entire analysis rule output. + // The query processing metadata. // - // AnalysisRule is a required field - AnalysisRule *ConfiguredTableAnalysisRule `locationName:"analysisRule" type:"structure" required:"true"` + // ProtectedQuery is a required field + ProtectedQuery *ProtectedQuery `locationName:"protectedQuery" type:"structure" required:"true"` } // String returns the string representation. @@ -14255,7 +16361,7 @@ type GetConfiguredTableAnalysisRuleOutput 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 GetConfiguredTableAnalysisRuleOutput) String() string { +func (s GetProtectedQueryOutput) String() string { return awsutil.Prettify(s) } @@ -14264,30 +16370,36 @@ func (s GetConfiguredTableAnalysisRuleOutput) 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 GetConfiguredTableAnalysisRuleOutput) GoString() string { +func (s GetProtectedQueryOutput) GoString() string { return s.String() } -// SetAnalysisRule sets the AnalysisRule field's value. -func (s *GetConfiguredTableAnalysisRuleOutput) SetAnalysisRule(v *ConfiguredTableAnalysisRule) *GetConfiguredTableAnalysisRuleOutput { - s.AnalysisRule = v +// SetProtectedQuery sets the ProtectedQuery field's value. +func (s *GetProtectedQueryOutput) SetProtectedQuery(v *ProtectedQuery) *GetProtectedQueryOutput { + s.ProtectedQuery = v return s } -type GetConfiguredTableAssociationInput struct { +type GetSchemaAnalysisRuleInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The unique ID for the configured table association to retrieve. Currently - // accepts the configured table ID. + // A unique identifier for the collaboration that the schema belongs to. Currently + // accepts a collaboration ID. // - // ConfiguredTableAssociationIdentifier is a required field - ConfiguredTableAssociationIdentifier *string `location:"uri" locationName:"configuredTableAssociationIdentifier" min:"36" type:"string" required:"true"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // A unique identifier for the membership that the configured table association - // belongs to. Currently accepts the membership ID. + // The name of the schema to retrieve the analysis rule for. // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // Name is a required field + Name *string `location:"uri" locationName:"name" type:"string" required:"true"` + + // The type of the schema analysis rule to retrieve. Schema analysis rules are + // uniquely identified by a combination of the collaboration, the schema name, + // and their type. + // + // Type is a required field + Type *string `location:"uri" locationName:"type" type:"string" required:"true" enum:"AnalysisRuleType"` } // String returns the string representation. @@ -14295,7 +16407,7 @@ type GetConfiguredTableAssociationInput 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 GetConfiguredTableAssociationInput) String() string { +func (s GetSchemaAnalysisRuleInput) String() string { return awsutil.Prettify(s) } @@ -14304,24 +16416,30 @@ func (s GetConfiguredTableAssociationInput) 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 GetConfiguredTableAssociationInput) GoString() string { +func (s GetSchemaAnalysisRuleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetConfiguredTableAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetConfiguredTableAssociationInput"} - if s.ConfiguredTableAssociationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableAssociationIdentifier")) +func (s *GetSchemaAnalysisRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSchemaAnalysisRuleInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.ConfiguredTableAssociationIdentifier != nil && len(*s.ConfiguredTableAssociationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableAssociationIdentifier", 36)) + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Type != nil && len(*s.Type) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Type", 1)) } if invalidParams.Len() > 0 { @@ -14330,25 +16448,31 @@ func (s *GetConfiguredTableAssociationInput) Validate() error { return nil } -// SetConfiguredTableAssociationIdentifier sets the ConfiguredTableAssociationIdentifier field's value. -func (s *GetConfiguredTableAssociationInput) SetConfiguredTableAssociationIdentifier(v string) *GetConfiguredTableAssociationInput { - s.ConfiguredTableAssociationIdentifier = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *GetSchemaAnalysisRuleInput) SetCollaborationIdentifier(v string) *GetSchemaAnalysisRuleInput { + s.CollaborationIdentifier = &v return s } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *GetConfiguredTableAssociationInput) SetMembershipIdentifier(v string) *GetConfiguredTableAssociationInput { - s.MembershipIdentifier = &v +// SetName sets the Name field's value. +func (s *GetSchemaAnalysisRuleInput) SetName(v string) *GetSchemaAnalysisRuleInput { + s.Name = &v return s } -type GetConfiguredTableAssociationOutput struct { +// SetType sets the Type field's value. +func (s *GetSchemaAnalysisRuleInput) SetType(v string) *GetSchemaAnalysisRuleInput { + s.Type = &v + return s +} + +type GetSchemaAnalysisRuleOutput struct { _ struct{} `type:"structure"` - // The entire configured table association object. + // A specification about how data from the configured table can be used. // - // ConfiguredTableAssociation is a required field - ConfiguredTableAssociation *ConfiguredTableAssociation `locationName:"configuredTableAssociation" type:"structure" required:"true"` + // AnalysisRule is a required field + AnalysisRule *AnalysisRule `locationName:"analysisRule" type:"structure" required:"true"` } // String returns the string representation. @@ -14356,7 +16480,7 @@ type GetConfiguredTableAssociationOutput 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 GetConfiguredTableAssociationOutput) String() string { +func (s GetSchemaAnalysisRuleOutput) String() string { return awsutil.Prettify(s) } @@ -14365,23 +16489,29 @@ func (s GetConfiguredTableAssociationOutput) 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 GetConfiguredTableAssociationOutput) GoString() string { +func (s GetSchemaAnalysisRuleOutput) GoString() string { return s.String() } -// SetConfiguredTableAssociation sets the ConfiguredTableAssociation field's value. -func (s *GetConfiguredTableAssociationOutput) SetConfiguredTableAssociation(v *ConfiguredTableAssociation) *GetConfiguredTableAssociationOutput { - s.ConfiguredTableAssociation = v +// SetAnalysisRule sets the AnalysisRule field's value. +func (s *GetSchemaAnalysisRuleOutput) SetAnalysisRule(v *AnalysisRule) *GetSchemaAnalysisRuleOutput { + s.AnalysisRule = v return s } -type GetConfiguredTableInput struct { +type GetSchemaInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The unique ID for the configured table to retrieve. + // A unique identifier for the collaboration that the schema belongs to. Currently + // accepts a collaboration ID. // - // ConfiguredTableIdentifier is a required field - ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + + // The name of the relation to retrieve the schema for. + // + // Name is a required field + Name *string `location:"uri" locationName:"name" type:"string" required:"true"` } // String returns the string representation. @@ -14389,7 +16519,7 @@ type GetConfiguredTableInput 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 GetConfiguredTableInput) String() string { +func (s GetSchemaInput) String() string { return awsutil.Prettify(s) } @@ -14398,18 +16528,24 @@ func (s GetConfiguredTableInput) 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 GetConfiguredTableInput) GoString() string { +func (s GetSchemaInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetConfiguredTableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetConfiguredTableInput"} - if s.ConfiguredTableIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) +func (s *GetSchemaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSchemaInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if invalidParams.Len() > 0 { @@ -14418,19 +16554,25 @@ func (s *GetConfiguredTableInput) Validate() error { return nil } -// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. -func (s *GetConfiguredTableInput) SetConfiguredTableIdentifier(v string) *GetConfiguredTableInput { - s.ConfiguredTableIdentifier = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *GetSchemaInput) SetCollaborationIdentifier(v string) *GetSchemaInput { + s.CollaborationIdentifier = &v return s } -type GetConfiguredTableOutput struct { +// SetName sets the Name field's value. +func (s *GetSchemaInput) SetName(v string) *GetSchemaInput { + s.Name = &v + return s +} + +type GetSchemaOutput struct { _ struct{} `type:"structure"` - // The retrieved configured table. + // The entire schema object. // - // ConfiguredTable is a required field - ConfiguredTable *ConfiguredTable `locationName:"configuredTable" type:"structure" required:"true"` + // Schema is a required field + Schema *Schema `locationName:"schema" type:"structure" required:"true"` } // String returns the string representation. @@ -14438,7 +16580,7 @@ type GetConfiguredTableOutput 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 GetConfiguredTableOutput) String() string { +func (s GetSchemaOutput) String() string { return awsutil.Prettify(s) } @@ -14447,23 +16589,29 @@ func (s GetConfiguredTableOutput) 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 GetConfiguredTableOutput) GoString() string { +func (s GetSchemaOutput) GoString() string { return s.String() } -// SetConfiguredTable sets the ConfiguredTable field's value. -func (s *GetConfiguredTableOutput) SetConfiguredTable(v *ConfiguredTable) *GetConfiguredTableOutput { - s.ConfiguredTable = v +// SetSchema sets the Schema field's value. +func (s *GetSchemaOutput) SetSchema(v *Schema) *GetSchemaOutput { + s.Schema = v return s } -type GetMembershipInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// A reference to a table within an Glue data catalog. +type GlueTableReference struct { + _ struct{} `type:"structure"` - // The identifier for a membership resource. + // The name of the database the Glue table belongs to. // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // DatabaseName is a required field + DatabaseName *string `locationName:"databaseName" type:"string" required:"true"` + + // The name of the Glue table. + // + // TableName is a required field + TableName *string `locationName:"tableName" type:"string" required:"true"` } // String returns the string representation. @@ -14471,7 +16619,7 @@ type GetMembershipInput 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 GetMembershipInput) String() string { +func (s GlueTableReference) String() string { return awsutil.Prettify(s) } @@ -14480,18 +16628,18 @@ func (s GetMembershipInput) 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 GetMembershipInput) GoString() string { +func (s GlueTableReference) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetMembershipInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetMembershipInput"} - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) +func (s *GlueTableReference) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GlueTableReference"} + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) } if invalidParams.Len() > 0 { @@ -14500,19 +16648,85 @@ func (s *GetMembershipInput) Validate() error { return nil } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *GetMembershipInput) SetMembershipIdentifier(v string) *GetMembershipInput { - s.MembershipIdentifier = &v +// SetDatabaseName sets the DatabaseName field's value. +func (s *GlueTableReference) SetDatabaseName(v string) *GlueTableReference { + s.DatabaseName = &v return s } -type GetMembershipOutput struct { +// SetTableName sets the TableName field's value. +func (s *GlueTableReference) SetTableName(v string) *GlueTableReference { + s.TableName = &v + return s +} + +// Describes information about the ID mapping table. +type IdMappingTable struct { _ struct{} `type:"structure"` - // The membership retrieved for the provided identifier. + // The Amazon Resource Name (ARN) of the ID mapping table. // - // Membership is a required field - Membership *Membership `locationName:"membership" type:"structure" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the collaboration that contains this ID + // mapping table. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // The unique identifier of the collaboration that contains this ID mapping + // table. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time at which the ID mapping table was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The description of the ID mapping table. + Description *string `locationName:"description" type:"string"` + + // The unique identifier of the ID mapping table. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The input reference configuration for the ID mapping table. + // + // InputReferenceConfig is a required field + InputReferenceConfig *IdMappingTableInputReferenceConfig `locationName:"inputReferenceConfig" type:"structure" required:"true"` + + // The input reference properties for the ID mapping table. + // + // InputReferenceProperties is a required field + InputReferenceProperties *IdMappingTableInputReferenceProperties `locationName:"inputReferenceProperties" type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the Amazon Web Services KMS key. + KmsKeyArn *string `locationName:"kmsKeyArn" min:"20" type:"string"` + + // The Amazon Resource Name (ARN) of the membership resource for the ID mapping + // table. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + + // The unique identifier of the membership resource for the ID mapping table. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + + // The name of the ID mapping table. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The most recent time at which the ID mapping table was updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -14520,7 +16734,7 @@ type GetMembershipOutput 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 GetMembershipOutput) String() string { +func (s IdMappingTable) String() string { return awsutil.Prettify(s) } @@ -14529,30 +16743,105 @@ func (s GetMembershipOutput) 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 GetMembershipOutput) GoString() string { +func (s IdMappingTable) GoString() string { return s.String() } -// SetMembership sets the Membership field's value. -func (s *GetMembershipOutput) SetMembership(v *Membership) *GetMembershipOutput { - s.Membership = v +// SetArn sets the Arn field's value. +func (s *IdMappingTable) SetArn(v string) *IdMappingTable { + s.Arn = &v return s } -type GetPrivacyBudgetTemplateInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *IdMappingTable) SetCollaborationArn(v string) *IdMappingTable { + s.CollaborationArn = &v + return s +} - // A unique identifier for one of your memberships for a collaboration. The - // privacy budget template is retrieved from the collaboration that this membership - // belongs to. Accepts a membership ID. +// SetCollaborationId sets the CollaborationId field's value. +func (s *IdMappingTable) SetCollaborationId(v string) *IdMappingTable { + s.CollaborationId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *IdMappingTable) SetCreateTime(v time.Time) *IdMappingTable { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *IdMappingTable) SetDescription(v string) *IdMappingTable { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *IdMappingTable) SetId(v string) *IdMappingTable { + s.Id = &v + return s +} + +// SetInputReferenceConfig sets the InputReferenceConfig field's value. +func (s *IdMappingTable) SetInputReferenceConfig(v *IdMappingTableInputReferenceConfig) *IdMappingTable { + s.InputReferenceConfig = v + return s +} + +// SetInputReferenceProperties sets the InputReferenceProperties field's value. +func (s *IdMappingTable) SetInputReferenceProperties(v *IdMappingTableInputReferenceProperties) *IdMappingTable { + s.InputReferenceProperties = v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *IdMappingTable) SetKmsKeyArn(v string) *IdMappingTable { + s.KmsKeyArn = &v + return s +} + +// SetMembershipArn sets the MembershipArn field's value. +func (s *IdMappingTable) SetMembershipArn(v string) *IdMappingTable { + s.MembershipArn = &v + return s +} + +// SetMembershipId sets the MembershipId field's value. +func (s *IdMappingTable) SetMembershipId(v string) *IdMappingTable { + s.MembershipId = &v + return s +} + +// SetName sets the Name field's value. +func (s *IdMappingTable) SetName(v string) *IdMappingTable { + s.Name = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *IdMappingTable) SetUpdateTime(v time.Time) *IdMappingTable { + s.UpdateTime = &v + return s +} + +// Provides the input reference configuration for the ID mapping table. +type IdMappingTableInputReferenceConfig struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the referenced resource in Entity Resolution. + // Valid values are ID mapping workflow ARNs. // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // InputReferenceArn is a required field + InputReferenceArn *string `locationName:"inputReferenceArn" min:"20" type:"string" required:"true"` - // A unique identifier for your privacy budget template. + // When TRUE, Clean Rooms manages permissions for the ID mapping table resource. // - // PrivacyBudgetTemplateIdentifier is a required field - PrivacyBudgetTemplateIdentifier *string `location:"uri" locationName:"privacyBudgetTemplateIdentifier" min:"36" type:"string" required:"true"` + // When FALSE, the resource owner manages permissions for the ID mapping table + // resource. + // + // ManageResourcePolicies is a required field + ManageResourcePolicies *bool `locationName:"manageResourcePolicies" type:"boolean" required:"true"` } // String returns the string representation. @@ -14560,7 +16849,7 @@ type GetPrivacyBudgetTemplateInput 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 GetPrivacyBudgetTemplateInput) String() string { +func (s IdMappingTableInputReferenceConfig) String() string { return awsutil.Prettify(s) } @@ -14569,24 +16858,21 @@ func (s GetPrivacyBudgetTemplateInput) 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 GetPrivacyBudgetTemplateInput) GoString() string { +func (s IdMappingTableInputReferenceConfig) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetPrivacyBudgetTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetPrivacyBudgetTemplateInput"} - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) - } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) +// Validate inspects the fields of the type to determine if they are valid. +func (s *IdMappingTableInputReferenceConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IdMappingTableInputReferenceConfig"} + if s.InputReferenceArn == nil { + invalidParams.Add(request.NewErrParamRequired("InputReferenceArn")) } - if s.PrivacyBudgetTemplateIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetTemplateIdentifier")) + if s.InputReferenceArn != nil && len(*s.InputReferenceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("InputReferenceArn", 20)) } - if s.PrivacyBudgetTemplateIdentifier != nil && len(*s.PrivacyBudgetTemplateIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("PrivacyBudgetTemplateIdentifier", 36)) + if s.ManageResourcePolicies == nil { + invalidParams.Add(request.NewErrParamRequired("ManageResourcePolicies")) } if invalidParams.Len() > 0 { @@ -14595,25 +16881,26 @@ func (s *GetPrivacyBudgetTemplateInput) Validate() error { return nil } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *GetPrivacyBudgetTemplateInput) SetMembershipIdentifier(v string) *GetPrivacyBudgetTemplateInput { - s.MembershipIdentifier = &v +// SetInputReferenceArn sets the InputReferenceArn field's value. +func (s *IdMappingTableInputReferenceConfig) SetInputReferenceArn(v string) *IdMappingTableInputReferenceConfig { + s.InputReferenceArn = &v return s } -// SetPrivacyBudgetTemplateIdentifier sets the PrivacyBudgetTemplateIdentifier field's value. -func (s *GetPrivacyBudgetTemplateInput) SetPrivacyBudgetTemplateIdentifier(v string) *GetPrivacyBudgetTemplateInput { - s.PrivacyBudgetTemplateIdentifier = &v +// SetManageResourcePolicies sets the ManageResourcePolicies field's value. +func (s *IdMappingTableInputReferenceConfig) SetManageResourcePolicies(v bool) *IdMappingTableInputReferenceConfig { + s.ManageResourcePolicies = &v return s } -type GetPrivacyBudgetTemplateOutput struct { +// The input reference properties for the ID mapping table. +type IdMappingTableInputReferenceProperties struct { _ struct{} `type:"structure"` - // Returns the details of the privacy budget template that you requested. + // The input source of the ID mapping table. // - // PrivacyBudgetTemplate is a required field - PrivacyBudgetTemplate *PrivacyBudgetTemplate `locationName:"privacyBudgetTemplate" type:"structure" required:"true"` + // IdMappingTableInputSource is a required field + IdMappingTableInputSource []*IdMappingTableInputSource `locationName:"idMappingTableInputSource" min:"2" type:"list" required:"true"` } // String returns the string representation. @@ -14621,7 +16908,7 @@ type GetPrivacyBudgetTemplateOutput 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 GetPrivacyBudgetTemplateOutput) String() string { +func (s IdMappingTableInputReferenceProperties) String() string { return awsutil.Prettify(s) } @@ -14630,28 +16917,29 @@ func (s GetPrivacyBudgetTemplateOutput) 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 GetPrivacyBudgetTemplateOutput) GoString() string { +func (s IdMappingTableInputReferenceProperties) GoString() string { return s.String() } -// SetPrivacyBudgetTemplate sets the PrivacyBudgetTemplate field's value. -func (s *GetPrivacyBudgetTemplateOutput) SetPrivacyBudgetTemplate(v *PrivacyBudgetTemplate) *GetPrivacyBudgetTemplateOutput { - s.PrivacyBudgetTemplate = v +// SetIdMappingTableInputSource sets the IdMappingTableInputSource field's value. +func (s *IdMappingTableInputReferenceProperties) SetIdMappingTableInputSource(v []*IdMappingTableInputSource) *IdMappingTableInputReferenceProperties { + s.IdMappingTableInputSource = v return s } -type GetProtectedQueryInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// The input source of the ID mapping table. +type IdMappingTableInputSource struct { + _ struct{} `type:"structure"` - // The identifier for a membership in a protected query instance. + // The unique identifier of the ID namespace association. // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // IdNamespaceAssociationId is a required field + IdNamespaceAssociationId *string `locationName:"idNamespaceAssociationId" type:"string" required:"true"` - // The identifier for a protected query instance. + // The type of the input source of the ID mapping table. // - // ProtectedQueryIdentifier is a required field - ProtectedQueryIdentifier *string `location:"uri" locationName:"protectedQueryIdentifier" min:"36" type:"string" required:"true"` + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"IdNamespaceType"` } // String returns the string representation. @@ -14659,7 +16947,7 @@ type GetProtectedQueryInput 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 GetProtectedQueryInput) String() string { +func (s IdMappingTableInputSource) String() string { return awsutil.Prettify(s) } @@ -14668,51 +16956,31 @@ func (s GetProtectedQueryInput) 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 GetProtectedQueryInput) GoString() string { +func (s IdMappingTableInputSource) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetProtectedQueryInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetProtectedQueryInput"} - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) - } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) - } - if s.ProtectedQueryIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ProtectedQueryIdentifier")) - } - if s.ProtectedQueryIdentifier != nil && len(*s.ProtectedQueryIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ProtectedQueryIdentifier", 36)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *GetProtectedQueryInput) SetMembershipIdentifier(v string) *GetProtectedQueryInput { - s.MembershipIdentifier = &v +// SetIdNamespaceAssociationId sets the IdNamespaceAssociationId field's value. +func (s *IdMappingTableInputSource) SetIdNamespaceAssociationId(v string) *IdMappingTableInputSource { + s.IdNamespaceAssociationId = &v return s } -// SetProtectedQueryIdentifier sets the ProtectedQueryIdentifier field's value. -func (s *GetProtectedQueryInput) SetProtectedQueryIdentifier(v string) *GetProtectedQueryInput { - s.ProtectedQueryIdentifier = &v +// SetType sets the Type field's value. +func (s *IdMappingTableInputSource) SetType(v string) *IdMappingTableInputSource { + s.Type = &v return s } -type GetProtectedQueryOutput struct { +// Additional properties that are specific to the type of the associated schema. +type IdMappingTableSchemaTypeProperties struct { _ struct{} `type:"structure"` - // The query processing metadata. + // Defines which ID namespace associations are used to create the ID mapping + // table. // - // ProtectedQuery is a required field - ProtectedQuery *ProtectedQuery `locationName:"protectedQuery" type:"structure" required:"true"` + // IdMappingTableInputSource is a required field + IdMappingTableInputSource []*IdMappingTableInputSource `locationName:"idMappingTableInputSource" min:"2" type:"list" required:"true"` } // String returns the string representation. @@ -14720,7 +16988,7 @@ type GetProtectedQueryOutput 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 GetProtectedQueryOutput) String() string { +func (s IdMappingTableSchemaTypeProperties) String() string { return awsutil.Prettify(s) } @@ -14729,36 +16997,75 @@ func (s GetProtectedQueryOutput) 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 GetProtectedQueryOutput) GoString() string { +func (s IdMappingTableSchemaTypeProperties) GoString() string { return s.String() } -// SetProtectedQuery sets the ProtectedQuery field's value. -func (s *GetProtectedQueryOutput) SetProtectedQuery(v *ProtectedQuery) *GetProtectedQueryOutput { - s.ProtectedQuery = v +// SetIdMappingTableInputSource sets the IdMappingTableInputSource field's value. +func (s *IdMappingTableSchemaTypeProperties) SetIdMappingTableInputSource(v []*IdMappingTableInputSource) *IdMappingTableSchemaTypeProperties { + s.IdMappingTableInputSource = v return s } -type GetSchemaAnalysisRuleInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Detailed information about the ID mapping table. +type IdMappingTableSummary struct { + _ struct{} `type:"structure"` - // A unique identifier for the collaboration that the schema belongs to. Currently - // accepts a collaboration ID. + // The Amazon Resource Name (ARN) of this ID mapping table. // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` - // The name of the schema to retrieve the analysis rule for. + // The Amazon Resource Name (ARN) of the collaboration that contains this ID + // mapping table. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // The unique identifier of the collaboration that contains this ID mapping + // table. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time at which this ID mapping table was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The description of this ID mapping table. + Description *string `locationName:"description" type:"string"` + + // The unique identifier of this ID mapping table. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The input reference configuration for the ID mapping table. + // + // InputReferenceConfig is a required field + InputReferenceConfig *IdMappingTableInputReferenceConfig `locationName:"inputReferenceConfig" type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the membership resource for this ID mapping + // table. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + + // The unique identifier of the membership resource for this ID mapping table. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + + // The name of this ID mapping table. // // Name is a required field - Name *string `location:"uri" locationName:"name" type:"string" required:"true"` + Name *string `locationName:"name" type:"string" required:"true"` - // The type of the schema analysis rule to retrieve. Schema analysis rules are - // uniquely identified by a combination of the collaboration, the schema name, - // and their type. + // The most recent time at which this ID mapping table was updated. // - // Type is a required field - Type *string `location:"uri" locationName:"type" type:"string" required:"true" enum:"AnalysisRuleType"` + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -14766,7 +17073,7 @@ type GetSchemaAnalysisRuleInput 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 GetSchemaAnalysisRuleInput) String() string { +func (s IdMappingTableSummary) String() string { return awsutil.Prettify(s) } @@ -14775,102 +17082,96 @@ func (s GetSchemaAnalysisRuleInput) 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 GetSchemaAnalysisRuleInput) GoString() string { +func (s IdMappingTableSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetSchemaAnalysisRuleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSchemaAnalysisRuleInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) - } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - if s.Type != nil && len(*s.Type) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Type", 1)) - } +// SetArn sets the Arn field's value. +func (s *IdMappingTableSummary) SetArn(v string) *IdMappingTableSummary { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *IdMappingTableSummary) SetCollaborationArn(v string) *IdMappingTableSummary { + s.CollaborationArn = &v + return s } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *GetSchemaAnalysisRuleInput) SetCollaborationIdentifier(v string) *GetSchemaAnalysisRuleInput { - s.CollaborationIdentifier = &v +// SetCollaborationId sets the CollaborationId field's value. +func (s *IdMappingTableSummary) SetCollaborationId(v string) *IdMappingTableSummary { + s.CollaborationId = &v return s } -// SetName sets the Name field's value. -func (s *GetSchemaAnalysisRuleInput) SetName(v string) *GetSchemaAnalysisRuleInput { - s.Name = &v +// SetCreateTime sets the CreateTime field's value. +func (s *IdMappingTableSummary) SetCreateTime(v time.Time) *IdMappingTableSummary { + s.CreateTime = &v return s } -// SetType sets the Type field's value. -func (s *GetSchemaAnalysisRuleInput) SetType(v string) *GetSchemaAnalysisRuleInput { - s.Type = &v +// SetDescription sets the Description field's value. +func (s *IdMappingTableSummary) SetDescription(v string) *IdMappingTableSummary { + s.Description = &v return s } -type GetSchemaAnalysisRuleOutput struct { - _ struct{} `type:"structure"` +// SetId sets the Id field's value. +func (s *IdMappingTableSummary) SetId(v string) *IdMappingTableSummary { + s.Id = &v + return s +} - // A specification about how data from the configured table can be used. - // - // AnalysisRule is a required field - AnalysisRule *AnalysisRule `locationName:"analysisRule" type:"structure" required:"true"` +// SetInputReferenceConfig sets the InputReferenceConfig field's value. +func (s *IdMappingTableSummary) SetInputReferenceConfig(v *IdMappingTableInputReferenceConfig) *IdMappingTableSummary { + s.InputReferenceConfig = v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s GetSchemaAnalysisRuleOutput) String() string { - return awsutil.Prettify(s) +// SetMembershipArn sets the MembershipArn field's value. +func (s *IdMappingTableSummary) SetMembershipArn(v string) *IdMappingTableSummary { + s.MembershipArn = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s GetSchemaAnalysisRuleOutput) GoString() string { - return s.String() +// SetMembershipId sets the MembershipId field's value. +func (s *IdMappingTableSummary) SetMembershipId(v string) *IdMappingTableSummary { + s.MembershipId = &v + return s } -// SetAnalysisRule sets the AnalysisRule field's value. -func (s *GetSchemaAnalysisRuleOutput) SetAnalysisRule(v *AnalysisRule) *GetSchemaAnalysisRuleOutput { - s.AnalysisRule = v +// SetName sets the Name field's value. +func (s *IdMappingTableSummary) SetName(v string) *IdMappingTableSummary { + s.Name = &v return s } -type GetSchemaInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetUpdateTime sets the UpdateTime field's value. +func (s *IdMappingTableSummary) SetUpdateTime(v time.Time) *IdMappingTableSummary { + s.UpdateTime = &v + return s +} - // A unique identifier for the collaboration that the schema belongs to. Currently - // accepts a collaboration ID. +// Provides the information for the ID namespace association input reference +// configuration. +type IdNamespaceAssociationInputReferenceConfig struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Entity Resolution resource that is + // being associated to the collaboration. Valid resource ARNs are from the ID + // namespaces that you own. // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // InputReferenceArn is a required field + InputReferenceArn *string `locationName:"inputReferenceArn" type:"string" required:"true"` - // The name of the relation to retrieve the schema for. + // When TRUE, Clean Rooms manages permissions for the ID namespace association + // resource. // - // Name is a required field - Name *string `location:"uri" locationName:"name" type:"string" required:"true"` + // When FALSE, the resource owner manages permissions for the ID namespace association + // resource. + // + // ManageResourcePolicies is a required field + ManageResourcePolicies *bool `locationName:"manageResourcePolicies" type:"boolean" required:"true"` } // String returns the string representation. @@ -14878,60 +17179,39 @@ type GetSchemaInput 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 GetSchemaInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s GetSchemaInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetSchemaInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSchemaInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) - } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } +func (s IdNamespaceAssociationInputReferenceConfig) String() string { + return awsutil.Prettify(s) +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IdNamespaceAssociationInputReferenceConfig) GoString() string { + return s.String() } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *GetSchemaInput) SetCollaborationIdentifier(v string) *GetSchemaInput { - s.CollaborationIdentifier = &v +// SetInputReferenceArn sets the InputReferenceArn field's value. +func (s *IdNamespaceAssociationInputReferenceConfig) SetInputReferenceArn(v string) *IdNamespaceAssociationInputReferenceConfig { + s.InputReferenceArn = &v return s } -// SetName sets the Name field's value. -func (s *GetSchemaInput) SetName(v string) *GetSchemaInput { - s.Name = &v +// SetManageResourcePolicies sets the ManageResourcePolicies field's value. +func (s *IdNamespaceAssociationInputReferenceConfig) SetManageResourcePolicies(v bool) *IdNamespaceAssociationInputReferenceConfig { + s.ManageResourcePolicies = &v return s } -type GetSchemaOutput struct { +// Detailed information about the ID namespace association input reference properties. +type IdNamespaceAssociationInputReferencePropertiesSummary struct { _ struct{} `type:"structure"` - // The entire schema object. + // The ID namespace type for this ID namespace association. // - // Schema is a required field - Schema *Schema `locationName:"schema" type:"structure" required:"true"` + // IdNamespaceType is a required field + IdNamespaceType *string `locationName:"idNamespaceType" type:"string" required:"true" enum:"IdNamespaceType"` } // String returns the string representation. @@ -14939,7 +17219,7 @@ type GetSchemaOutput 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 GetSchemaOutput) String() string { +func (s IdNamespaceAssociationInputReferencePropertiesSummary) String() string { return awsutil.Prettify(s) } @@ -14948,29 +17228,80 @@ func (s GetSchemaOutput) 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 GetSchemaOutput) GoString() string { +func (s IdNamespaceAssociationInputReferencePropertiesSummary) GoString() string { return s.String() } -// SetSchema sets the Schema field's value. -func (s *GetSchemaOutput) SetSchema(v *Schema) *GetSchemaOutput { - s.Schema = v +// SetIdNamespaceType sets the IdNamespaceType field's value. +func (s *IdNamespaceAssociationInputReferencePropertiesSummary) SetIdNamespaceType(v string) *IdNamespaceAssociationInputReferencePropertiesSummary { + s.IdNamespaceType = &v return s } -// A reference to a table within an Glue data catalog. -type GlueTableReference struct { +// Detailed information about the ID namespace association. +type IdNamespaceAssociationSummary struct { _ struct{} `type:"structure"` - // The name of the database the Glue table belongs to. + // The Amazon Resource Name (ARN) of this ID namespace association. // - // DatabaseName is a required field - DatabaseName *string `locationName:"databaseName" type:"string" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` - // The name of the Glue table. + // The Amazon Resource Name (ARN) of the collaboration that contains this ID + // namespace association. // - // TableName is a required field - TableName *string `locationName:"tableName" type:"string" required:"true"` + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // The unique identifier of the collaboration that contains this ID namespace + // association. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time at which this ID namespace association was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The description of the ID namespace association. + Description *string `locationName:"description" type:"string"` + + // The unique identifier of this ID namespace association. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The input reference configuration details for this ID namespace association. + // + // InputReferenceConfig is a required field + InputReferenceConfig *IdNamespaceAssociationInputReferenceConfig `locationName:"inputReferenceConfig" type:"structure" required:"true"` + + // The input reference properties for this ID namespace association. + // + // InputReferenceProperties is a required field + InputReferenceProperties *IdNamespaceAssociationInputReferencePropertiesSummary `locationName:"inputReferenceProperties" type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the membership resource for this ID namespace + // association. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + + // The unique identifier of the membership resource for this ID namespace association. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + + // The name of the ID namespace association. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The most recent time at which this ID namespace association has been updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -14978,7 +17309,7 @@ type GlueTableReference 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 GlueTableReference) String() string { +func (s IdNamespaceAssociationSummary) String() string { return awsutil.Prettify(s) } @@ -14987,35 +17318,79 @@ func (s GlueTableReference) 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 GlueTableReference) GoString() string { +func (s IdNamespaceAssociationSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GlueTableReference) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GlueTableReference"} - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) - } +// SetArn sets the Arn field's value. +func (s *IdNamespaceAssociationSummary) SetArn(v string) *IdNamespaceAssociationSummary { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *IdNamespaceAssociationSummary) SetCollaborationArn(v string) *IdNamespaceAssociationSummary { + s.CollaborationArn = &v + return s } -// SetDatabaseName sets the DatabaseName field's value. -func (s *GlueTableReference) SetDatabaseName(v string) *GlueTableReference { - s.DatabaseName = &v +// SetCollaborationId sets the CollaborationId field's value. +func (s *IdNamespaceAssociationSummary) SetCollaborationId(v string) *IdNamespaceAssociationSummary { + s.CollaborationId = &v return s } -// SetTableName sets the TableName field's value. -func (s *GlueTableReference) SetTableName(v string) *GlueTableReference { - s.TableName = &v +// SetCreateTime sets the CreateTime field's value. +func (s *IdNamespaceAssociationSummary) SetCreateTime(v time.Time) *IdNamespaceAssociationSummary { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *IdNamespaceAssociationSummary) SetDescription(v string) *IdNamespaceAssociationSummary { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *IdNamespaceAssociationSummary) SetId(v string) *IdNamespaceAssociationSummary { + s.Id = &v + return s +} + +// SetInputReferenceConfig sets the InputReferenceConfig field's value. +func (s *IdNamespaceAssociationSummary) SetInputReferenceConfig(v *IdNamespaceAssociationInputReferenceConfig) *IdNamespaceAssociationSummary { + s.InputReferenceConfig = v + return s +} + +// SetInputReferenceProperties sets the InputReferenceProperties field's value. +func (s *IdNamespaceAssociationSummary) SetInputReferenceProperties(v *IdNamespaceAssociationInputReferencePropertiesSummary) *IdNamespaceAssociationSummary { + s.InputReferenceProperties = v + return s +} + +// SetMembershipArn sets the MembershipArn field's value. +func (s *IdNamespaceAssociationSummary) SetMembershipArn(v string) *IdNamespaceAssociationSummary { + s.MembershipArn = &v + return s +} + +// SetMembershipId sets the MembershipId field's value. +func (s *IdNamespaceAssociationSummary) SetMembershipId(v string) *IdNamespaceAssociationSummary { + s.MembershipId = &v + return s +} + +// SetName sets the Name field's value. +func (s *IdNamespaceAssociationSummary) SetName(v string) *IdNamespaceAssociationSummary { + s.Name = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *IdNamespaceAssociationSummary) SetUpdateTime(v time.Time) *IdNamespaceAssociationSummary { + s.UpdateTime = &v return s } @@ -15086,7 +17461,9 @@ func (s *InternalServerException) RequestID() string { type ListAnalysisTemplatesInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The maximum size of the results that is returned per call. + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The identifier for a membership resource. @@ -15094,8 +17471,7 @@ type ListAnalysisTemplatesInput struct { // MembershipIdentifier is a required field MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -15162,8 +17538,7 @@ type ListAnalysisTemplatesOutput struct { // AnalysisTemplateSummaries is a required field AnalysisTemplateSummaries []*AnalysisTemplateSummary `locationName:"analysisTemplateSummaries" type:"list" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -15206,11 +17581,12 @@ type ListCollaborationAnalysisTemplatesInput struct { // CollaborationIdentifier is a required field CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // The maximum size of the results that is returned per call. + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -15277,8 +17653,7 @@ type ListCollaborationAnalysisTemplatesOutput struct { // CollaborationAnalysisTemplateSummaries is a required field CollaborationAnalysisTemplateSummaries []*CollaborationAnalysisTemplateSummary `locationName:"collaborationAnalysisTemplateSummaries" type:"list" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -15307,25 +17682,141 @@ func (s *ListCollaborationAnalysisTemplatesOutput) SetCollaborationAnalysisTempl } // SetNextToken sets the NextToken field's value. -func (s *ListCollaborationAnalysisTemplatesOutput) SetNextToken(v string) *ListCollaborationAnalysisTemplatesOutput { +func (s *ListCollaborationAnalysisTemplatesOutput) SetNextToken(v string) *ListCollaborationAnalysisTemplatesOutput { + s.NextToken = &v + return s +} + +type ListCollaborationConfiguredAudienceModelAssociationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique identifier for the collaboration that the configured audience model + // association belongs to. Accepts a collaboration ID. + // + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token that's used to fetch 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 ListCollaborationConfiguredAudienceModelAssociationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCollaborationConfiguredAudienceModelAssociationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCollaborationConfiguredAudienceModelAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCollaborationConfiguredAudienceModelAssociationsInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) + } + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *ListCollaborationConfiguredAudienceModelAssociationsInput) SetCollaborationIdentifier(v string) *ListCollaborationConfiguredAudienceModelAssociationsInput { + s.CollaborationIdentifier = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListCollaborationConfiguredAudienceModelAssociationsInput) SetMaxResults(v int64) *ListCollaborationConfiguredAudienceModelAssociationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCollaborationConfiguredAudienceModelAssociationsInput) SetNextToken(v string) *ListCollaborationConfiguredAudienceModelAssociationsInput { + s.NextToken = &v + return s +} + +type ListCollaborationConfiguredAudienceModelAssociationsOutput struct { + _ struct{} `type:"structure"` + + // The metadata of the configured audience model association within a collaboration. + // + // CollaborationConfiguredAudienceModelAssociationSummaries is a required field + CollaborationConfiguredAudienceModelAssociationSummaries []*CollaborationConfiguredAudienceModelAssociationSummary `locationName:"collaborationConfiguredAudienceModelAssociationSummaries" type:"list" required:"true"` + + // The pagination token that's used to fetch 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 ListCollaborationConfiguredAudienceModelAssociationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCollaborationConfiguredAudienceModelAssociationsOutput) GoString() string { + return s.String() +} + +// SetCollaborationConfiguredAudienceModelAssociationSummaries sets the CollaborationConfiguredAudienceModelAssociationSummaries field's value. +func (s *ListCollaborationConfiguredAudienceModelAssociationsOutput) SetCollaborationConfiguredAudienceModelAssociationSummaries(v []*CollaborationConfiguredAudienceModelAssociationSummary) *ListCollaborationConfiguredAudienceModelAssociationsOutput { + s.CollaborationConfiguredAudienceModelAssociationSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCollaborationConfiguredAudienceModelAssociationsOutput) SetNextToken(v string) *ListCollaborationConfiguredAudienceModelAssociationsOutput { s.NextToken = &v return s } -type ListCollaborationConfiguredAudienceModelAssociationsInput struct { +type ListCollaborationIdNamespaceAssociationsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // A unique identifier for the collaboration that the configured audience model - // association belongs to. Accepts a collaboration ID. + // The unique identifier of the collaboration that contains the ID namespace + // associations that you want to retrieve. // // CollaborationIdentifier is a required field CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // The maximum size of the results that is returned per call. + // The maximum size of the results that is returned per call. Service chooses + // a default if it has not been set. Service may return a nextToken even if + // the maximum results has not been met.> MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -15334,7 +17825,7 @@ type ListCollaborationConfiguredAudienceModelAssociationsInput 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 ListCollaborationConfiguredAudienceModelAssociationsInput) String() string { +func (s ListCollaborationIdNamespaceAssociationsInput) String() string { return awsutil.Prettify(s) } @@ -15343,13 +17834,13 @@ func (s ListCollaborationConfiguredAudienceModelAssociationsInput) String() stri // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCollaborationConfiguredAudienceModelAssociationsInput) GoString() string { +func (s ListCollaborationIdNamespaceAssociationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListCollaborationConfiguredAudienceModelAssociationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListCollaborationConfiguredAudienceModelAssociationsInput"} +func (s *ListCollaborationIdNamespaceAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCollaborationIdNamespaceAssociationsInput"} if s.CollaborationIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } @@ -15367,33 +17858,33 @@ func (s *ListCollaborationConfiguredAudienceModelAssociationsInput) Validate() e } // SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *ListCollaborationConfiguredAudienceModelAssociationsInput) SetCollaborationIdentifier(v string) *ListCollaborationConfiguredAudienceModelAssociationsInput { +func (s *ListCollaborationIdNamespaceAssociationsInput) SetCollaborationIdentifier(v string) *ListCollaborationIdNamespaceAssociationsInput { s.CollaborationIdentifier = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListCollaborationConfiguredAudienceModelAssociationsInput) SetMaxResults(v int64) *ListCollaborationConfiguredAudienceModelAssociationsInput { +func (s *ListCollaborationIdNamespaceAssociationsInput) SetMaxResults(v int64) *ListCollaborationIdNamespaceAssociationsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListCollaborationConfiguredAudienceModelAssociationsInput) SetNextToken(v string) *ListCollaborationConfiguredAudienceModelAssociationsInput { +func (s *ListCollaborationIdNamespaceAssociationsInput) SetNextToken(v string) *ListCollaborationIdNamespaceAssociationsInput { s.NextToken = &v return s } -type ListCollaborationConfiguredAudienceModelAssociationsOutput struct { +type ListCollaborationIdNamespaceAssociationsOutput struct { _ struct{} `type:"structure"` - // The metadata of the configured audience model association within a collaboration. + // The summary information of the collaboration ID namespace associations that + // you requested. // - // CollaborationConfiguredAudienceModelAssociationSummaries is a required field - CollaborationConfiguredAudienceModelAssociationSummaries []*CollaborationConfiguredAudienceModelAssociationSummary `locationName:"collaborationConfiguredAudienceModelAssociationSummaries" type:"list" required:"true"` + // CollaborationIdNamespaceAssociationSummaries is a required field + CollaborationIdNamespaceAssociationSummaries []*CollaborationIdNamespaceAssociationSummary `locationName:"collaborationIdNamespaceAssociationSummaries" type:"list" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The token value provided to access the next page of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -15402,7 +17893,7 @@ type ListCollaborationConfiguredAudienceModelAssociationsOutput 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 ListCollaborationConfiguredAudienceModelAssociationsOutput) String() string { +func (s ListCollaborationIdNamespaceAssociationsOutput) String() string { return awsutil.Prettify(s) } @@ -15411,18 +17902,18 @@ func (s ListCollaborationConfiguredAudienceModelAssociationsOutput) String() str // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCollaborationConfiguredAudienceModelAssociationsOutput) GoString() string { +func (s ListCollaborationIdNamespaceAssociationsOutput) GoString() string { return s.String() } -// SetCollaborationConfiguredAudienceModelAssociationSummaries sets the CollaborationConfiguredAudienceModelAssociationSummaries field's value. -func (s *ListCollaborationConfiguredAudienceModelAssociationsOutput) SetCollaborationConfiguredAudienceModelAssociationSummaries(v []*CollaborationConfiguredAudienceModelAssociationSummary) *ListCollaborationConfiguredAudienceModelAssociationsOutput { - s.CollaborationConfiguredAudienceModelAssociationSummaries = v +// SetCollaborationIdNamespaceAssociationSummaries sets the CollaborationIdNamespaceAssociationSummaries field's value. +func (s *ListCollaborationIdNamespaceAssociationsOutput) SetCollaborationIdNamespaceAssociationSummaries(v []*CollaborationIdNamespaceAssociationSummary) *ListCollaborationIdNamespaceAssociationsOutput { + s.CollaborationIdNamespaceAssociationSummaries = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListCollaborationConfiguredAudienceModelAssociationsOutput) SetNextToken(v string) *ListCollaborationConfiguredAudienceModelAssociationsOutput { +func (s *ListCollaborationIdNamespaceAssociationsOutput) SetNextToken(v string) *ListCollaborationIdNamespaceAssociationsOutput { s.NextToken = &v return s } @@ -15435,13 +17926,12 @@ type ListCollaborationPrivacyBudgetTemplatesInput struct { // CollaborationIdentifier is a required field CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // The maximum size of the results that is returned per call. Service chooses - // a default if it has not been set. Service may return a nextToken even if - // the maximum results has not been met. + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -15510,8 +18000,7 @@ type ListCollaborationPrivacyBudgetTemplatesOutput struct { // CollaborationPrivacyBudgetTemplateSummaries is a required field CollaborationPrivacyBudgetTemplateSummaries []*CollaborationPrivacyBudgetTemplateSummary `locationName:"collaborationPrivacyBudgetTemplateSummaries" type:"list" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -15553,13 +18042,12 @@ type ListCollaborationPrivacyBudgetsInput struct { // CollaborationIdentifier is a required field CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // The maximum size of the results that is returned per call. Service chooses - // a default if it has not been set. Service may return a nextToken even if - // the maximum results has not been met. + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // Specifies the type of the privacy budget. @@ -15640,8 +18128,7 @@ type ListCollaborationPrivacyBudgetsOutput struct { // CollaborationPrivacyBudgetSummaries is a required field CollaborationPrivacyBudgetSummaries []*CollaborationPrivacyBudgetSummary `locationName:"collaborationPrivacyBudgetSummaries" type:"list" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -15678,16 +18165,15 @@ func (s *ListCollaborationPrivacyBudgetsOutput) SetNextToken(v string) *ListColl type ListCollaborationsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The maximum size of the results that is returned per call. Service chooses - // a default if it has not been set. Service may return a nextToken even if - // the maximum results has not been met. + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The caller's status in a collaboration. MemberStatus *string `location:"querystring" locationName:"memberStatus" type:"string" enum:"FilterableMemberStatus"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -15748,8 +18234,7 @@ type ListCollaborationsOutput struct { // CollaborationList is a required field CollaborationList []*CollaborationSummary `locationName:"collaborationList" type:"list" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -15786,9 +18271,9 @@ func (s *ListCollaborationsOutput) SetNextToken(v string) *ListCollaborationsOut type ListConfiguredAudienceModelAssociationsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The maximum size of the results that is returned per call. Service chooses - // a default if it has not been set. Service may return a nextToken even if - // the maximum results has not been met. + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // A unique identifier for a membership that contains the configured audience @@ -15797,8 +18282,7 @@ type ListConfiguredAudienceModelAssociationsInput struct { // MembershipIdentifier is a required field MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -15902,7 +18386,9 @@ func (s *ListConfiguredAudienceModelAssociationsOutput) SetNextToken(v string) * type ListConfiguredTableAssociationsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The maximum size of the results that is returned per call. + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // A unique identifier for the membership to list configured table associations @@ -15911,8 +18397,7 @@ type ListConfiguredTableAssociationsInput struct { // MembershipIdentifier is a required field MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -15979,8 +18464,7 @@ type ListConfiguredTableAssociationsOutput struct { // ConfiguredTableAssociationSummaries is a required field ConfiguredTableAssociationSummaries []*ConfiguredTableAssociationSummary `locationName:"configuredTableAssociationSummaries" type:"list" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -16017,11 +18501,12 @@ func (s *ListConfiguredTableAssociationsOutput) SetNextToken(v string) *ListConf type ListConfiguredTablesInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The maximum size of the results that is returned per call. + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -16076,8 +18561,7 @@ type ListConfiguredTablesOutput struct { // ConfiguredTableSummaries is a required field ConfiguredTableSummaries []*ConfiguredTableSummary `locationName:"configuredTableSummaries" type:"list" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -16111,6 +18595,236 @@ func (s *ListConfiguredTablesOutput) SetNextToken(v string) *ListConfiguredTable return s } +type ListIdMappingTablesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum size of the results that is returned per call. Service chooses + // a default if it has not been set. Service may return a nextToken even if + // the maximum results has not been met. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The unique identifier of the membership that contains the ID mapping tables + // that you want to view. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // The pagination token that's used to fetch 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 ListIdMappingTablesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListIdMappingTablesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListIdMappingTablesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIdMappingTablesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListIdMappingTablesInput) SetMaxResults(v int64) *ListIdMappingTablesInput { + s.MaxResults = &v + return s +} + +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *ListIdMappingTablesInput) SetMembershipIdentifier(v string) *ListIdMappingTablesInput { + s.MembershipIdentifier = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIdMappingTablesInput) SetNextToken(v string) *ListIdMappingTablesInput { + s.NextToken = &v + return s +} + +type ListIdMappingTablesOutput struct { + _ struct{} `type:"structure"` + + // The summary information of the ID mapping tables that you requested. + // + // IdMappingTableSummaries is a required field + IdMappingTableSummaries []*IdMappingTableSummary `locationName:"idMappingTableSummaries" type:"list" required:"true"` + + // The token value provided to access the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListIdMappingTablesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListIdMappingTablesOutput) GoString() string { + return s.String() +} + +// SetIdMappingTableSummaries sets the IdMappingTableSummaries field's value. +func (s *ListIdMappingTablesOutput) SetIdMappingTableSummaries(v []*IdMappingTableSummary) *ListIdMappingTablesOutput { + s.IdMappingTableSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIdMappingTablesOutput) SetNextToken(v string) *ListIdMappingTablesOutput { + s.NextToken = &v + return s +} + +type ListIdNamespaceAssociationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum size of the results that is returned per call. Service chooses + // a default if it has not been set. Service may return a nextToken even if + // the maximum results has not been met. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The unique identifier of the membership that contains the ID namespace association + // that you want to view. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // The pagination token that's used to fetch 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 ListIdNamespaceAssociationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListIdNamespaceAssociationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListIdNamespaceAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIdNamespaceAssociationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListIdNamespaceAssociationsInput) SetMaxResults(v int64) *ListIdNamespaceAssociationsInput { + s.MaxResults = &v + return s +} + +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *ListIdNamespaceAssociationsInput) SetMembershipIdentifier(v string) *ListIdNamespaceAssociationsInput { + s.MembershipIdentifier = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIdNamespaceAssociationsInput) SetNextToken(v string) *ListIdNamespaceAssociationsInput { + s.NextToken = &v + return s +} + +type ListIdNamespaceAssociationsOutput struct { + _ struct{} `type:"structure"` + + // The summary information of the ID namespace associations that you requested. + // + // IdNamespaceAssociationSummaries is a required field + IdNamespaceAssociationSummaries []*IdNamespaceAssociationSummary `locationName:"idNamespaceAssociationSummaries" type:"list" required:"true"` + + // The token value provided to access the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListIdNamespaceAssociationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListIdNamespaceAssociationsOutput) GoString() string { + return s.String() +} + +// SetIdNamespaceAssociationSummaries sets the IdNamespaceAssociationSummaries field's value. +func (s *ListIdNamespaceAssociationsOutput) SetIdNamespaceAssociationSummaries(v []*IdNamespaceAssociationSummary) *ListIdNamespaceAssociationsOutput { + s.IdNamespaceAssociationSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIdNamespaceAssociationsOutput) SetNextToken(v string) *ListIdNamespaceAssociationsOutput { + s.NextToken = &v + return s +} + type ListMembersInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -16119,11 +18833,12 @@ type ListMembersInput struct { // CollaborationIdentifier is a required field CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // The maximum size of the results that is returned per call. + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -16190,8 +18905,7 @@ type ListMembersOutput struct { // MemberSummaries is a required field MemberSummaries []*MemberSummary `locationName:"memberSummaries" type:"list" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -16228,11 +18942,12 @@ func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput { type ListMembershipsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The maximum size of the results that is returned per call. + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // A filter which will return only memberships in the specified status. @@ -16296,8 +19011,7 @@ type ListMembershipsOutput struct { // MembershipSummaries is a required field MembershipSummaries []*MembershipSummary `locationName:"membershipSummaries" type:"list" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -16334,9 +19048,9 @@ func (s *ListMembershipsOutput) SetNextToken(v string) *ListMembershipsOutput { type ListPrivacyBudgetTemplatesInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The maximum size of the results that is returned per call. Service chooses - // a default if it has not been set. Service may return a nextToken even if - // the maximum results has not been met. + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // A unique identifier for one of your memberships for a collaboration. The @@ -16346,8 +19060,7 @@ type ListPrivacyBudgetTemplatesInput struct { // MembershipIdentifier is a required field MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -16409,8 +19122,7 @@ func (s *ListPrivacyBudgetTemplatesInput) SetNextToken(v string) *ListPrivacyBud type ListPrivacyBudgetTemplatesOutput struct { _ struct{} `type:"structure"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `locationName:"nextToken" type:"string"` // An array that summarizes the privacy budget templates. The summary includes @@ -16453,9 +19165,9 @@ func (s *ListPrivacyBudgetTemplatesOutput) SetPrivacyBudgetTemplateSummaries(v [ type ListPrivacyBudgetsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The maximum size of the results that is returned per call. Service chooses - // a default if it has not been set. Service may return a nextToken even if - // the maximum results has not been met. + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // A unique identifier for one of your memberships for a collaboration. The @@ -16465,8 +19177,7 @@ type ListPrivacyBudgetsInput struct { // MembershipIdentifier is a required field MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The privacy budget type. @@ -16542,8 +19253,7 @@ func (s *ListPrivacyBudgetsInput) SetPrivacyBudgetType(v string) *ListPrivacyBud type ListPrivacyBudgetsOutput struct { _ struct{} `type:"structure"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `locationName:"nextToken" type:"string"` // An array that summarizes the privacy budgets. The summary includes collaboration @@ -16586,10 +19296,10 @@ func (s *ListPrivacyBudgetsOutput) SetPrivacyBudgetSummaries(v []*PrivacyBudgetS type ListProtectedQueriesInput struct { _ struct{} `type:"structure" nopayload:"true"` - - // The maximum size of the results that is returned per call. Service chooses - // a default if it has not been set. Service can return a nextToken even if - // the maximum results has not been met. + + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The identifier for the membership in the collaboration. @@ -16597,8 +19307,7 @@ type ListProtectedQueriesInput struct { // MembershipIdentifier is a required field MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // A filter on the status of the protected query. @@ -16669,8 +19378,7 @@ func (s *ListProtectedQueriesInput) SetStatus(v string) *ListProtectedQueriesInp type ListProtectedQueriesOutput struct { _ struct{} `type:"structure"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `locationName:"nextToken" type:"string"` // A list of protected queries. @@ -16718,15 +19426,15 @@ type ListSchemasInput struct { // CollaborationIdentifier is a required field CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // The maximum size of the results that is returned per call. + // The maximum number of results that are returned for an API request call. + // The service chooses a default number if you don't set one. The service might + // return a `nextToken` even if the `maxResults` value has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - // If present, filter schemas by schema type. The only valid schema type is - // currently `TABLE`. + // If present, filter schemas by schema type. SchemaType *string `location:"querystring" locationName:"schemaType" type:"string" enum:"SchemaType"` } @@ -16794,8 +19502,7 @@ func (s *ListSchemasInput) SetSchemaType(v string) *ListSchemasInput { type ListSchemasOutput struct { _ struct{} `type:"structure"` - // The token value retrieved from a previous call to access the next page of - // results. + // The pagination token that's used to fetch the next set of results. NextToken *string `locationName:"nextToken" type:"string"` // The retrieved list of schemas. @@ -17752,6 +20459,107 @@ func (s *PaymentConfiguration) SetQueryCompute(v *QueryComputePaymentConfig) *Pa return s } +type PopulateIdMappingTableInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the ID mapping table that you want to populate. + // + // IdMappingTableIdentifier is a required field + IdMappingTableIdentifier *string `location:"uri" locationName:"idMappingTableIdentifier" min:"36" type:"string" required:"true"` + + // The unique identifier of the membership that contains the ID mapping table + // that you want to populate. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PopulateIdMappingTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PopulateIdMappingTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PopulateIdMappingTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PopulateIdMappingTableInput"} + if s.IdMappingTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("IdMappingTableIdentifier")) + } + if s.IdMappingTableIdentifier != nil && len(*s.IdMappingTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IdMappingTableIdentifier", 36)) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdMappingTableIdentifier sets the IdMappingTableIdentifier field's value. +func (s *PopulateIdMappingTableInput) SetIdMappingTableIdentifier(v string) *PopulateIdMappingTableInput { + s.IdMappingTableIdentifier = &v + return s +} + +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *PopulateIdMappingTableInput) SetMembershipIdentifier(v string) *PopulateIdMappingTableInput { + s.MembershipIdentifier = &v + return s +} + +type PopulateIdMappingTableOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the mapping job that will populate the ID mapping + // table. + // + // IdMappingJobId is a required field + IdMappingJobId *string `locationName:"idMappingJobId" min:"36" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PopulateIdMappingTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PopulateIdMappingTableOutput) GoString() string { + return s.String() +} + +// SetIdMappingJobId sets the IdMappingJobId field's value. +func (s *PopulateIdMappingTableOutput) SetIdMappingJobId(v string) *PopulateIdMappingTableOutput { + s.IdMappingJobId = &v + return s +} + type PreviewPrivacyImpactInput struct { _ struct{} `type:"structure"` @@ -18138,7 +20946,7 @@ type PrivacyBudgetTemplate struct { // MembershipId is a required field MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` - // Specifies the epislon and noise parameters for the privacy budget template. + // Specifies the epsilon and noise parameters for the privacy budget template. // // Parameters is a required field Parameters *PrivacyBudgetTemplateParametersOutput_ `locationName:"parameters" type:"structure" required:"true"` @@ -19244,6 +22052,71 @@ func (s *QueryComputePaymentConfig) SetIsResponsible(v bool) *QueryComputePaymen return s } +// Provides any necessary query constraint information. +type QueryConstraint struct { + _ struct{} `type:"structure"` + + // An array of column names that specifies which columns are required in the + // JOIN statement. + RequireOverlap *QueryConstraintRequireOverlap `locationName:"requireOverlap" 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 QueryConstraint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QueryConstraint) GoString() string { + return s.String() +} + +// SetRequireOverlap sets the RequireOverlap field's value. +func (s *QueryConstraint) SetRequireOverlap(v *QueryConstraintRequireOverlap) *QueryConstraint { + s.RequireOverlap = v + return s +} + +// Provides the name of the columns that are required to overlap. +type QueryConstraintRequireOverlap struct { + _ struct{} `type:"structure"` + + // The columns that are required to overlap. + Columns []*string `locationName:"columns" 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 QueryConstraintRequireOverlap) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QueryConstraintRequireOverlap) GoString() string { + return s.String() +} + +// SetColumns sets the Columns field's value. +func (s *QueryConstraintRequireOverlap) SetColumns(v []*string) *QueryConstraintRequireOverlap { + s.Columns = v + return s +} + // Request references a resource which does not exist. type ResourceNotFoundException struct { _ struct{} `type:"structure"` @@ -19325,13 +22198,14 @@ type Schema struct { // The analysis method for the schema. The only valid value is currently DIRECT_QUERY. AnalysisMethod *string `locationName:"analysisMethod" type:"string" enum:"AnalysisMethod"` - // The analysis rule types associated with the schema. Currently, only one entry - // is present. + // The analysis rule types that are associated with the schema. Currently, only + // one entry is present. // // AnalysisRuleTypes is a required field AnalysisRuleTypes []*string `locationName:"analysisRuleTypes" type:"list" required:"true" enum:"AnalysisRuleType"` - // The unique ARN for the collaboration that the schema belongs to. + // The unique Amazon Resource Name (ARN) for the collaboration that the schema + // belongs to. // // CollaborationArn is a required field CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` @@ -19341,12 +22215,12 @@ type Schema struct { // CollaborationId is a required field CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` - // The columns for the relation this schema represents. + // The columns for the relation that this schema represents. // // Columns is a required field Columns []*Column `locationName:"columns" type:"list" required:"true"` - // The time the schema was created. + // The time at which the schema was created. // // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` @@ -19377,12 +22251,15 @@ type Schema struct { // SchemaStatusDetails is a required field SchemaStatusDetails []*SchemaStatusDetail `locationName:"schemaStatusDetails" type:"list" required:"true"` - // The type of schema. The only valid value is currently `TABLE`. + // The schema type properties. + SchemaTypeProperties *SchemaTypeProperties `locationName:"schemaTypeProperties" type:"structure"` + + // The type of schema. // // Type is a required field Type *string `locationName:"type" type:"string" required:"true" enum:"SchemaType"` - // The time the schema was last updated. + // The most recent time at which the schema was updated. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` @@ -19472,6 +22349,12 @@ func (s *Schema) SetSchemaStatusDetails(v []*SchemaStatusDetail) *Schema { return s } +// SetSchemaTypeProperties sets the SchemaTypeProperties field's value. +func (s *Schema) SetSchemaTypeProperties(v *SchemaTypeProperties) *Schema { + s.SchemaTypeProperties = v + return s +} + // SetType sets the Type field's value. func (s *Schema) SetType(v string) *Schema { s.Type = &v @@ -19695,7 +22578,7 @@ type SchemaSummary struct { // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` - // The type of schema object. The only valid schema type is currently `TABLE`. + // The type of schema object. // // Type is a required field Type *string `locationName:"type" type:"string" required:"true" enum:"SchemaType"` @@ -19778,6 +22661,38 @@ func (s *SchemaSummary) SetUpdateTime(v time.Time) *SchemaSummary { return s } +// Information about the schema type properties. +type SchemaTypeProperties struct { + _ struct{} `type:"structure"` + + // The ID mapping table for the schema type properties. + IdMappingTable *IdMappingTableSchemaTypeProperties `locationName:"idMappingTable" 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 SchemaTypeProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SchemaTypeProperties) GoString() string { + return s.String() +} + +// SetIdMappingTable sets the IdMappingTable field's value. +func (s *SchemaTypeProperties) SetIdMappingTable(v *IdMappingTableSchemaTypeProperties) *SchemaTypeProperties { + s.IdMappingTable = v + return s +} + // Request denied because service quota has been exceeded. type ServiceQuotaExceededException struct { _ struct{} `type:"structure"` @@ -20949,6 +23864,127 @@ func (s *UpdateConfiguredTableOutput) SetConfiguredTable(v *ConfiguredTable) *Up return s } +type UpdateIdMappingTableInput struct { + _ struct{} `type:"structure"` + + // A new description for the ID mapping table. + Description *string `locationName:"description" type:"string"` + + // The unique identifier of the ID mapping table that you want to update. + // + // IdMappingTableIdentifier is a required field + IdMappingTableIdentifier *string `location:"uri" locationName:"idMappingTableIdentifier" min:"36" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the Amazon Web Services KMS key. + KmsKeyArn *string `locationName:"kmsKeyArn" min:"20" type:"string"` + + // The unique identifier of the membership that contains the ID mapping table + // that you want to update. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateIdMappingTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateIdMappingTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateIdMappingTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateIdMappingTableInput"} + if s.IdMappingTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("IdMappingTableIdentifier")) + } + if s.IdMappingTableIdentifier != nil && len(*s.IdMappingTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IdMappingTableIdentifier", 36)) + } + if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 20)) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateIdMappingTableInput) SetDescription(v string) *UpdateIdMappingTableInput { + s.Description = &v + return s +} + +// SetIdMappingTableIdentifier sets the IdMappingTableIdentifier field's value. +func (s *UpdateIdMappingTableInput) SetIdMappingTableIdentifier(v string) *UpdateIdMappingTableInput { + s.IdMappingTableIdentifier = &v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *UpdateIdMappingTableInput) SetKmsKeyArn(v string) *UpdateIdMappingTableInput { + s.KmsKeyArn = &v + return s +} + +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *UpdateIdMappingTableInput) SetMembershipIdentifier(v string) *UpdateIdMappingTableInput { + s.MembershipIdentifier = &v + return s +} + +type UpdateIdMappingTableOutput struct { + _ struct{} `type:"structure"` + + // The updated ID mapping table. + // + // IdMappingTable is a required field + IdMappingTable *IdMappingTable `locationName:"idMappingTable" 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 UpdateIdMappingTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateIdMappingTableOutput) GoString() string { + return s.String() +} + +// SetIdMappingTable sets the IdMappingTable field's value. +func (s *UpdateIdMappingTableOutput) SetIdMappingTable(v *IdMappingTable) *UpdateIdMappingTableOutput { + s.IdMappingTable = v + return s +} + type UpdateMembershipInput struct { _ struct{} `type:"structure"` @@ -21499,6 +24535,9 @@ const ( // AnalysisRuleTypeCustom is a AnalysisRuleType enum value AnalysisRuleTypeCustom = "CUSTOM" + + // AnalysisRuleTypeIdMappingTable is a AnalysisRuleType enum value + AnalysisRuleTypeIdMappingTable = "ID_MAPPING_TABLE" ) // AnalysisRuleType_Values returns all elements of the AnalysisRuleType enum @@ -21507,6 +24546,7 @@ func AnalysisRuleType_Values() []string { AnalysisRuleTypeAggregation, AnalysisRuleTypeList, AnalysisRuleTypeCustom, + AnalysisRuleTypeIdMappingTable, } } @@ -21642,6 +24682,22 @@ func FilterableMemberStatus_Values() []string { } } +const ( + // IdNamespaceTypeSource is a IdNamespaceType enum value + IdNamespaceTypeSource = "SOURCE" + + // IdNamespaceTypeTarget is a IdNamespaceType enum value + IdNamespaceTypeTarget = "TARGET" +) + +// IdNamespaceType_Values returns all elements of the IdNamespaceType enum +func IdNamespaceType_Values() []string { + return []string{ + IdNamespaceTypeSource, + IdNamespaceTypeTarget, + } +} + const ( // JoinOperatorOr is a JoinOperator enum value JoinOperatorOr = "OR" @@ -22037,12 +25093,28 @@ func ScalarFunctions_Values() []string { const ( // SchemaConfigurationDifferentialPrivacy is a SchemaConfiguration enum value SchemaConfigurationDifferentialPrivacy = "DIFFERENTIAL_PRIVACY" + + // SchemaConfigurationCustomAnalysisNotAllowed is a SchemaConfiguration enum value + SchemaConfigurationCustomAnalysisNotAllowed = "CUSTOM_ANALYSIS_NOT_ALLOWED" + + // SchemaConfigurationNoMemberAccountAllowedToProvideAnalysis is a SchemaConfiguration enum value + SchemaConfigurationNoMemberAccountAllowedToProvideAnalysis = "NO_MEMBER_ACCOUNT_ALLOWED_TO_PROVIDE_ANALYSIS" + + // SchemaConfigurationDifferentialPrivacyBudgetNotConfigured is a SchemaConfiguration enum value + SchemaConfigurationDifferentialPrivacyBudgetNotConfigured = "DIFFERENTIAL_PRIVACY_BUDGET_NOT_CONFIGURED" + + // SchemaConfigurationIdMappingTableNotPopulated is a SchemaConfiguration enum value + SchemaConfigurationIdMappingTableNotPopulated = "ID_MAPPING_TABLE_NOT_POPULATED" ) // SchemaConfiguration_Values returns all elements of the SchemaConfiguration enum func SchemaConfiguration_Values() []string { return []string{ SchemaConfigurationDifferentialPrivacy, + SchemaConfigurationCustomAnalysisNotAllowed, + SchemaConfigurationNoMemberAccountAllowedToProvideAnalysis, + SchemaConfigurationDifferentialPrivacyBudgetNotConfigured, + SchemaConfigurationIdMappingTableNotPopulated, } } @@ -22074,6 +25146,9 @@ const ( // SchemaStatusReasonCodeDifferentialPrivacyPolicyNotConfigured is a SchemaStatusReasonCode enum value SchemaStatusReasonCodeDifferentialPrivacyPolicyNotConfigured = "DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED" + + // SchemaStatusReasonCodeIdMappingTableNotPopulated is a SchemaStatusReasonCode enum value + SchemaStatusReasonCodeIdMappingTableNotPopulated = "ID_MAPPING_TABLE_NOT_POPULATED" ) // SchemaStatusReasonCode_Values returns all elements of the SchemaStatusReasonCode enum @@ -22083,18 +25158,23 @@ func SchemaStatusReasonCode_Values() []string { SchemaStatusReasonCodeAnalysisTemplatesNotConfigured, SchemaStatusReasonCodeAnalysisProvidersNotConfigured, SchemaStatusReasonCodeDifferentialPrivacyPolicyNotConfigured, + SchemaStatusReasonCodeIdMappingTableNotPopulated, } } const ( // SchemaTypeTable is a SchemaType enum value SchemaTypeTable = "TABLE" + + // SchemaTypeIdMappingTable is a SchemaType enum value + SchemaTypeIdMappingTable = "ID_MAPPING_TABLE" ) // SchemaType_Values returns all elements of the SchemaType enum func SchemaType_Values() []string { return []string{ SchemaTypeTable, + SchemaTypeIdMappingTable, } } diff --git a/service/cleanrooms/cleanroomsiface/interface.go b/service/cleanrooms/cleanroomsiface/interface.go index e7c1c105fa2..6b0bf4f0498 100644 --- a/service/cleanrooms/cleanroomsiface/interface.go +++ b/service/cleanrooms/cleanroomsiface/interface.go @@ -96,6 +96,10 @@ type CleanRoomsAPI interface { CreateConfiguredTableAssociationWithContext(aws.Context, *cleanrooms.CreateConfiguredTableAssociationInput, ...request.Option) (*cleanrooms.CreateConfiguredTableAssociationOutput, error) CreateConfiguredTableAssociationRequest(*cleanrooms.CreateConfiguredTableAssociationInput) (*request.Request, *cleanrooms.CreateConfiguredTableAssociationOutput) + CreateIdMappingTable(*cleanrooms.CreateIdMappingTableInput) (*cleanrooms.CreateIdMappingTableOutput, error) + CreateIdMappingTableWithContext(aws.Context, *cleanrooms.CreateIdMappingTableInput, ...request.Option) (*cleanrooms.CreateIdMappingTableOutput, error) + CreateIdMappingTableRequest(*cleanrooms.CreateIdMappingTableInput) (*request.Request, *cleanrooms.CreateIdMappingTableOutput) + CreateMembership(*cleanrooms.CreateMembershipInput) (*cleanrooms.CreateMembershipOutput, error) CreateMembershipWithContext(aws.Context, *cleanrooms.CreateMembershipInput, ...request.Option) (*cleanrooms.CreateMembershipOutput, error) CreateMembershipRequest(*cleanrooms.CreateMembershipInput) (*request.Request, *cleanrooms.CreateMembershipOutput) @@ -128,6 +132,14 @@ type CleanRoomsAPI interface { DeleteConfiguredTableAssociationWithContext(aws.Context, *cleanrooms.DeleteConfiguredTableAssociationInput, ...request.Option) (*cleanrooms.DeleteConfiguredTableAssociationOutput, error) DeleteConfiguredTableAssociationRequest(*cleanrooms.DeleteConfiguredTableAssociationInput) (*request.Request, *cleanrooms.DeleteConfiguredTableAssociationOutput) + DeleteIdMappingTable(*cleanrooms.DeleteIdMappingTableInput) (*cleanrooms.DeleteIdMappingTableOutput, error) + DeleteIdMappingTableWithContext(aws.Context, *cleanrooms.DeleteIdMappingTableInput, ...request.Option) (*cleanrooms.DeleteIdMappingTableOutput, error) + DeleteIdMappingTableRequest(*cleanrooms.DeleteIdMappingTableInput) (*request.Request, *cleanrooms.DeleteIdMappingTableOutput) + + DeleteIdNamespaceAssociation(*cleanrooms.DeleteIdNamespaceAssociationInput) (*cleanrooms.DeleteIdNamespaceAssociationOutput, error) + DeleteIdNamespaceAssociationWithContext(aws.Context, *cleanrooms.DeleteIdNamespaceAssociationInput, ...request.Option) (*cleanrooms.DeleteIdNamespaceAssociationOutput, error) + DeleteIdNamespaceAssociationRequest(*cleanrooms.DeleteIdNamespaceAssociationInput) (*request.Request, *cleanrooms.DeleteIdNamespaceAssociationOutput) + DeleteMember(*cleanrooms.DeleteMemberInput) (*cleanrooms.DeleteMemberOutput, error) DeleteMemberWithContext(aws.Context, *cleanrooms.DeleteMemberInput, ...request.Option) (*cleanrooms.DeleteMemberOutput, error) DeleteMemberRequest(*cleanrooms.DeleteMemberInput) (*request.Request, *cleanrooms.DeleteMemberOutput) @@ -176,6 +188,10 @@ type CleanRoomsAPI interface { GetConfiguredTableAssociationWithContext(aws.Context, *cleanrooms.GetConfiguredTableAssociationInput, ...request.Option) (*cleanrooms.GetConfiguredTableAssociationOutput, error) GetConfiguredTableAssociationRequest(*cleanrooms.GetConfiguredTableAssociationInput) (*request.Request, *cleanrooms.GetConfiguredTableAssociationOutput) + GetIdMappingTable(*cleanrooms.GetIdMappingTableInput) (*cleanrooms.GetIdMappingTableOutput, error) + GetIdMappingTableWithContext(aws.Context, *cleanrooms.GetIdMappingTableInput, ...request.Option) (*cleanrooms.GetIdMappingTableOutput, error) + GetIdMappingTableRequest(*cleanrooms.GetIdMappingTableInput) (*request.Request, *cleanrooms.GetIdMappingTableOutput) + GetMembership(*cleanrooms.GetMembershipInput) (*cleanrooms.GetMembershipOutput, error) GetMembershipWithContext(aws.Context, *cleanrooms.GetMembershipInput, ...request.Option) (*cleanrooms.GetMembershipOutput, error) GetMembershipRequest(*cleanrooms.GetMembershipInput) (*request.Request, *cleanrooms.GetMembershipOutput) @@ -217,6 +233,13 @@ type CleanRoomsAPI interface { ListCollaborationConfiguredAudienceModelAssociationsPages(*cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsInput, func(*cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsOutput, bool) bool) error ListCollaborationConfiguredAudienceModelAssociationsPagesWithContext(aws.Context, *cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsInput, func(*cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsOutput, bool) bool, ...request.Option) error + ListCollaborationIdNamespaceAssociations(*cleanrooms.ListCollaborationIdNamespaceAssociationsInput) (*cleanrooms.ListCollaborationIdNamespaceAssociationsOutput, error) + ListCollaborationIdNamespaceAssociationsWithContext(aws.Context, *cleanrooms.ListCollaborationIdNamespaceAssociationsInput, ...request.Option) (*cleanrooms.ListCollaborationIdNamespaceAssociationsOutput, error) + ListCollaborationIdNamespaceAssociationsRequest(*cleanrooms.ListCollaborationIdNamespaceAssociationsInput) (*request.Request, *cleanrooms.ListCollaborationIdNamespaceAssociationsOutput) + + ListCollaborationIdNamespaceAssociationsPages(*cleanrooms.ListCollaborationIdNamespaceAssociationsInput, func(*cleanrooms.ListCollaborationIdNamespaceAssociationsOutput, bool) bool) error + ListCollaborationIdNamespaceAssociationsPagesWithContext(aws.Context, *cleanrooms.ListCollaborationIdNamespaceAssociationsInput, func(*cleanrooms.ListCollaborationIdNamespaceAssociationsOutput, bool) bool, ...request.Option) error + ListCollaborationPrivacyBudgetTemplates(*cleanrooms.ListCollaborationPrivacyBudgetTemplatesInput) (*cleanrooms.ListCollaborationPrivacyBudgetTemplatesOutput, error) ListCollaborationPrivacyBudgetTemplatesWithContext(aws.Context, *cleanrooms.ListCollaborationPrivacyBudgetTemplatesInput, ...request.Option) (*cleanrooms.ListCollaborationPrivacyBudgetTemplatesOutput, error) ListCollaborationPrivacyBudgetTemplatesRequest(*cleanrooms.ListCollaborationPrivacyBudgetTemplatesInput) (*request.Request, *cleanrooms.ListCollaborationPrivacyBudgetTemplatesOutput) @@ -259,6 +282,20 @@ type CleanRoomsAPI interface { ListConfiguredTablesPages(*cleanrooms.ListConfiguredTablesInput, func(*cleanrooms.ListConfiguredTablesOutput, bool) bool) error ListConfiguredTablesPagesWithContext(aws.Context, *cleanrooms.ListConfiguredTablesInput, func(*cleanrooms.ListConfiguredTablesOutput, bool) bool, ...request.Option) error + ListIdMappingTables(*cleanrooms.ListIdMappingTablesInput) (*cleanrooms.ListIdMappingTablesOutput, error) + ListIdMappingTablesWithContext(aws.Context, *cleanrooms.ListIdMappingTablesInput, ...request.Option) (*cleanrooms.ListIdMappingTablesOutput, error) + ListIdMappingTablesRequest(*cleanrooms.ListIdMappingTablesInput) (*request.Request, *cleanrooms.ListIdMappingTablesOutput) + + ListIdMappingTablesPages(*cleanrooms.ListIdMappingTablesInput, func(*cleanrooms.ListIdMappingTablesOutput, bool) bool) error + ListIdMappingTablesPagesWithContext(aws.Context, *cleanrooms.ListIdMappingTablesInput, func(*cleanrooms.ListIdMappingTablesOutput, bool) bool, ...request.Option) error + + ListIdNamespaceAssociations(*cleanrooms.ListIdNamespaceAssociationsInput) (*cleanrooms.ListIdNamespaceAssociationsOutput, error) + ListIdNamespaceAssociationsWithContext(aws.Context, *cleanrooms.ListIdNamespaceAssociationsInput, ...request.Option) (*cleanrooms.ListIdNamespaceAssociationsOutput, error) + ListIdNamespaceAssociationsRequest(*cleanrooms.ListIdNamespaceAssociationsInput) (*request.Request, *cleanrooms.ListIdNamespaceAssociationsOutput) + + ListIdNamespaceAssociationsPages(*cleanrooms.ListIdNamespaceAssociationsInput, func(*cleanrooms.ListIdNamespaceAssociationsOutput, bool) bool) error + ListIdNamespaceAssociationsPagesWithContext(aws.Context, *cleanrooms.ListIdNamespaceAssociationsInput, func(*cleanrooms.ListIdNamespaceAssociationsOutput, bool) bool, ...request.Option) error + ListMembers(*cleanrooms.ListMembersInput) (*cleanrooms.ListMembersOutput, error) ListMembersWithContext(aws.Context, *cleanrooms.ListMembersInput, ...request.Option) (*cleanrooms.ListMembersOutput, error) ListMembersRequest(*cleanrooms.ListMembersInput) (*request.Request, *cleanrooms.ListMembersOutput) @@ -305,6 +342,10 @@ type CleanRoomsAPI interface { ListTagsForResourceWithContext(aws.Context, *cleanrooms.ListTagsForResourceInput, ...request.Option) (*cleanrooms.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*cleanrooms.ListTagsForResourceInput) (*request.Request, *cleanrooms.ListTagsForResourceOutput) + PopulateIdMappingTable(*cleanrooms.PopulateIdMappingTableInput) (*cleanrooms.PopulateIdMappingTableOutput, error) + PopulateIdMappingTableWithContext(aws.Context, *cleanrooms.PopulateIdMappingTableInput, ...request.Option) (*cleanrooms.PopulateIdMappingTableOutput, error) + PopulateIdMappingTableRequest(*cleanrooms.PopulateIdMappingTableInput) (*request.Request, *cleanrooms.PopulateIdMappingTableOutput) + PreviewPrivacyImpact(*cleanrooms.PreviewPrivacyImpactInput) (*cleanrooms.PreviewPrivacyImpactOutput, error) PreviewPrivacyImpactWithContext(aws.Context, *cleanrooms.PreviewPrivacyImpactInput, ...request.Option) (*cleanrooms.PreviewPrivacyImpactOutput, error) PreviewPrivacyImpactRequest(*cleanrooms.PreviewPrivacyImpactInput) (*request.Request, *cleanrooms.PreviewPrivacyImpactOutput) @@ -345,6 +386,10 @@ type CleanRoomsAPI interface { UpdateConfiguredTableAssociationWithContext(aws.Context, *cleanrooms.UpdateConfiguredTableAssociationInput, ...request.Option) (*cleanrooms.UpdateConfiguredTableAssociationOutput, error) UpdateConfiguredTableAssociationRequest(*cleanrooms.UpdateConfiguredTableAssociationInput) (*request.Request, *cleanrooms.UpdateConfiguredTableAssociationOutput) + UpdateIdMappingTable(*cleanrooms.UpdateIdMappingTableInput) (*cleanrooms.UpdateIdMappingTableOutput, error) + UpdateIdMappingTableWithContext(aws.Context, *cleanrooms.UpdateIdMappingTableInput, ...request.Option) (*cleanrooms.UpdateIdMappingTableOutput, error) + UpdateIdMappingTableRequest(*cleanrooms.UpdateIdMappingTableInput) (*request.Request, *cleanrooms.UpdateIdMappingTableOutput) + UpdateMembership(*cleanrooms.UpdateMembershipInput) (*cleanrooms.UpdateMembershipOutput, error) UpdateMembershipWithContext(aws.Context, *cleanrooms.UpdateMembershipInput, ...request.Option) (*cleanrooms.UpdateMembershipOutput, error) UpdateMembershipRequest(*cleanrooms.UpdateMembershipInput) (*request.Request, *cleanrooms.UpdateMembershipOutput) diff --git a/service/cleanroomsml/api.go b/service/cleanroomsml/api.go index d4184402494..ee49dd33040 100644 --- a/service/cleanroomsml/api.go +++ b/service/cleanroomsml/api.go @@ -2719,15 +2719,20 @@ type AudienceGenerationJobDataSource struct { // {"user_id": "222222"} // // ... - // - // DataSource is a required field - DataSource *S3ConfigMap `locationName:"dataSource" type:"structure" required:"true"` + DataSource *S3ConfigMap `locationName:"dataSource" type:"structure"` - // The ARN of the IAM role that can read the Amazon S3 bucket where the training - // data is stored. + // The ARN of the IAM role that can read the Amazon S3 bucket where the seed + // audience is stored. // // RoleArn is a required field RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"` + + // The protected SQL query parameters. + // + // SqlParameters is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by AudienceGenerationJobDataSource's + // String and GoString methods. + SqlParameters *ProtectedQuerySQLParameters `locationName:"sqlParameters" type:"structure" sensitive:"true"` } // String returns the string representation. @@ -2751,9 +2756,6 @@ func (s AudienceGenerationJobDataSource) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *AudienceGenerationJobDataSource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AudienceGenerationJobDataSource"} - if s.DataSource == nil { - invalidParams.Add(request.NewErrParamRequired("DataSource")) - } if s.RoleArn == nil { invalidParams.Add(request.NewErrParamRequired("RoleArn")) } @@ -2784,6 +2786,12 @@ func (s *AudienceGenerationJobDataSource) SetRoleArn(v string) *AudienceGenerati return s } +// SetSqlParameters sets the SqlParameters field's value. +func (s *AudienceGenerationJobDataSource) SetSqlParameters(v *ProtectedQuerySQLParameters) *AudienceGenerationJobDataSource { + s.SqlParameters = v + return s +} + // Provides information about the configured audience generation job. type AudienceGenerationJobSummary struct { _ struct{} `type:"structure"` @@ -3117,10 +3125,12 @@ func (s *AudienceSize) SetValue(v int64) *AudienceSize { return s } -// Configure the list of audience output sizes that can be created. A request -// to StartAudienceGenerationJob that uses this configured audience model must -// have an audienceSize selected from this list. You can use the ABSOLUTE AudienceSize -// to configure out audience sizes using the count of identifiers in the output. +// Returns the relevance scores at these audience sizes when used in the GetAudienceGenerationJob +// for a specified audience generation job and configured audience model. +// +// Specifies the list of allowed audienceSize values when used in the StartAudienceExportJob +// for an audience generation job. You can use the ABSOLUTE AudienceSize to +// configure out audience sizes using the count of identifiers in the output. // You can use the Percentage AudienceSize to configure sizes in the range 1-100 // percent. type AudienceSizeConfig struct { @@ -4743,6 +4753,10 @@ type GetAudienceGenerationJobOutput struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // The unique identifier of the protected query for this audience generation + // job. + ProtectedQueryIdentifier *string `locationName:"protectedQueryIdentifier" type:"string"` + // The seed audience that was used for this audience generation job. This field // will be null if the account calling the API is the account that started this // audience generation job. @@ -4834,6 +4848,12 @@ func (s *GetAudienceGenerationJobOutput) SetName(v string) *GetAudienceGeneratio return s } +// SetProtectedQueryIdentifier sets the ProtectedQueryIdentifier field's value. +func (s *GetAudienceGenerationJobOutput) SetProtectedQueryIdentifier(v string) *GetAudienceGenerationJobOutput { + s.ProtectedQueryIdentifier = &v + return s +} + // SetSeedAudience sets the SeedAudience field's value. func (s *GetAudienceGenerationJobOutput) SetSeedAudience(v *AudienceGenerationJobDataSource) *GetAudienceGenerationJobOutput { s.SeedAudience = v @@ -6249,6 +6269,57 @@ func (s *ListTrainingDatasetsOutput) SetTrainingDatasets(v []*TrainingDatasetSum return s } +// The parameters for the SQL type Protected Query. +type ProtectedQuerySQLParameters struct { + _ struct{} `type:"structure" sensitive:"true"` + + // The Amazon Resource Name (ARN) associated with the analysis template within + // a collaboration. + AnalysisTemplateArn *string `locationName:"analysisTemplateArn" type:"string"` + + // The protected query SQL parameters. + Parameters map[string]*string `locationName:"parameters" type:"map"` + + // The query string to be submitted. + QueryString *string `locationName:"queryString" 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 ProtectedQuerySQLParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProtectedQuerySQLParameters) GoString() string { + return s.String() +} + +// SetAnalysisTemplateArn sets the AnalysisTemplateArn field's value. +func (s *ProtectedQuerySQLParameters) SetAnalysisTemplateArn(v string) *ProtectedQuerySQLParameters { + s.AnalysisTemplateArn = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *ProtectedQuerySQLParameters) SetParameters(v map[string]*string) *ProtectedQuerySQLParameters { + s.Parameters = v + return s +} + +// SetQueryString sets the QueryString field's value. +func (s *ProtectedQuerySQLParameters) SetQueryString(v string) *ProtectedQuerySQLParameters { + s.QueryString = &v + return s +} + type PutConfiguredAudienceModelPolicyInput struct { _ struct{} `type:"structure"` diff --git a/service/connect/api.go b/service/connect/api.go index 34650799aee..856ab0f9ffd 100644 --- a/service/connect/api.go +++ b/service/connect/api.go @@ -50201,6 +50201,8 @@ type GetMetricDataV2Input struct { // // * Agents // + // * Campaigns + // // * Channels // // * Feature @@ -50216,6 +50218,9 @@ type GetMetricDataV2Input struct { // At least one filter must be passed from queues, routing profiles, agents, // or user hierarchy groups. // + // For metrics for outbound campaigns analytics, you can also use campaigns + // to satisfy at least one filter requirement. + // // To filter by phone number, see Create a historical metrics report (https://docs.aws.amazon.com/connect/latest/adminguide/create-historical-metrics-report.html) // in the Amazon Connect Administrator Guide. // @@ -50224,7 +50229,8 @@ type GetMetricDataV2Input struct { // * Filter keys: A maximum of 5 filter keys are supported in a single request. // Valid filter keys: AGENT | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO // | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE - // | CASE_TEMPLATE_ARN | CASE_STATUS | CHANNEL | contact/segmentAttributes/connect:Subtype + // | ANSWERING_MACHINE_DETECTION_STATUS | CAMPAIGN | CASE_TEMPLATE_ARN | + // CASE_STATUS | CHANNEL | contact/segmentAttributes/connect:Subtype | DISCONNECT_REASON // | FEATURE | FLOW_TYPE | FLOWS_NEXT_RESOURCE_ID | FLOWS_NEXT_RESOURCE_QUEUE_ID // | FLOWS_OUTCOME_TYPE | FLOWS_RESOURCE_ID | INITIATION_METHOD | RESOURCE_PUBLISHED_TIMESTAMP // | ROUTING_PROFILE | ROUTING_STEP_EXPRESSION | QUEUE | Q_CONNECT_ENABLED @@ -50247,7 +50253,8 @@ type GetMetricDataV2Input struct { // key. TRUE includes all contacts that had Amazon Q in Connect enabled as // part of the flow. FALSE includes all contacts that did not have Amazon // Q in Connect enabled as part of the flow This filter is available only - // for contact record-driven metrics. + // for contact record-driven metrics. Campaign (https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-outbound-campaigns_Campaign.html) + // ARNs are valid filterValues for the CAMPAIGN filter key. // // Filters is a required field Filters []*FilterV2 `min:"1" type:"list" required:"true"` @@ -50261,7 +50268,8 @@ type GetMetricDataV2Input struct { // // Valid grouping keys: AGENT | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO // | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE - // | CASE_TEMPLATE_ARN | CASE_STATUS | CHANNEL | contact/segmentAttributes/connect:Subtype + // | ANSWERING_MACHINE_DETECTION_STATUS | CAMPAIGN | CASE_TEMPLATE_ARN | CASE_STATUS + // | CHANNEL | contact/segmentAttributes/connect:Subtype | DISCONNECT_REASON // | FLOWS_RESOURCE_ID | FLOWS_MODULE_RESOURCE_ID | FLOW_TYPE | FLOWS_OUTCOME_TYPE // | INITIATION_METHOD | Q_CONNECT_ENABLED | QUEUE | RESOURCE_PUBLISHED_TIMESTAMP // | ROUTING_PROFILE | ROUTING_STEP_EXPRESSION @@ -50483,6 +50491,17 @@ type GetMetricDataV2Input struct { // // UI name: Average conversation duration (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html#average-conversation-duration-historical) // + // AVG_DIALS_PER_MINUTE + // + // This metric is available only for contacts analyzed by outbound campaigns + // analytics. + // + // Unit: Count + // + // Valid groupings and filters: Campaign, Agent, Queue, Routing Profile + // + // UI name: Average dials per minute (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html#average-dials-historical) + // // AVG_FLOW_TIME // // Unit: Seconds @@ -50662,6 +50681,45 @@ type GetMetricDataV2Input struct { // // UI name: Average customer talk time (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html#average-talk-time-customer-historical) // + // AVG_WAIT_TIME_AFTER_CUSTOMER_CONNECTION + // + // This metric is available only for contacts analyzed by outbound campaigns + // analytics. + // + // Unit: Seconds + // + // Valid groupings and filters: Campaign + // + // UI name: Average wait time after customer connection (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html#average-wait-time-historical) + // + // CAMPAIGN_CONTACTS_ABANDONED_AFTER_X + // + // This metric is available only for contacts analyzed by outbound campaigns + // analytics. + // + // Unit: Count + // + // Valid groupings and filters: Campaign, Agent + // + // Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), + // in seconds. For Comparison, you must enter GT (for Greater than). + // + // UI name: Campaign contacts abandoned after X (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html#campaign-contacts-abandoned-historical) + // + // CAMPAIGN_CONTACTS_ABANDONED_AFTER_X_RATE + // + // This metric is available only for contacts analyzed by outbound campaigns + // analytics. + // + // Unit: Percent + // + // Valid groupings and filters: Campaign, Agent + // + // Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), + // in seconds. For Comparison, you must enter GT (for Greater than). + // + // UI name: Campaign contacts abandoned after X rate (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html#campaign-contacts-abandoned-rate-historical) + // // CASES_CREATED // // Unit: Count @@ -50670,7 +50728,7 @@ type GetMetricDataV2Input struct { // // Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS // - // UI name: Cases created (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html##cases-created-historical) + // UI name: Cases created (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html#cases-created-historical) // // CONTACTS_CREATED // @@ -50843,6 +50901,37 @@ type GetMetricDataV2Input struct { // // UI name: Current cases (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html#current-cases-historical) // + // DELIVERY_ATTEMPTS + // + // This metric is available only for contacts analyzed by outbound campaigns + // analytics. + // + // Unit: Count + // + // Valid metric filter key: ANSWERING_MACHINE_DETECTION_STATUS, DISCONNECT_REASON + // + // Valid groupings and filters: Campaign, Agent, Queue, Routing Profile, Answering + // Machine Detection Status, Disconnect Reason + // + // UI name: Delivery attempts (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html#delivery-attempts-historical) + // + // DELIVERY_ATTEMPT_DISPOSITION_RATE + // + // This metric is available only for contacts analyzed by outbound campaigns + // analytics, and with the answering machine detection enabled. + // + // Unit: Percent + // + // Valid metric filter key: ANSWERING_MACHINE_DETECTION_STATUS, DISCONNECT_REASON + // + // Valid groupings and filters: Campaign, Agent, Answering Machine Detection + // Status, Disconnect Reason + // + // Answering Machine Detection Status and Disconnect Reason are valid filters + // but not valid groupings. + // + // UI name: Delivery attempt disposition rate (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html#delivery-attempt-disposition-rate-historical) + // // FLOWS_OUTCOME // // Unit: Count @@ -50864,6 +50953,17 @@ type GetMetricDataV2Input struct { // // UI name: Flows started (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html#flows-started-historical) // + // HUMAN_ANSWERED_CALLS + // + // This metric is available only for contacts analyzed by outbound campaigns + // analytics, and with the answering machine detection enabled. + // + // Unit: Count + // + // Valid groupings and filters: Campaign, Agent + // + // UI name: Human answered (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html#human-answered-historical) + // // MAX_FLOW_TIME // // Unit: Seconds @@ -64539,6 +64639,74 @@ func (s *RealTimeContactAnalysisSegmentIssues) SetIssuesDetected(v []*RealTimeCo return s } +// Information about the post-contact summary for a real-time contact segment. +type RealTimeContactAnalysisSegmentPostContactSummary struct { + _ struct{} `type:"structure"` + + // The content of the summary. + Content *string `min:"1" type:"string"` + + // If the summary failed to be generated, one of the following failure codes + // occurs: + // + // * QUOTA_EXCEEDED: The number of concurrent analytics jobs reached your + // service quota. + // + // * INSUFFICIENT_CONVERSATION_CONTENT: The conversation needs to have at + // least one turn from both the participants in order to generate the summary. + // + // * FAILED_SAFETY_GUIDELINES: The generated summary cannot be provided because + // it failed to meet system safety guidelines. + // + // * INVALID_ANALYSIS_CONFIGURATION: This code occurs when, for example, + // you're using a language (https://docs.aws.amazon.com/connect/latest/adminguide/supported-languages.html#supported-languages-contact-lens) + // that isn't supported by generative AI-powered post-contact summaries. + // + // * INTERNAL_ERROR: Internal system error. + FailureCode *string `type:"string" enum:"RealTimeContactAnalysisPostContactSummaryFailureCode"` + + // Whether the summary was successfully COMPLETED or FAILED to be generated. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"RealTimeContactAnalysisPostContactSummaryStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RealTimeContactAnalysisSegmentPostContactSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RealTimeContactAnalysisSegmentPostContactSummary) GoString() string { + return s.String() +} + +// SetContent sets the Content field's value. +func (s *RealTimeContactAnalysisSegmentPostContactSummary) SetContent(v string) *RealTimeContactAnalysisSegmentPostContactSummary { + s.Content = &v + return s +} + +// SetFailureCode sets the FailureCode field's value. +func (s *RealTimeContactAnalysisSegmentPostContactSummary) SetFailureCode(v string) *RealTimeContactAnalysisSegmentPostContactSummary { + s.FailureCode = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *RealTimeContactAnalysisSegmentPostContactSummary) SetStatus(v string) *RealTimeContactAnalysisSegmentPostContactSummary { + s.Status = &v + return s +} + // The analyzed transcript segment. type RealTimeContactAnalysisSegmentTranscript struct { _ struct{} `type:"structure"` @@ -64840,6 +65008,9 @@ type RealtimeContactAnalysisSegment struct { // Segment type containing a list of detected issues. Issues *RealTimeContactAnalysisSegmentIssues `type:"structure"` + // Information about the post-contact summary. + PostContactSummary *RealTimeContactAnalysisSegmentPostContactSummary `type:"structure"` + // The analyzed transcript segment. Transcript *RealTimeContactAnalysisSegmentTranscript `type:"structure"` } @@ -64886,6 +65057,12 @@ func (s *RealtimeContactAnalysisSegment) SetIssues(v *RealTimeContactAnalysisSeg return s } +// SetPostContactSummary sets the PostContactSummary field's value. +func (s *RealtimeContactAnalysisSegment) SetPostContactSummary(v *RealTimeContactAnalysisSegmentPostContactSummary) *RealtimeContactAnalysisSegment { + s.PostContactSummary = v + return s +} + // SetTranscript sets the Transcript field's value. func (s *RealtimeContactAnalysisSegment) SetTranscript(v *RealTimeContactAnalysisSegmentTranscript) *RealtimeContactAnalysisSegment { s.Transcript = v @@ -74230,7 +74407,8 @@ func (s *Threshold) SetThresholdValue(v float64) *Threshold { type ThresholdV2 struct { _ struct{} `type:"structure"` - // The type of comparison. Only "less than" (LT) comparisons are supported. + // The type of comparison. Only "less than" (LT) and "greater than" (GT) comparisons + // are supported. Comparison *string `min:"1" type:"string"` // The threshold value to compare. @@ -85762,6 +85940,50 @@ func RealTimeContactAnalysisOutputType_Values() []string { } } +const ( + // RealTimeContactAnalysisPostContactSummaryFailureCodeQuotaExceeded is a RealTimeContactAnalysisPostContactSummaryFailureCode enum value + RealTimeContactAnalysisPostContactSummaryFailureCodeQuotaExceeded = "QUOTA_EXCEEDED" + + // RealTimeContactAnalysisPostContactSummaryFailureCodeInsufficientConversationContent is a RealTimeContactAnalysisPostContactSummaryFailureCode enum value + RealTimeContactAnalysisPostContactSummaryFailureCodeInsufficientConversationContent = "INSUFFICIENT_CONVERSATION_CONTENT" + + // RealTimeContactAnalysisPostContactSummaryFailureCodeFailedSafetyGuidelines is a RealTimeContactAnalysisPostContactSummaryFailureCode enum value + RealTimeContactAnalysisPostContactSummaryFailureCodeFailedSafetyGuidelines = "FAILED_SAFETY_GUIDELINES" + + // RealTimeContactAnalysisPostContactSummaryFailureCodeInvalidAnalysisConfiguration is a RealTimeContactAnalysisPostContactSummaryFailureCode enum value + RealTimeContactAnalysisPostContactSummaryFailureCodeInvalidAnalysisConfiguration = "INVALID_ANALYSIS_CONFIGURATION" + + // RealTimeContactAnalysisPostContactSummaryFailureCodeInternalError is a RealTimeContactAnalysisPostContactSummaryFailureCode enum value + RealTimeContactAnalysisPostContactSummaryFailureCodeInternalError = "INTERNAL_ERROR" +) + +// RealTimeContactAnalysisPostContactSummaryFailureCode_Values returns all elements of the RealTimeContactAnalysisPostContactSummaryFailureCode enum +func RealTimeContactAnalysisPostContactSummaryFailureCode_Values() []string { + return []string{ + RealTimeContactAnalysisPostContactSummaryFailureCodeQuotaExceeded, + RealTimeContactAnalysisPostContactSummaryFailureCodeInsufficientConversationContent, + RealTimeContactAnalysisPostContactSummaryFailureCodeFailedSafetyGuidelines, + RealTimeContactAnalysisPostContactSummaryFailureCodeInvalidAnalysisConfiguration, + RealTimeContactAnalysisPostContactSummaryFailureCodeInternalError, + } +} + +const ( + // RealTimeContactAnalysisPostContactSummaryStatusFailed is a RealTimeContactAnalysisPostContactSummaryStatus enum value + RealTimeContactAnalysisPostContactSummaryStatusFailed = "FAILED" + + // RealTimeContactAnalysisPostContactSummaryStatusCompleted is a RealTimeContactAnalysisPostContactSummaryStatus enum value + RealTimeContactAnalysisPostContactSummaryStatusCompleted = "COMPLETED" +) + +// RealTimeContactAnalysisPostContactSummaryStatus_Values returns all elements of the RealTimeContactAnalysisPostContactSummaryStatus enum +func RealTimeContactAnalysisPostContactSummaryStatus_Values() []string { + return []string{ + RealTimeContactAnalysisPostContactSummaryStatusFailed, + RealTimeContactAnalysisPostContactSummaryStatusCompleted, + } +} + const ( // RealTimeContactAnalysisSegmentTypeTranscript is a RealTimeContactAnalysisSegmentType enum value RealTimeContactAnalysisSegmentTypeTranscript = "Transcript" @@ -85777,6 +85999,9 @@ const ( // RealTimeContactAnalysisSegmentTypeAttachments is a RealTimeContactAnalysisSegmentType enum value RealTimeContactAnalysisSegmentTypeAttachments = "Attachments" + + // RealTimeContactAnalysisSegmentTypePostContactSummary is a RealTimeContactAnalysisSegmentType enum value + RealTimeContactAnalysisSegmentTypePostContactSummary = "PostContactSummary" ) // RealTimeContactAnalysisSegmentType_Values returns all elements of the RealTimeContactAnalysisSegmentType enum @@ -85787,6 +86012,7 @@ func RealTimeContactAnalysisSegmentType_Values() []string { RealTimeContactAnalysisSegmentTypeIssues, RealTimeContactAnalysisSegmentTypeEvent, RealTimeContactAnalysisSegmentTypeAttachments, + RealTimeContactAnalysisSegmentTypePostContactSummary, } } diff --git a/service/connectcontactlens/api.go b/service/connectcontactlens/api.go index cf6c2f73567..9f2e5f97775 100644 --- a/service/connectcontactlens/api.go +++ b/service/connectcontactlens/api.go @@ -524,7 +524,7 @@ type ListRealtimeContactAnalysisSegmentsInput struct { // InstanceId is a required field InstanceId *string `min:"1" type:"string" required:"true"` - // The maximimum number of results to return per page. + // The maximum number of results to return per page. MaxResults *int64 `min:"1" type:"integer"` // The token for the next set of results. Use the value returned in the previous @@ -699,6 +699,74 @@ func (s *PointOfInterest) SetEndOffsetMillis(v int64) *PointOfInterest { return s } +// Information about the post-contact summary. +type PostContactSummary struct { + _ struct{} `type:"structure"` + + // The content of the summary. + Content *string `min:"1" type:"string"` + + // If the summary failed to be generated, one of the following failure codes + // occurs: + // + // * QUOTA_EXCEEDED: The number of concurrent analytics jobs reached your + // service quota. + // + // * INSUFFICIENT_CONVERSATION_CONTENT: The conversation needs to have at + // least one turn from both the participants in order to generate the summary. + // + // * FAILED_SAFETY_GUIDELINES: The generated summary cannot be provided because + // it failed to meet system safety guidelines. + // + // * INVALID_ANALYSIS_CONFIGURATION: This code occurs when, for example, + // you're using a language (https://docs.aws.amazon.com/connect/latest/adminguide/supported-languages.html#supported-languages-contact-lens) + // that isn't supported by generative AI-powered post-contact summaries. + // + // * INTERNAL_ERROR: Internal system error. + FailureCode *string `type:"string" enum:"PostContactSummaryFailureCode"` + + // Whether the summary was successfully COMPLETED or FAILED to be generated. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"PostContactSummaryStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PostContactSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PostContactSummary) GoString() string { + return s.String() +} + +// SetContent sets the Content field's value. +func (s *PostContactSummary) SetContent(v string) *PostContactSummary { + s.Content = &v + return s +} + +// SetFailureCode sets the FailureCode field's value. +func (s *PostContactSummary) SetFailureCode(v string) *PostContactSummary { + s.FailureCode = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *PostContactSummary) SetStatus(v string) *PostContactSummary { + s.Status = &v + return s +} + // An analyzed segment for a real-time analysis session. type RealtimeContactAnalysisSegment struct { _ struct{} `type:"structure"` @@ -706,6 +774,9 @@ type RealtimeContactAnalysisSegment struct { // The matched category rules. Categories *Categories `type:"structure"` + // Information about the post-contact summary. + PostContactSummary *PostContactSummary `type:"structure"` + // The analyzed transcript. Transcript *Transcript `type:"structure"` } @@ -734,6 +805,12 @@ func (s *RealtimeContactAnalysisSegment) SetCategories(v *Categories) *RealtimeC return s } +// SetPostContactSummary sets the PostContactSummary field's value. +func (s *RealtimeContactAnalysisSegment) SetPostContactSummary(v *PostContactSummary) *RealtimeContactAnalysisSegment { + s.PostContactSummary = v + return s +} + // SetTranscript sets the Transcript field's value. func (s *RealtimeContactAnalysisSegment) SetTranscript(v *Transcript) *RealtimeContactAnalysisSegment { s.Transcript = v @@ -895,7 +972,7 @@ type Transcript struct { // List of positions where issues were detected on the transcript. IssuesDetected []*IssueDetected `type:"list"` - // The identifier of the participant. + // The identifier of the participant. Valid values are CUSTOMER or AGENT. // // ParticipantId is a required field ParticipantId *string `min:"1" type:"string" required:"true"` @@ -905,7 +982,7 @@ type Transcript struct { // ParticipantRole is a required field ParticipantRole *string `min:"1" type:"string" required:"true"` - // The sentiment of the detected for this piece of transcript. + // The sentiment detected for this piece of transcript. // // Sentiment is a required field Sentiment *string `type:"string" required:"true" enum:"SentimentValue"` @@ -977,6 +1054,50 @@ func (s *Transcript) SetSentiment(v string) *Transcript { return s } +const ( + // PostContactSummaryFailureCodeQuotaExceeded is a PostContactSummaryFailureCode enum value + PostContactSummaryFailureCodeQuotaExceeded = "QUOTA_EXCEEDED" + + // PostContactSummaryFailureCodeInsufficientConversationContent is a PostContactSummaryFailureCode enum value + PostContactSummaryFailureCodeInsufficientConversationContent = "INSUFFICIENT_CONVERSATION_CONTENT" + + // PostContactSummaryFailureCodeFailedSafetyGuidelines is a PostContactSummaryFailureCode enum value + PostContactSummaryFailureCodeFailedSafetyGuidelines = "FAILED_SAFETY_GUIDELINES" + + // PostContactSummaryFailureCodeInvalidAnalysisConfiguration is a PostContactSummaryFailureCode enum value + PostContactSummaryFailureCodeInvalidAnalysisConfiguration = "INVALID_ANALYSIS_CONFIGURATION" + + // PostContactSummaryFailureCodeInternalError is a PostContactSummaryFailureCode enum value + PostContactSummaryFailureCodeInternalError = "INTERNAL_ERROR" +) + +// PostContactSummaryFailureCode_Values returns all elements of the PostContactSummaryFailureCode enum +func PostContactSummaryFailureCode_Values() []string { + return []string{ + PostContactSummaryFailureCodeQuotaExceeded, + PostContactSummaryFailureCodeInsufficientConversationContent, + PostContactSummaryFailureCodeFailedSafetyGuidelines, + PostContactSummaryFailureCodeInvalidAnalysisConfiguration, + PostContactSummaryFailureCodeInternalError, + } +} + +const ( + // PostContactSummaryStatusFailed is a PostContactSummaryStatus enum value + PostContactSummaryStatusFailed = "FAILED" + + // PostContactSummaryStatusCompleted is a PostContactSummaryStatus enum value + PostContactSummaryStatusCompleted = "COMPLETED" +) + +// PostContactSummaryStatus_Values returns all elements of the PostContactSummaryStatus enum +func PostContactSummaryStatus_Values() []string { + return []string{ + PostContactSummaryStatusFailed, + PostContactSummaryStatusCompleted, + } +} + const ( // SentimentValuePositive is a SentimentValue enum value SentimentValuePositive = "POSITIVE" diff --git a/service/connectcontactlens/doc.go b/service/connectcontactlens/doc.go index 7fdee8dc73b..82728c663e9 100644 --- a/service/connectcontactlens/doc.go +++ b/service/connectcontactlens/doc.go @@ -3,14 +3,18 @@ // Package connectcontactlens provides the client and types for making API // requests to Amazon Connect Contact Lens. // -// Contact Lens for Amazon Connect enables you to analyze conversations between +// - Contact Lens actions (https://docs.aws.amazon.com/connect/latest/APIReference/API_Operations_Amazon_Connect_Contact_Lens.html) +// +// - Contact Lens data types (https://docs.aws.amazon.com/connect/latest/APIReference/API_Types_Amazon_Connect_Contact_Lens.html) +// +// Amazon Connect Contact Lens enables you to analyze conversations between // customer and agents, by using speech transcription, natural language processing, // and intelligent search capabilities. It performs sentiment analysis, detects // issues, and enables you to automatically categorize contacts. // -// Contact Lens for Amazon Connect provides both real-time and post-call analytics +// Amazon Connect Contact Lens provides both real-time and post-call analytics // of customer-agent conversations. For more information, see Analyze conversations -// using Contact Lens (https://docs.aws.amazon.com/connect/latest/adminguide/analyze-conversations.html) +// using speech analytics (https://docs.aws.amazon.com/connect/latest/adminguide/analyze-conversations.html) // in the Amazon Connect Administrator Guide. // // See https://docs.aws.amazon.com/goto/WebAPI/connect-contact-lens-2020-08-21 for more information on this service. diff --git a/service/datazone/api.go b/service/datazone/api.go index af36e229660..ac7a59e9a20 100644 --- a/service/datazone/api.go +++ b/service/datazone/api.go @@ -21105,166 +21105,6 @@ func (s *CustomParameter) SetKeyName(v string) *CustomParameter { return s } -// Deprecated: This structure is deprecated. -type DataProductItem struct { - _ struct{} `deprecated:"true" type:"structure"` - - DomainId *string `locationName:"domainId" type:"string"` - - ItemId *string `locationName:"itemId" 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 DataProductItem) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DataProductItem) GoString() string { - return s.String() -} - -// SetDomainId sets the DomainId field's value. -func (s *DataProductItem) SetDomainId(v string) *DataProductItem { - s.DomainId = &v - return s -} - -// SetItemId sets the ItemId field's value. -func (s *DataProductItem) SetItemId(v string) *DataProductItem { - s.ItemId = &v - return s -} - -// Deprecated: This structure is deprecated. -type DataProductSummary struct { - _ struct{} `deprecated:"true" type:"structure"` - - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - - CreatedBy *string `locationName:"createdBy" type:"string"` - - DataProductItems []*DataProductItem `locationName:"dataProductItems" deprecated:"true" type:"list"` - - // Description is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by DataProductSummary's - // String and GoString methods. - Description *string `locationName:"description" min:"1" type:"string" sensitive:"true"` - - // DomainId is a required field - DomainId *string `locationName:"domainId" type:"string" required:"true"` - - GlossaryTerms []*string `locationName:"glossaryTerms" min:"1" type:"list"` - - // Id is a required field - Id *string `locationName:"id" type:"string" required:"true"` - - // Name is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by DataProductSummary's - // String and GoString methods. - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true" sensitive:"true"` - - // OwningProjectId is a required field - OwningProjectId *string `locationName:"owningProjectId" type:"string" required:"true"` - - UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` - - UpdatedBy *string `locationName:"updatedBy" 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 DataProductSummary) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DataProductSummary) GoString() string { - return s.String() -} - -// SetCreatedAt sets the CreatedAt field's value. -func (s *DataProductSummary) SetCreatedAt(v time.Time) *DataProductSummary { - s.CreatedAt = &v - return s -} - -// SetCreatedBy sets the CreatedBy field's value. -func (s *DataProductSummary) SetCreatedBy(v string) *DataProductSummary { - s.CreatedBy = &v - return s -} - -// SetDataProductItems sets the DataProductItems field's value. -func (s *DataProductSummary) SetDataProductItems(v []*DataProductItem) *DataProductSummary { - s.DataProductItems = v - return s -} - -// SetDescription sets the Description field's value. -func (s *DataProductSummary) SetDescription(v string) *DataProductSummary { - s.Description = &v - return s -} - -// SetDomainId sets the DomainId field's value. -func (s *DataProductSummary) SetDomainId(v string) *DataProductSummary { - s.DomainId = &v - return s -} - -// SetGlossaryTerms sets the GlossaryTerms field's value. -func (s *DataProductSummary) SetGlossaryTerms(v []*string) *DataProductSummary { - s.GlossaryTerms = v - return s -} - -// SetId sets the Id field's value. -func (s *DataProductSummary) SetId(v string) *DataProductSummary { - s.Id = &v - return s -} - -// SetName sets the Name field's value. -func (s *DataProductSummary) SetName(v string) *DataProductSummary { - s.Name = &v - return s -} - -// SetOwningProjectId sets the OwningProjectId field's value. -func (s *DataProductSummary) SetOwningProjectId(v string) *DataProductSummary { - s.OwningProjectId = &v - return s -} - -// SetUpdatedAt sets the UpdatedAt field's value. -func (s *DataProductSummary) SetUpdatedAt(v time.Time) *DataProductSummary { - s.UpdatedAt = &v - return s -} - -// SetUpdatedBy sets the UpdatedBy field's value. -func (s *DataProductSummary) SetUpdatedBy(v string) *DataProductSummary { - s.UpdatedBy = &v - return s -} - // The configuration of the data source. type DataSourceConfigurationInput_ struct { _ struct{} `type:"structure"` @@ -40275,11 +40115,6 @@ type SearchInventoryResultItem struct { // The asset item included in the search results. AssetItem *AssetItem `locationName:"assetItem" type:"structure"` - // The data product item included in the search results. - // - // Deprecated: This field is deprecated. - DataProductItem *DataProductSummary `locationName:"dataProductItem" deprecated:"true" type:"structure"` - // The glossary item included in the search results. GlossaryItem *GlossaryItem `locationName:"glossaryItem" type:"structure"` @@ -40311,12 +40146,6 @@ func (s *SearchInventoryResultItem) SetAssetItem(v *AssetItem) *SearchInventoryR return s } -// SetDataProductItem sets the DataProductItem field's value. -func (s *SearchInventoryResultItem) SetDataProductItem(v *DataProductSummary) *SearchInventoryResultItem { - s.DataProductItem = v - return s -} - // SetGlossaryItem sets the GlossaryItem field's value. func (s *SearchInventoryResultItem) SetGlossaryItem(v *GlossaryItem) *SearchInventoryResultItem { s.GlossaryItem = v diff --git a/service/entityresolution/api.go b/service/entityresolution/api.go index 06fe8ca68d6..82936325ce5 100644 --- a/service/entityresolution/api.go +++ b/service/entityresolution/api.go @@ -69,27 +69,25 @@ func (c *EntityResolution) AddPolicyStatementRequest(input *AddPolicyStatementIn // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, -// Workflow is currently running, etc. HTTP Status Code: 400 +// Workflow is currently running, etc. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/AddPolicyStatement func (c *EntityResolution) AddPolicyStatement(input *AddPolicyStatementInput) (*AddPolicyStatementOutput, error) { @@ -169,14 +167,13 @@ func (c *EntityResolution) BatchDeleteUniqueIdRequest(input *BatchDeleteUniqueId // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/BatchDeleteUniqueId func (c *EntityResolution) BatchDeleteUniqueId(input *BatchDeleteUniqueIdInput) (*BatchDeleteUniqueIdOutput, error) { @@ -258,29 +255,27 @@ func (c *EntityResolution) CreateIdMappingWorkflowRequest(input *CreateIdMapping // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ExceedsLimitException // The request was rejected because it attempted to create resources beyond // the current Entity Resolution account limits. The error message describes -// the limit exceeded. HTTP Status Code: 402 +// the limit exceeded. // // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, -// Workflow is currently running, etc. HTTP Status Code: 400 +// Workflow is currently running, etc. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/CreateIdMappingWorkflow func (c *EntityResolution) CreateIdMappingWorkflow(input *CreateIdMappingWorkflowInput) (*CreateIdMappingWorkflowOutput, error) { @@ -362,29 +357,27 @@ func (c *EntityResolution) CreateIdNamespaceRequest(input *CreateIdNamespaceInpu // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ExceedsLimitException // The request was rejected because it attempted to create resources beyond // the current Entity Resolution account limits. The error message describes -// the limit exceeded. HTTP Status Code: 402 +// the limit exceeded. // // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, -// Workflow is currently running, etc. HTTP Status Code: 400 +// Workflow is currently running, etc. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/CreateIdNamespace func (c *EntityResolution) CreateIdNamespace(input *CreateIdNamespaceInput) (*CreateIdNamespaceOutput, error) { @@ -466,29 +459,27 @@ func (c *EntityResolution) CreateMatchingWorkflowRequest(input *CreateMatchingWo // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ExceedsLimitException // The request was rejected because it attempted to create resources beyond // the current Entity Resolution account limits. The error message describes -// the limit exceeded. HTTP Status Code: 402 +// the limit exceeded. // // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, -// Workflow is currently running, etc. HTTP Status Code: 400 +// Workflow is currently running, etc. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/CreateMatchingWorkflow func (c *EntityResolution) CreateMatchingWorkflow(input *CreateMatchingWorkflowInput) (*CreateMatchingWorkflowOutput, error) { @@ -570,29 +561,27 @@ func (c *EntityResolution) CreateSchemaMappingRequest(input *CreateSchemaMapping // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ExceedsLimitException // The request was rejected because it attempted to create resources beyond // the current Entity Resolution account limits. The error message describes -// the limit exceeded. HTTP Status Code: 402 +// the limit exceeded. // // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, -// Workflow is currently running, etc. HTTP Status Code: 400 +// Workflow is currently running, etc. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/CreateSchemaMapping func (c *EntityResolution) CreateSchemaMapping(input *CreateSchemaMappingInput) (*CreateSchemaMappingOutput, error) { @@ -672,24 +661,22 @@ func (c *EntityResolution) DeleteIdMappingWorkflowRequest(input *DeleteIdMapping // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, -// Workflow is currently running, etc. HTTP Status Code: 400 +// Workflow is currently running, etc. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/DeleteIdMappingWorkflow func (c *EntityResolution) DeleteIdMappingWorkflow(input *DeleteIdMappingWorkflowInput) (*DeleteIdMappingWorkflowOutput, error) { @@ -768,19 +755,17 @@ func (c *EntityResolution) DeleteIdNamespaceRequest(input *DeleteIdNamespaceInpu // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/DeleteIdNamespace func (c *EntityResolution) DeleteIdNamespace(input *DeleteIdNamespaceInput) (*DeleteIdNamespaceOutput, error) { @@ -860,24 +845,22 @@ func (c *EntityResolution) DeleteMatchingWorkflowRequest(input *DeleteMatchingWo // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, -// Workflow is currently running, etc. HTTP Status Code: 400 +// Workflow is currently running, etc. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/DeleteMatchingWorkflow func (c *EntityResolution) DeleteMatchingWorkflow(input *DeleteMatchingWorkflowInput) (*DeleteMatchingWorkflowOutput, error) { @@ -956,27 +939,25 @@ func (c *EntityResolution) DeletePolicyStatementRequest(input *DeletePolicyState // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, -// Workflow is currently running, etc. HTTP Status Code: 400 +// Workflow is currently running, etc. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/DeletePolicyStatement func (c *EntityResolution) DeletePolicyStatement(input *DeletePolicyStatementInput) (*DeletePolicyStatementOutput, error) { @@ -1058,24 +1039,22 @@ func (c *EntityResolution) DeleteSchemaMappingRequest(input *DeleteSchemaMapping // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, -// Workflow is currently running, etc. HTTP Status Code: 400 +// Workflow is currently running, etc. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/DeleteSchemaMapping func (c *EntityResolution) DeleteSchemaMapping(input *DeleteSchemaMappingInput) (*DeleteSchemaMappingOutput, error) { @@ -1155,22 +1134,20 @@ func (c *EntityResolution) GetIdMappingJobRequest(input *GetIdMappingJobInput) ( // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/GetIdMappingJob func (c *EntityResolution) GetIdMappingJob(input *GetIdMappingJobInput) (*GetIdMappingJobOutput, error) { @@ -1249,22 +1226,20 @@ func (c *EntityResolution) GetIdMappingWorkflowRequest(input *GetIdMappingWorkfl // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/GetIdMappingWorkflow func (c *EntityResolution) GetIdMappingWorkflow(input *GetIdMappingWorkflowInput) (*GetIdMappingWorkflowOutput, error) { @@ -1343,22 +1318,20 @@ func (c *EntityResolution) GetIdNamespaceRequest(input *GetIdNamespaceInput) (re // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/GetIdNamespace func (c *EntityResolution) GetIdNamespace(input *GetIdNamespaceInput) (*GetIdNamespaceOutput, error) { @@ -1438,22 +1411,20 @@ func (c *EntityResolution) GetMatchIdRequest(input *GetMatchIdInput) (req *reque // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/GetMatchId func (c *EntityResolution) GetMatchId(input *GetMatchIdInput) (*GetMatchIdOutput, error) { @@ -1533,22 +1504,20 @@ func (c *EntityResolution) GetMatchingJobRequest(input *GetMatchingJobInput) (re // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/GetMatchingJob func (c *EntityResolution) GetMatchingJob(input *GetMatchingJobInput) (*GetMatchingJobOutput, error) { @@ -1627,22 +1596,20 @@ func (c *EntityResolution) GetMatchingWorkflowRequest(input *GetMatchingWorkflow // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/GetMatchingWorkflow func (c *EntityResolution) GetMatchingWorkflow(input *GetMatchingWorkflowInput) (*GetMatchingWorkflowOutput, error) { @@ -1721,22 +1688,20 @@ func (c *EntityResolution) GetPolicyRequest(input *GetPolicyInput) (req *request // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/GetPolicy func (c *EntityResolution) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) { @@ -1815,22 +1780,20 @@ func (c *EntityResolution) GetSchemaMappingRequest(input *GetSchemaMappingInput) // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/GetSchemaMapping func (c *EntityResolution) GetSchemaMapping(input *GetSchemaMappingInput) (*GetSchemaMappingOutput, error) { @@ -1915,22 +1878,20 @@ func (c *EntityResolution) ListIdMappingJobsRequest(input *ListIdMappingJobsInpu // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/ListIdMappingJobs func (c *EntityResolution) ListIdMappingJobs(input *ListIdMappingJobsInput) (*ListIdMappingJobsOutput, error) { @@ -2067,19 +2028,17 @@ func (c *EntityResolution) ListIdMappingWorkflowsRequest(input *ListIdMappingWor // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/ListIdMappingWorkflows func (c *EntityResolution) ListIdMappingWorkflows(input *ListIdMappingWorkflowsInput) (*ListIdMappingWorkflowsOutput, error) { @@ -2215,19 +2174,17 @@ func (c *EntityResolution) ListIdNamespacesRequest(input *ListIdNamespacesInput) // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/ListIdNamespaces func (c *EntityResolution) ListIdNamespaces(input *ListIdNamespacesInput) (*ListIdNamespacesOutput, error) { @@ -2363,22 +2320,20 @@ func (c *EntityResolution) ListMatchingJobsRequest(input *ListMatchingJobsInput) // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/ListMatchingJobs func (c *EntityResolution) ListMatchingJobs(input *ListMatchingJobsInput) (*ListMatchingJobsOutput, error) { @@ -2515,19 +2470,17 @@ func (c *EntityResolution) ListMatchingWorkflowsRequest(input *ListMatchingWorkf // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/ListMatchingWorkflows func (c *EntityResolution) ListMatchingWorkflows(input *ListMatchingWorkflowsInput) (*ListMatchingWorkflowsOutput, error) { @@ -2664,19 +2617,17 @@ func (c *EntityResolution) ListProviderServicesRequest(input *ListProviderServic // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/ListProviderServices func (c *EntityResolution) ListProviderServices(input *ListProviderServicesInput) (*ListProviderServicesOutput, error) { @@ -2813,19 +2764,17 @@ func (c *EntityResolution) ListSchemaMappingsRequest(input *ListSchemaMappingsIn // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/ListSchemaMappings func (c *EntityResolution) ListSchemaMappings(input *ListSchemaMappingsInput) (*ListSchemaMappingsOutput, error) { @@ -2957,14 +2906,13 @@ func (c *EntityResolution) ListTagsForResourceRequest(input *ListTagsForResource // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/ListTagsForResource func (c *EntityResolution) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { @@ -3043,27 +2991,25 @@ func (c *EntityResolution) PutPolicyRequest(input *PutPolicyInput) (req *request // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, -// Workflow is currently running, etc. HTTP Status Code: 400 +// Workflow is currently running, etc. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/PutPolicy func (c *EntityResolution) PutPolicy(input *PutPolicyInput) (*PutPolicyOutput, error) { @@ -3143,32 +3089,30 @@ func (c *EntityResolution) StartIdMappingJobRequest(input *StartIdMappingJobInpu // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ExceedsLimitException // The request was rejected because it attempted to create resources beyond // the current Entity Resolution account limits. The error message describes -// the limit exceeded. HTTP Status Code: 402 +// the limit exceeded. // // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, -// Workflow is currently running, etc. HTTP Status Code: 400 +// Workflow is currently running, etc. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/StartIdMappingJob func (c *EntityResolution) StartIdMappingJob(input *StartIdMappingJobInput) (*StartIdMappingJobOutput, error) { @@ -3248,32 +3192,30 @@ func (c *EntityResolution) StartMatchingJobRequest(input *StartMatchingJobInput) // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ExceedsLimitException // The request was rejected because it attempted to create resources beyond // the current Entity Resolution account limits. The error message describes -// the limit exceeded. HTTP Status Code: 402 +// the limit exceeded. // // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, -// Workflow is currently running, etc. HTTP Status Code: 400 +// Workflow is currently running, etc. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/StartMatchingJob func (c *EntityResolution) StartMatchingJob(input *StartMatchingJobInput) (*StartMatchingJobOutput, error) { @@ -3364,14 +3306,13 @@ func (c *EntityResolution) TagResourceRequest(input *TagResourceInput) (req *req // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/TagResource func (c *EntityResolution) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { @@ -3453,10 +3394,10 @@ func (c *EntityResolution) UntagResourceRequest(input *UntagResourceInput) (req // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/UntagResource func (c *EntityResolution) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { @@ -3537,22 +3478,20 @@ func (c *EntityResolution) UpdateIdMappingWorkflowRequest(input *UpdateIdMapping // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/UpdateIdMappingWorkflow func (c *EntityResolution) UpdateIdMappingWorkflow(input *UpdateIdMappingWorkflowInput) (*UpdateIdMappingWorkflowOutput, error) { @@ -3631,22 +3570,20 @@ func (c *EntityResolution) UpdateIdNamespaceRequest(input *UpdateIdNamespaceInpu // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/UpdateIdNamespace func (c *EntityResolution) UpdateIdNamespace(input *UpdateIdNamespaceInput) (*UpdateIdNamespaceOutput, error) { @@ -3727,22 +3664,20 @@ func (c *EntityResolution) UpdateMatchingWorkflowRequest(input *UpdateMatchingWo // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/UpdateMatchingWorkflow func (c *EntityResolution) UpdateMatchingWorkflow(input *UpdateMatchingWorkflowInput) (*UpdateMatchingWorkflowOutput, error) { @@ -3824,27 +3759,25 @@ func (c *EntityResolution) UpdateSchemaMappingRequest(input *UpdateSchemaMapping // Returned Error Types: // // - ThrottlingException -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. // // - InternalServerException // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. // // - ResourceNotFoundException -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. // // - AccessDeniedException -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. // // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, -// Workflow is currently running, etc. HTTP Status Code: 400 +// Workflow is currently running, etc. // // - ValidationException // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 // // See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/UpdateSchemaMapping func (c *EntityResolution) UpdateSchemaMapping(input *UpdateSchemaMappingInput) (*UpdateSchemaMappingOutput, error) { @@ -3868,8 +3801,7 @@ func (c *EntityResolution) UpdateSchemaMappingWithContext(ctx aws.Context, input return out, req.Send() } -// You do not have sufficient access to perform this action. HTTP Status Code: -// 403 +// You do not have sufficient access to perform this action. type AccessDeniedException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -3955,6 +3887,10 @@ type AddPolicyStatementInput struct { // Determines whether the permissions specified in the policy are to be allowed // (Allow) or denied (Deny). // + // If you set the value of the effect parameter to Deny for the AddPolicyStatement + // operation, you must also set the value of the effect parameter in the policy + // to Deny for the PutPolicy operation. + // // Effect is a required field Effect *string `locationName:"effect" type:"string" required:"true" enum:"StatementEffect"` @@ -4259,7 +4195,7 @@ func (s *BatchDeleteUniqueIdOutput) SetStatus(v string) *BatchDeleteUniqueIdOutp // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, -// Workflow is currently running, etc. HTTP Status Code: 400 +// Workflow is currently running, etc. type ConflictException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -4329,7 +4265,7 @@ type CreateIdMappingWorkflowInput struct { // A description of the workflow. Description *string `locationName:"description" type:"string"` - // An object which defines the idMappingType and the providerProperties. + // An object which defines the ID mapping technique and any additional configurations. // // IdMappingTechniques is a required field IdMappingTechniques *IdMappingTechniques `locationName:"idMappingTechniques" type:"structure" required:"true"` @@ -4345,9 +4281,7 @@ type CreateIdMappingWorkflowInput struct { // The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes // this role to create resources on your behalf as part of workflow execution. - // - // RoleArn is a required field - RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"` + RoleArn *string `locationName:"roleArn" type:"string"` // The tags used to organize, track, or control access for this resource. Tags map[string]*string `locationName:"tags" type:"map"` @@ -4392,12 +4326,6 @@ func (s *CreateIdMappingWorkflowInput) Validate() error { if s.OutputSourceConfig != nil && len(s.OutputSourceConfig) < 1 { invalidParams.Add(request.NewErrParamMinLen("OutputSourceConfig", 1)) } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) - } - if s.RoleArn != nil && len(*s.RoleArn) < 32 { - invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32)) - } if s.WorkflowName == nil { invalidParams.Add(request.NewErrParamRequired("WorkflowName")) } @@ -4484,7 +4412,7 @@ type CreateIdMappingWorkflowOutput struct { // A description of the workflow. Description *string `locationName:"description" type:"string"` - // An object which defines the idMappingType and the providerProperties. + // An object which defines the ID mapping technique and any additional configurations. // // IdMappingTechniques is a required field IdMappingTechniques *IdMappingTechniques `locationName:"idMappingTechniques" type:"structure" required:"true"` @@ -4500,9 +4428,7 @@ type CreateIdMappingWorkflowOutput struct { // The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes // this role to create resources on your behalf as part of workflow execution. - // - // RoleArn is a required field - RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"` + RoleArn *string `locationName:"roleArn" type:"string"` // The ARN (Amazon Resource Name) that Entity Resolution generated for the IDMappingWorkflow. // @@ -5851,7 +5777,7 @@ func (s *ErrorDetails) SetErrorMessage(v string) *ErrorDetails { // The request was rejected because it attempted to create resources beyond // the current Entity Resolution account limits. The error message describes -// the limit exceeded. HTTP Status Code: 402 +// the limit exceeded. type ExceedsLimitException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -6139,7 +6065,7 @@ type GetIdMappingWorkflowOutput struct { // A description of the workflow. Description *string `locationName:"description" type:"string"` - // An object which defines the idMappingType and the providerProperties. + // An object which defines the ID mapping technique and any additional configurations. // // IdMappingTechniques is a required field IdMappingTechniques *IdMappingTechniques `locationName:"idMappingTechniques" type:"structure" required:"true"` @@ -6155,9 +6081,7 @@ type GetIdMappingWorkflowOutput struct { // The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes // this role to access Amazon Web Services resources on your behalf. - // - // RoleArn is a required field - RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"` + RoleArn *string `locationName:"roleArn" type:"string"` // The tags used to organize, track, or control access for this resource. Tags map[string]*string `locationName:"tags" type:"map"` @@ -7162,17 +7086,27 @@ func (s *GetSchemaMappingOutput) SetUpdatedAt(v time.Time) *GetSchemaMappingOutp return s } -// An object containing InputRecords, TotalRecordsProcessed, MatchIDs, and RecordsNotProcessed. +// An object containing InputRecords, RecordsNotProcessed, TotalRecordsProcessed, +// TotalMappedRecords, TotalMappedSourceRecords, and TotalMappedTargetRecords. type IdMappingJobMetrics struct { _ struct{} `type:"structure"` - // The total number of input records. + // The total number of records that were input for processing. InputRecords *int64 `locationName:"inputRecords" type:"integer"` // The total number of records that did not get processed. RecordsNotProcessed *int64 `locationName:"recordsNotProcessed" type:"integer"` - // The total number of records processed. + // The total number of records that were mapped. + TotalMappedRecords *int64 `locationName:"totalMappedRecords" type:"integer"` + + // The total number of mapped source records. + TotalMappedSourceRecords *int64 `locationName:"totalMappedSourceRecords" type:"integer"` + + // The total number of distinct mapped target records. + TotalMappedTargetRecords *int64 `locationName:"totalMappedTargetRecords" type:"integer"` + + // The total number of records that were processed. TotalRecordsProcessed *int64 `locationName:"totalRecordsProcessed" type:"integer"` } @@ -7206,6 +7140,24 @@ func (s *IdMappingJobMetrics) SetRecordsNotProcessed(v int64) *IdMappingJobMetri return s } +// SetTotalMappedRecords sets the TotalMappedRecords field's value. +func (s *IdMappingJobMetrics) SetTotalMappedRecords(v int64) *IdMappingJobMetrics { + s.TotalMappedRecords = &v + return s +} + +// SetTotalMappedSourceRecords sets the TotalMappedSourceRecords field's value. +func (s *IdMappingJobMetrics) SetTotalMappedSourceRecords(v int64) *IdMappingJobMetrics { + s.TotalMappedSourceRecords = &v + return s +} + +// SetTotalMappedTargetRecords sets the TotalMappedTargetRecords field's value. +func (s *IdMappingJobMetrics) SetTotalMappedTargetRecords(v int64) *IdMappingJobMetrics { + s.TotalMappedTargetRecords = &v + return s +} + // SetTotalRecordsProcessed sets the TotalRecordsProcessed field's value. func (s *IdMappingJobMetrics) SetTotalRecordsProcessed(v int64) *IdMappingJobMetrics { s.TotalRecordsProcessed = &v @@ -7291,7 +7243,123 @@ func (s *IdMappingJobOutputSource) SetRoleArn(v string) *IdMappingJobOutputSourc return s } -// An object which defines the ID mapping techniques and provider configurations. +// An object that defines the list of matching rules to run in an ID mapping +// workflow. +type IdMappingRuleBasedProperties struct { + _ struct{} `type:"structure"` + + // The comparison type. You can either choose ONE_TO_ONE or MANY_TO_MANY as + // the attributeMatchingModel. + // + // If you choose MANY_TO_MANY, the system can match attributes across the sub-types + // of an attribute type. For example, if the value of the Email field of Profile + // A matches the value of the BusinessEmail field of Profile B, the two profiles + // are matched on the Email attribute type. + // + // If you choose ONE_TO_ONE, the system can only match attributes if the sub-types + // are an exact match. For example, for the Email attribute type, the system + // will only consider it a match if the value of the Email field of Profile + // A matches the value of the Email field of Profile B. + // + // AttributeMatchingModel is a required field + AttributeMatchingModel *string `locationName:"attributeMatchingModel" type:"string" required:"true" enum:"AttributeMatchingModel"` + + // The type of matching record that is allowed to be used in an ID mapping workflow. + // + // If the value is set to ONE_SOURCE_TO_ONE_TARGET, only one record in the source + // can be matched to the same record in the target. + // + // If the value is set to MANY_SOURCE_TO_ONE_TARGET, multiple records in the + // source can be matched to one record in the target. + // + // RecordMatchingModel is a required field + RecordMatchingModel *string `locationName:"recordMatchingModel" type:"string" required:"true" enum:"RecordMatchingModel"` + + // The set of rules you can use in an ID mapping workflow. The limitations specified + // for the source or target to define the match rules must be compatible. + // + // RuleDefinitionType is a required field + RuleDefinitionType *string `locationName:"ruleDefinitionType" type:"string" required:"true" enum:"IdMappingWorkflowRuleDefinitionType"` + + // The rules that can be used for ID mapping. + Rules []*Rule `locationName:"rules" 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 IdMappingRuleBasedProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IdMappingRuleBasedProperties) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IdMappingRuleBasedProperties) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IdMappingRuleBasedProperties"} + if s.AttributeMatchingModel == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeMatchingModel")) + } + if s.RecordMatchingModel == nil { + invalidParams.Add(request.NewErrParamRequired("RecordMatchingModel")) + } + if s.RuleDefinitionType == nil { + invalidParams.Add(request.NewErrParamRequired("RuleDefinitionType")) + } + if s.Rules != nil && len(s.Rules) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Rules", 1)) + } + 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 +} + +// SetAttributeMatchingModel sets the AttributeMatchingModel field's value. +func (s *IdMappingRuleBasedProperties) SetAttributeMatchingModel(v string) *IdMappingRuleBasedProperties { + s.AttributeMatchingModel = &v + return s +} + +// SetRecordMatchingModel sets the RecordMatchingModel field's value. +func (s *IdMappingRuleBasedProperties) SetRecordMatchingModel(v string) *IdMappingRuleBasedProperties { + s.RecordMatchingModel = &v + return s +} + +// SetRuleDefinitionType sets the RuleDefinitionType field's value. +func (s *IdMappingRuleBasedProperties) SetRuleDefinitionType(v string) *IdMappingRuleBasedProperties { + s.RuleDefinitionType = &v + return s +} + +// SetRules sets the Rules field's value. +func (s *IdMappingRuleBasedProperties) SetRules(v []*Rule) *IdMappingRuleBasedProperties { + s.Rules = v + return s +} + +// An object which defines the ID mapping technique and any additional configurations. type IdMappingTechniques struct { _ struct{} `type:"structure"` @@ -7303,6 +7371,10 @@ type IdMappingTechniques struct { // An object which defines any additional configurations required by the provider // service. ProviderProperties *ProviderProperties `locationName:"providerProperties" type:"structure"` + + // An object which defines any additional configurations required by rule-based + // matching. + RuleBasedProperties *IdMappingRuleBasedProperties `locationName:"ruleBasedProperties" type:"structure"` } // String returns the string representation. @@ -7334,6 +7406,11 @@ func (s *IdMappingTechniques) Validate() error { invalidParams.AddNested("ProviderProperties", err.(request.ErrInvalidParams)) } } + if s.RuleBasedProperties != nil { + if err := s.RuleBasedProperties.Validate(); err != nil { + invalidParams.AddNested("RuleBasedProperties", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -7353,11 +7430,18 @@ func (s *IdMappingTechniques) SetProviderProperties(v *ProviderProperties) *IdMa return s } +// SetRuleBasedProperties sets the RuleBasedProperties field's value. +func (s *IdMappingTechniques) SetRuleBasedProperties(v *IdMappingRuleBasedProperties) *IdMappingTechniques { + s.RuleBasedProperties = v + return s +} + // An object containing InputSourceARN, SchemaName, and Type. type IdMappingWorkflowInputSource struct { _ struct{} `type:"structure"` - // An Glue table ARN for the input source table. + // An Glue table Amazon Resource Name (ARN) or a matching workflow ARN for the + // input source table. // // InputSourceARN is a required field InputSourceARN *string `locationName:"inputSourceARN" type:"string" required:"true"` @@ -7370,7 +7454,7 @@ type IdMappingWorkflowInputSource struct { // The SOURCE contains configurations for sourceId data that will be processed // in an ID mapping workflow. // - // The TARGET contains a configuration of targetId to which all sourceIds will + // The TARGET contains a configuration of targetId which all sourceIds will // resolve to. Type *string `locationName:"type" type:"string" enum:"IdNamespaceType"` } @@ -7555,7 +7639,41 @@ func (s *IdMappingWorkflowSummary) SetWorkflowName(v string) *IdMappingWorkflowS return s } -// An object containing IdMappingType and ProviderProperties. +// The settings for the ID namespace for the ID mapping workflow job. +type IdNamespaceIdMappingWorkflowMetadata struct { + _ struct{} `type:"structure"` + + // The type of ID mapping. + // + // IdMappingType is a required field + IdMappingType *string `locationName:"idMappingType" type:"string" required:"true" enum:"IdMappingType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IdNamespaceIdMappingWorkflowMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IdNamespaceIdMappingWorkflowMetadata) GoString() string { + return s.String() +} + +// SetIdMappingType sets the IdMappingType field's value. +func (s *IdNamespaceIdMappingWorkflowMetadata) SetIdMappingType(v string) *IdNamespaceIdMappingWorkflowMetadata { + s.IdMappingType = &v + return s +} + +// An object containing IdMappingType, ProviderProperties, and RuleBasedProperties. type IdNamespaceIdMappingWorkflowProperties struct { _ struct{} `type:"structure"` @@ -7567,6 +7685,10 @@ type IdNamespaceIdMappingWorkflowProperties struct { // An object which defines any additional configurations required by the provider // service. ProviderProperties *NamespaceProviderProperties `locationName:"providerProperties" type:"structure"` + + // An object which defines any additional configurations required by rule-based + // matching. + RuleBasedProperties *NamespaceRuleBasedProperties `locationName:"ruleBasedProperties" type:"structure"` } // String returns the string representation. @@ -7598,6 +7720,11 @@ func (s *IdNamespaceIdMappingWorkflowProperties) Validate() error { invalidParams.AddNested("ProviderProperties", err.(request.ErrInvalidParams)) } } + if s.RuleBasedProperties != nil { + if err := s.RuleBasedProperties.Validate(); err != nil { + invalidParams.AddNested("RuleBasedProperties", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -7617,11 +7744,18 @@ func (s *IdNamespaceIdMappingWorkflowProperties) SetProviderProperties(v *Namesp return s } +// SetRuleBasedProperties sets the RuleBasedProperties field's value. +func (s *IdNamespaceIdMappingWorkflowProperties) SetRuleBasedProperties(v *NamespaceRuleBasedProperties) *IdNamespaceIdMappingWorkflowProperties { + s.RuleBasedProperties = v + return s +} + // An object containing InputSourceARN and SchemaName. type IdNamespaceInputSource struct { _ struct{} `type:"structure"` - // An Glue table ARN for the input source table. + // An Glue table Amazon Resource Name (ARN) or a matching workflow ARN for the + // input source table. // // InputSourceARN is a required field InputSourceARN *string `locationName:"inputSourceARN" type:"string" required:"true"` @@ -7688,6 +7822,10 @@ type IdNamespaceSummary struct { // The description of the ID namespace. Description *string `locationName:"description" type:"string"` + // An object which defines any additional configurations required by the ID + // mapping workflow. + IdMappingWorkflowProperties []*IdNamespaceIdMappingWorkflowMetadata `locationName:"idMappingWorkflowProperties" min:"1" type:"list"` + // The Amazon Resource Name (ARN) of the ID namespace. // // IdNamespaceArn is a required field @@ -7703,7 +7841,7 @@ type IdNamespaceSummary struct { // The SOURCE contains configurations for sourceId data that will be processed // in an ID mapping workflow. // - // The TARGET contains a configuration of targetId to which all sourceIds will + // The TARGET contains a configuration of targetId which all sourceIds will // resolve to. // // Type is a required field @@ -7745,6 +7883,12 @@ func (s *IdNamespaceSummary) SetDescription(v string) *IdNamespaceSummary { return s } +// SetIdMappingWorkflowProperties sets the IdMappingWorkflowProperties field's value. +func (s *IdNamespaceSummary) SetIdMappingWorkflowProperties(v []*IdNamespaceIdMappingWorkflowMetadata) *IdNamespaceSummary { + s.IdMappingWorkflowProperties = v + return s +} + // SetIdNamespaceArn sets the IdNamespaceArn field's value. func (s *IdNamespaceSummary) SetIdNamespaceArn(v string) *IdNamespaceSummary { s.IdNamespaceArn = &v @@ -7812,7 +7956,7 @@ type InputSource struct { // this field in the output to (123)-456-7890. ApplyNormalization *bool `locationName:"applyNormalization" type:"boolean"` - // An Glue table ARN for the input source table. + // An Glue table Amazon Resource Name (ARN) for the input source table. // // InputSourceARN is a required field InputSourceARN *string `locationName:"inputSourceARN" type:"string" required:"true"` @@ -7930,7 +8074,7 @@ func (s *IntermediateSourceConfiguration) SetIntermediateS3Path(v string) *Inter } // This exception occurs when there is an internal failure in the Entity Resolution -// service. HTTP Status Code: 500 +// service. type InternalServerException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -9096,6 +9240,107 @@ func (s *NamespaceProviderProperties) SetProviderServiceArn(v string) *Namespace return s } +// The rule-based properties of an ID namespace. These properties define how +// the ID namespace can be used in an ID mapping workflow. +type NamespaceRuleBasedProperties struct { + _ struct{} `type:"structure"` + + // The comparison type. You can either choose ONE_TO_ONE or MANY_TO_MANY as + // the attributeMatchingModel. + // + // If you choose MANY_TO_MANY, the system can match attributes across the sub-types + // of an attribute type. For example, if the value of the Email field of Profile + // A matches the value of BusinessEmail field of Profile B, the two profiles + // are matched on the Email attribute type. + // + // If you choose ONE_TO_ONE, the system can only match attributes if the sub-types + // are an exact match. For example, for the Email attribute type, the system + // will only consider it a match if the value of the Email field of Profile + // A matches the value of the Email field of Profile B. + AttributeMatchingModel *string `locationName:"attributeMatchingModel" type:"string" enum:"AttributeMatchingModel"` + + // The type of matching record that is allowed to be used in an ID mapping workflow. + // + // If the value is set to ONE_SOURCE_TO_ONE_TARGET, only one record in the source + // is matched to one record in the target. + // + // If the value is set to MANY_SOURCE_TO_ONE_TARGET, all matching records in + // the source are matched to one record in the target. + RecordMatchingModels []*string `locationName:"recordMatchingModels" type:"list" enum:"RecordMatchingModel"` + + // The sets of rules you can use in an ID mapping workflow. The limitations + // specified for the source and target must be compatible. + RuleDefinitionTypes []*string `locationName:"ruleDefinitionTypes" type:"list" enum:"IdMappingWorkflowRuleDefinitionType"` + + // The rules for the ID namespace. + Rules []*Rule `locationName:"rules" 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 NamespaceRuleBasedProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NamespaceRuleBasedProperties) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NamespaceRuleBasedProperties) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NamespaceRuleBasedProperties"} + if s.Rules != nil && len(s.Rules) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Rules", 1)) + } + 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 +} + +// SetAttributeMatchingModel sets the AttributeMatchingModel field's value. +func (s *NamespaceRuleBasedProperties) SetAttributeMatchingModel(v string) *NamespaceRuleBasedProperties { + s.AttributeMatchingModel = &v + return s +} + +// SetRecordMatchingModels sets the RecordMatchingModels field's value. +func (s *NamespaceRuleBasedProperties) SetRecordMatchingModels(v []*string) *NamespaceRuleBasedProperties { + s.RecordMatchingModels = v + return s +} + +// SetRuleDefinitionTypes sets the RuleDefinitionTypes field's value. +func (s *NamespaceRuleBasedProperties) SetRuleDefinitionTypes(v []*string) *NamespaceRuleBasedProperties { + s.RuleDefinitionTypes = v + return s +} + +// SetRules sets the Rules field's value. +func (s *NamespaceRuleBasedProperties) SetRules(v []*Rule) *NamespaceRuleBasedProperties { + s.Rules = v + return s +} + // A list of OutputAttribute objects, each of which have the fields Name and // Hashed. Each of these objects selects a column to be included in the output // table, and whether the values of the column should be hashed. @@ -9411,6 +9656,10 @@ type PutPolicyInput struct { // The resource-based policy. // + // If you set the value of the effect parameter in the policy to Deny for the + // PutPolicy operation, you must also set the value of the effect parameter + // to Deny for the AddPolicyStatement operation. + // // Policy is a required field Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` @@ -9609,7 +9858,7 @@ func (s *ResolutionTechniques) SetRuleBasedProperties(v *RuleBasedProperties) *R return s } -// The resource could not be found. HTTP Status Code: 404 +// The resource could not be found. type ResourceNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -9739,24 +9988,35 @@ func (s *Rule) SetRuleName(v string) *Rule { return s } -// An object which defines the list of matching rules to run and has a field -// Rules, which is a list of rule objects. +// An object which defines the list of matching rules to run in a matching workflow. +// RuleBasedProperties contain a Rules field, which is a list of rule objects. type RuleBasedProperties struct { _ struct{} `type:"structure"` // The comparison type. You can either choose ONE_TO_ONE or MANY_TO_MANY as - // the AttributeMatchingModel. When choosing MANY_TO_MANY, the system can match - // attributes across the sub-types of an attribute type. For example, if the - // value of the Email field of Profile A and the value of BusinessEmail field - // of Profile B matches, the two profiles are matched on the Email type. When - // choosing ONE_TO_ONE ,the system can only match if the sub-types are exact - // matches. For example, only when the value of the Email field of Profile A - // and the value of the Email field of Profile B matches, the two profiles are - // matched on the Email type. + // the attributeMatchingModel. + // + // If you choose MANY_TO_MANY, the system can match attributes across the sub-types + // of an attribute type. For example, if the value of the Email field of Profile + // A and the value of BusinessEmail field of Profile B matches, the two profiles + // are matched on the Email attribute type. + // + // If you choose ONE_TO_ONE, the system can only match attributes if the sub-types + // are an exact match. For example, for the Email attribute type, the system + // will only consider it a match if the value of the Email field of Profile + // A matches the value of the Email field of Profile B. // // AttributeMatchingModel is a required field AttributeMatchingModel *string `locationName:"attributeMatchingModel" type:"string" required:"true" enum:"AttributeMatchingModel"` + // An indicator of whether to generate IDs and index the data or not. + // + // If you choose IDENTIFIER_GENERATION, the process generates IDs and indexes + // the data. + // + // If you choose INDEXING, the process indexes the data without generating IDs. + MatchPurpose *string `locationName:"matchPurpose" type:"string" enum:"MatchPurpose"` + // A list of Rule objects, each of which have fields RuleName and MatchingKeys. // // Rules is a required field @@ -9816,13 +10076,19 @@ func (s *RuleBasedProperties) SetAttributeMatchingModel(v string) *RuleBasedProp return s } +// SetMatchPurpose sets the MatchPurpose field's value. +func (s *RuleBasedProperties) SetMatchPurpose(v string) *RuleBasedProperties { + s.MatchPurpose = &v + return s +} + // SetRules sets the Rules field's value. func (s *RuleBasedProperties) SetRules(v []*Rule) *RuleBasedProperties { s.Rules = v return s } -// An object containing FieldName, Type, GroupName, MatchKey, and SubType. +// An object containing FieldName, Type, GroupName, MatchKey, Hashing, and SubType. type SchemaInputAttribute struct { _ struct{} `type:"structure"` @@ -9839,13 +10105,21 @@ type SchemaInputAttribute struct { // to concatenate them into a single value. GroupName *string `locationName:"groupName" type:"string"` + // Indicates if the column values are hashed in the schema input. If the value + // is set to TRUE, the column values are hashed. If the value is set to FALSE, + // the column values are cleartext. + Hashed *bool `locationName:"hashed" type:"boolean"` + // A key that allows grouping of multiple input attributes into a unified matching - // group. For example, consider a scenario where the source table contains various + // group. + // + // For example, consider a scenario where the source table contains various // addresses, such as business_address and shipping_address. By assigning a // matchKey called address to both attributes, Entity Resolution will match - // records across these fields to create a consolidated matching group. If no - // matchKey is specified for a column, it won't be utilized for matching purposes - // but will still be included in the output table. + // records across these fields to create a consolidated matching group. + // + // If no matchKey is specified for a column, it won't be utilized for matching + // purposes but will still be included in the output table. MatchKey *string `locationName:"matchKey" type:"string"` // The subtype of the attribute, selected from a list of values. @@ -9903,6 +10177,12 @@ func (s *SchemaInputAttribute) SetGroupName(v string) *SchemaInputAttribute { return s } +// SetHashed sets the Hashed field's value. +func (s *SchemaInputAttribute) SetHashed(v bool) *SchemaInputAttribute { + s.Hashed = &v + return s +} + // SetMatchKey sets the MatchKey field's value. func (s *SchemaInputAttribute) SetMatchKey(v string) *SchemaInputAttribute { s.MatchKey = &v @@ -10279,7 +10559,7 @@ func (s TagResourceOutput) GoString() string { return s.String() } -// The request was denied due to request throttling. HTTP Status Code: 429 +// The request was denied due to request throttling. type ThrottlingException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -10434,7 +10714,7 @@ type UpdateIdMappingWorkflowInput struct { // A description of the workflow. Description *string `locationName:"description" type:"string"` - // An object which defines the idMappingType and the providerProperties. + // An object which defines the ID mapping technique and any additional configurations. // // IdMappingTechniques is a required field IdMappingTechniques *IdMappingTechniques `locationName:"idMappingTechniques" type:"structure" required:"true"` @@ -10450,9 +10730,7 @@ type UpdateIdMappingWorkflowInput struct { // The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes // this role to access Amazon Web Services resources on your behalf. - // - // RoleArn is a required field - RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"` + RoleArn *string `locationName:"roleArn" type:"string"` // The name of the workflow. // @@ -10493,12 +10771,6 @@ func (s *UpdateIdMappingWorkflowInput) Validate() error { if s.OutputSourceConfig != nil && len(s.OutputSourceConfig) < 1 { invalidParams.Add(request.NewErrParamMinLen("OutputSourceConfig", 1)) } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) - } - if s.RoleArn != nil && len(*s.RoleArn) < 32 { - invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32)) - } if s.WorkflowName == nil { invalidParams.Add(request.NewErrParamRequired("WorkflowName")) } @@ -10579,7 +10851,7 @@ type UpdateIdMappingWorkflowOutput struct { // A description of the workflow. Description *string `locationName:"description" type:"string"` - // An object which defines the idMappingType and the providerProperties. + // An object which defines the ID mapping technique and any additional configurations. // // IdMappingTechniques is a required field IdMappingTechniques *IdMappingTechniques `locationName:"idMappingTechniques" type:"structure" required:"true"` @@ -10595,9 +10867,7 @@ type UpdateIdMappingWorkflowOutput struct { // The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes // this role to access Amazon Web Services resources on your behalf. - // - // RoleArn is a required field - RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"` + RoleArn *string `locationName:"roleArn" type:"string"` // The Amazon Resource Name (ARN) of the workflow role. Entity Resolution assumes // this role to access Amazon Web Services resources on your behalf. @@ -11317,7 +11587,6 @@ func (s *UpdateSchemaMappingOutput) SetSchemaName(v string) *UpdateSchemaMapping } // The input fails to satisfy the constraints specified by Entity Resolution. -// HTTP Status Code: 400 type ValidationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -11432,12 +11701,32 @@ func DeleteUniqueIdStatus_Values() []string { const ( // IdMappingTypeProvider is a IdMappingType enum value IdMappingTypeProvider = "PROVIDER" + + // IdMappingTypeRuleBased is a IdMappingType enum value + IdMappingTypeRuleBased = "RULE_BASED" ) // IdMappingType_Values returns all elements of the IdMappingType enum func IdMappingType_Values() []string { return []string{ IdMappingTypeProvider, + IdMappingTypeRuleBased, + } +} + +const ( + // IdMappingWorkflowRuleDefinitionTypeSource is a IdMappingWorkflowRuleDefinitionType enum value + IdMappingWorkflowRuleDefinitionTypeSource = "SOURCE" + + // IdMappingWorkflowRuleDefinitionTypeTarget is a IdMappingWorkflowRuleDefinitionType enum value + IdMappingWorkflowRuleDefinitionTypeTarget = "TARGET" +) + +// IdMappingWorkflowRuleDefinitionType_Values returns all elements of the IdMappingWorkflowRuleDefinitionType enum +func IdMappingWorkflowRuleDefinitionType_Values() []string { + return []string{ + IdMappingWorkflowRuleDefinitionTypeSource, + IdMappingWorkflowRuleDefinitionTypeTarget, } } @@ -11493,6 +11782,38 @@ func JobStatus_Values() []string { } } +const ( + // MatchPurposeIdentifierGeneration is a MatchPurpose enum value + MatchPurposeIdentifierGeneration = "IDENTIFIER_GENERATION" + + // MatchPurposeIndexing is a MatchPurpose enum value + MatchPurposeIndexing = "INDEXING" +) + +// MatchPurpose_Values returns all elements of the MatchPurpose enum +func MatchPurpose_Values() []string { + return []string{ + MatchPurposeIdentifierGeneration, + MatchPurposeIndexing, + } +} + +const ( + // RecordMatchingModelOneSourceToOneTarget is a RecordMatchingModel enum value + RecordMatchingModelOneSourceToOneTarget = "ONE_SOURCE_TO_ONE_TARGET" + + // RecordMatchingModelManySourceToOneTarget is a RecordMatchingModel enum value + RecordMatchingModelManySourceToOneTarget = "MANY_SOURCE_TO_ONE_TARGET" +) + +// RecordMatchingModel_Values returns all elements of the RecordMatchingModel enum +func RecordMatchingModel_Values() []string { + return []string{ + RecordMatchingModelOneSourceToOneTarget, + RecordMatchingModelManySourceToOneTarget, + } +} + const ( // ResolutionTypeRuleMatching is a ResolutionType enum value ResolutionTypeRuleMatching = "RULE_MATCHING" diff --git a/service/entityresolution/errors.go b/service/entityresolution/errors.go index 0a56a81381d..f3e26446a38 100644 --- a/service/entityresolution/errors.go +++ b/service/entityresolution/errors.go @@ -11,8 +11,7 @@ const ( // ErrCodeAccessDeniedException for service response error code // "AccessDeniedException". // - // You do not have sufficient access to perform this action. HTTP Status Code: - // 403 + // You do not have sufficient access to perform this action. ErrCodeAccessDeniedException = "AccessDeniedException" // ErrCodeConflictException for service response error code @@ -20,7 +19,7 @@ const ( // // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, - // Workflow is currently running, etc. HTTP Status Code: 400 + // Workflow is currently running, etc. ErrCodeConflictException = "ConflictException" // ErrCodeExceedsLimitException for service response error code @@ -28,33 +27,32 @@ const ( // // The request was rejected because it attempted to create resources beyond // the current Entity Resolution account limits. The error message describes - // the limit exceeded. HTTP Status Code: 402 + // the limit exceeded. ErrCodeExceedsLimitException = "ExceedsLimitException" // ErrCodeInternalServerException for service response error code // "InternalServerException". // // This exception occurs when there is an internal failure in the Entity Resolution - // service. HTTP Status Code: 500 + // service. ErrCodeInternalServerException = "InternalServerException" // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // - // The resource could not be found. HTTP Status Code: 404 + // The resource could not be found. ErrCodeResourceNotFoundException = "ResourceNotFoundException" // ErrCodeThrottlingException for service response error code // "ThrottlingException". // - // The request was denied due to request throttling. HTTP Status Code: 429 + // The request was denied due to request throttling. ErrCodeThrottlingException = "ThrottlingException" // ErrCodeValidationException for service response error code // "ValidationException". // // The input fails to satisfy the constraints specified by Entity Resolution. - // HTTP Status Code: 400 ErrCodeValidationException = "ValidationException" )