From 26375ca737241a9df91db93bc2c6682abca0caa7 Mon Sep 17 00:00:00 2001 From: AWS SDK for Go v2 automation user Date: Wed, 24 Jul 2024 18:35:36 +0000 Subject: [PATCH] Regenerated Clients --- .../05f01cffcb7542b387a7cc014ffde7a4.json | 8 + .../07f30246d0c646978dcb3a001718fb3e.json | 8 + .../6439b576c3f0473192f2a6fd1762b01c.json | 8 + .../7efeec27a25b4995b6ccbc0f655faba4.json | 8 + .../9ba252a2a43b4f2fa5bc478fe3863b40.json | 8 + .../db39f903fbc04370b058212f3a532752.json | 8 + .../attributevalue/go_module_metadata.go | 2 +- feature/s3/manager/bucket_region.go | 6 +- .../internal/endpoints/endpoints.go | 8 + .../internal/endpoints/endpoints.go | 8 + .../cleanrooms/api_op_CreateCollaboration.go | 2 +- ...pi_op_CreateConfiguredTableAnalysisRule.go | 4 +- ...api_op_CreateConfiguredTableAssociation.go | 2 +- ...eConfiguredTableAssociationAnalysisRule.go | 163 ++ ...eConfiguredTableAssociationAnalysisRule.go | 150 ++ ...tConfiguredTableAssociationAnalysisRule.go | 158 ++ .../api_op_ListAnalysisTemplates.go | 14 +- ...i_op_ListCollaborationAnalysisTemplates.go | 14 +- ...tionConfiguredAudienceModelAssociations.go | 14 +- ...ListCollaborationPrivacyBudgetTemplates.go | 18 +- .../api_op_ListCollaborationPrivacyBudgets.go | 18 +- .../cleanrooms/api_op_ListCollaborations.go | 18 +- ...ListConfiguredAudienceModelAssociations.go | 15 +- .../api_op_ListConfiguredTableAssociations.go | 14 +- .../cleanrooms/api_op_ListConfiguredTables.go | 14 +- service/cleanrooms/api_op_ListMembers.go | 14 +- service/cleanrooms/api_op_ListMemberships.go | 14 +- .../api_op_ListPrivacyBudgetTemplates.go | 18 +- .../cleanrooms/api_op_ListPrivacyBudgets.go | 18 +- .../cleanrooms/api_op_ListProtectedQueries.go | 18 +- service/cleanrooms/api_op_ListSchemas.go | 17 +- ...eConfiguredTableAssociationAnalysisRule.go | 162 ++ service/cleanrooms/deserializers.go | 1506 +++++++++++++++-- service/cleanrooms/generated.json | 4 + service/cleanrooms/serializers.go | 551 ++++++ ...iguredTableAssociationAnalysisRule.go.snap | 36 + ...iguredTableAssociationAnalysisRule.go.snap | 36 + ...iguredTableAssociationAnalysisRule.go.snap | 36 + ...iguredTableAssociationAnalysisRule.go.snap | 36 + service/cleanrooms/snapshot_test.go | 96 ++ service/cleanrooms/types/enums.go | 84 +- service/cleanrooms/types/types.go | 326 +++- .../cleanrooms/types/types_exported_test.go | 66 + service/cleanrooms/validators.go | 206 +++ .../dynamodb/api_op_BatchExecuteStatement.go | 4 +- service/dynamodb/api_op_BatchWriteItem.go | 9 +- service/dynamodb/api_op_DeleteTable.go | 4 +- service/dynamodb/api_op_Query.go | 2 +- .../iotsitewise/api_op_CreateAssetModel.go | 5 +- .../api_op_CreateAssetModelCompositeModel.go | 8 +- service/iotsitewise/api_op_CreateGateway.go | 2 +- .../iotsitewise/api_op_UpdateAssetModel.go | 25 +- .../api_op_UpdateAssetModelCompositeModel.go | 6 +- service/iotsitewise/api_op_UpdateGateway.go | 2 +- service/iotsitewise/deserializers.go | 52 +- service/iotsitewise/serializers.go | 19 + service/iotsitewise/types/enums.go | 10 +- service/iotsitewise/types/types.go | 42 +- service/iotsitewise/validators.go | 20 + service/mediapackagev2/types/enums.go | 2 + service/medicalimaging/api_op_CopyImageSet.go | 5 + service/medicalimaging/api_op_GetImageSet.go | 5 + .../api_op_UpdateImageSetMetadata.go | 9 + service/medicalimaging/deserializers.go | 50 + service/medicalimaging/serializers.go | 31 + service/medicalimaging/types/types.go | 48 + .../types/types_exported_test.go | 4 + service/medicalimaging/validators.go | 20 + .../api_op_CreateEventDestination.go | 14 +- .../api_op_CreateOptOutList.go | 4 +- .../pinpointsmsvoicev2/api_op_CreatePool.go | 20 +- .../api_op_DeleteKeyword.go | 4 +- .../pinpointsmsvoicev2/api_op_DeletePool.go | 10 +- ..._op_DeleteTextMessageSpendLimitOverride.go | 4 +- ...op_DeleteVoiceMessageSpendLimitOverride.go | 4 +- .../api_op_DescribeAccountAttributes.go | 6 +- .../api_op_DescribeAccountLimits.go | 10 +- .../api_op_DescribeKeywords.go | 4 +- .../api_op_DescribeSpendLimits.go | 7 +- ...p_GetProtectConfigurationCountryRuleSet.go | 4 +- .../pinpointsmsvoicev2/api_op_PutKeyword.go | 4 +- .../api_op_ReleasePhoneNumber.go | 10 +- .../api_op_RequestPhoneNumber.go | 15 +- .../api_op_SendTextMessage.go | 34 +- .../api_op_SendVoiceMessage.go | 4 +- .../pinpointsmsvoicev2/api_op_TagResource.go | 13 +- .../api_op_UntagResource.go | 7 +- .../api_op_UpdateEventDestination.go | 9 +- .../api_op_UpdatePhoneNumber.go | 10 +- .../pinpointsmsvoicev2/api_op_UpdatePool.go | 18 +- ...pdateProtectConfigurationCountryRuleSet.go | 4 +- service/pinpointsmsvoicev2/doc.go | 37 +- service/pinpointsmsvoicev2/types/types.go | 54 +- 93 files changed, 4169 insertions(+), 459 deletions(-) create mode 100644 .changelog/05f01cffcb7542b387a7cc014ffde7a4.json create mode 100644 .changelog/07f30246d0c646978dcb3a001718fb3e.json create mode 100644 .changelog/6439b576c3f0473192f2a6fd1762b01c.json create mode 100644 .changelog/7efeec27a25b4995b6ccbc0f655faba4.json create mode 100644 .changelog/9ba252a2a43b4f2fa5bc478fe3863b40.json create mode 100644 .changelog/db39f903fbc04370b058212f3a532752.json create mode 100644 service/cleanrooms/api_op_CreateConfiguredTableAssociationAnalysisRule.go create mode 100644 service/cleanrooms/api_op_DeleteConfiguredTableAssociationAnalysisRule.go create mode 100644 service/cleanrooms/api_op_GetConfiguredTableAssociationAnalysisRule.go create mode 100644 service/cleanrooms/api_op_UpdateConfiguredTableAssociationAnalysisRule.go create mode 100644 service/cleanrooms/snapshot/api_op_CreateConfiguredTableAssociationAnalysisRule.go.snap create mode 100644 service/cleanrooms/snapshot/api_op_DeleteConfiguredTableAssociationAnalysisRule.go.snap create mode 100644 service/cleanrooms/snapshot/api_op_GetConfiguredTableAssociationAnalysisRule.go.snap create mode 100644 service/cleanrooms/snapshot/api_op_UpdateConfiguredTableAssociationAnalysisRule.go.snap diff --git a/.changelog/05f01cffcb7542b387a7cc014ffde7a4.json b/.changelog/05f01cffcb7542b387a7cc014ffde7a4.json new file mode 100644 index 00000000000..dd4fb346832 --- /dev/null +++ b/.changelog/05f01cffcb7542b387a7cc014ffde7a4.json @@ -0,0 +1,8 @@ +{ + "id": "05f01cff-cb75-42b3-87a7-cc014ffde7a4", + "type": "feature", + "description": "Adds support for creating SiteWise Edge gateways that run on a Siemens Industrial Edge Device.", + "modules": [ + "service/iotsitewise" + ] +} \ No newline at end of file diff --git a/.changelog/07f30246d0c646978dcb3a001718fb3e.json b/.changelog/07f30246d0c646978dcb3a001718fb3e.json new file mode 100644 index 00000000000..322dd991eaa --- /dev/null +++ b/.changelog/07f30246d0c646978dcb3a001718fb3e.json @@ -0,0 +1,8 @@ +{ + "id": "07f30246-d0c6-4697-8dcb-3a001718fb3e", + "type": "documentation", + "description": "DynamoDB doc only update for July", + "modules": [ + "service/dynamodb" + ] +} \ No newline at end of file diff --git a/.changelog/6439b576c3f0473192f2a6fd1762b01c.json b/.changelog/6439b576c3f0473192f2a6fd1762b01c.json new file mode 100644 index 00000000000..ad353af5822 --- /dev/null +++ b/.changelog/6439b576c3f0473192f2a6fd1762b01c.json @@ -0,0 +1,8 @@ +{ + "id": "6439b576-c3f0-4731-92f2-a6fd1762b01c", + "type": "feature", + "description": "Three enhancements to the AWS Clean Rooms: Disallowed Output Columns, Flexible Result Receivers, SQL as a Seed", + "modules": [ + "service/cleanrooms" + ] +} \ No newline at end of file diff --git a/.changelog/7efeec27a25b4995b6ccbc0f655faba4.json b/.changelog/7efeec27a25b4995b6ccbc0f655faba4.json new file mode 100644 index 00000000000..f0bb58431ae --- /dev/null +++ b/.changelog/7efeec27a25b4995b6ccbc0f655faba4.json @@ -0,0 +1,8 @@ +{ + "id": "7efeec27-a25b-4995-b6cc-bc0f655faba4", + "type": "feature", + "description": "This release adds support for Irdeto DRM encryption in DASH manifests.", + "modules": [ + "service/mediapackagev2" + ] +} \ No newline at end of file diff --git a/.changelog/9ba252a2a43b4f2fa5bc478fe3863b40.json b/.changelog/9ba252a2a43b4f2fa5bc478fe3863b40.json new file mode 100644 index 00000000000..370c0c0f2c3 --- /dev/null +++ b/.changelog/9ba252a2a43b4f2fa5bc478fe3863b40.json @@ -0,0 +1,8 @@ +{ + "id": "9ba252a2-a43b-4f2f-a5bc-478fe3863b40", + "type": "feature", + "description": "CopyImageSet API adds copying selected instances between image sets, and overriding inconsistent metadata with a force parameter. UpdateImageSetMetadata API enables reverting to prior versions; updates to Study, Series, and SOP Instance UIDs; and updates to private elements, with a force parameter.", + "modules": [ + "service/medicalimaging" + ] +} \ No newline at end of file diff --git a/.changelog/db39f903fbc04370b058212f3a532752.json b/.changelog/db39f903fbc04370b058212f3a532752.json new file mode 100644 index 00000000000..6bd073d755c --- /dev/null +++ b/.changelog/db39f903fbc04370b058212f3a532752.json @@ -0,0 +1,8 @@ +{ + "id": "db39f903-fbc0-4370-b058-212f3a532752", + "type": "documentation", + "description": "Update for rebrand to AWS End User Messaging SMS and Voice.", + "modules": [ + "service/pinpointsmsvoicev2" + ] +} \ No newline at end of file diff --git a/feature/dynamodbstreams/attributevalue/go_module_metadata.go b/feature/dynamodbstreams/attributevalue/go_module_metadata.go index 3fbba3baf65..856cde651a8 100644 --- a/feature/dynamodbstreams/attributevalue/go_module_metadata.go +++ b/feature/dynamodbstreams/attributevalue/go_module_metadata.go @@ -3,4 +3,4 @@ package attributevalue // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.13.50" +const goModuleVersion = "1.14.9" diff --git a/feature/s3/manager/bucket_region.go b/feature/s3/manager/bucket_region.go index 7fc13302c1e..8c701952949 100644 --- a/feature/s3/manager/bucket_region.go +++ b/feature/s3/manager/bucket_region.go @@ -58,13 +58,15 @@ const bucketRegionHeader = "X-Amz-Bucket-Region" // if err != nil { // panic(err) // } -// +// // If buckets are public, you may use anonymous credential like so. -// manager.GetBucketRegion(ctx, s3.NewFromConfig(cfg), bucket, func(o *s3.Options) { +// +// manager.GetBucketRegion(ctx, s3.NewFromConfig(cfg), bucket, func(o *s3.Options) { // o.Credentials = nil // // Or // o.Credentials = aws.AnonymousCredentials{} // }) +// // The request with anonymous credentials will not be signed. // Otherwise credentials would be required for private buckets. func GetBucketRegion(ctx context.Context, client HeadBucketAPIClient, bucket string, optFns ...func(*s3.Options)) (string, error) { diff --git a/service/apigateway/internal/endpoints/endpoints.go b/service/apigateway/internal/endpoints/endpoints.go index 9e60be424a6..310e00cd211 100644 --- a/service/apigateway/internal/endpoints/endpoints.go +++ b/service/apigateway/internal/endpoints/endpoints.go @@ -385,6 +385,9 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "us-iso-east-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-iso-west-1", + }: endpoints.Endpoint{}, }, }, { @@ -407,6 +410,11 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsIsoB, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "us-isob-east-1", + }: endpoints.Endpoint{}, + }, }, { ID: "aws-iso-e", diff --git a/service/apigatewayv2/internal/endpoints/endpoints.go b/service/apigatewayv2/internal/endpoints/endpoints.go index 90f2a726366..967af07547b 100644 --- a/service/apigatewayv2/internal/endpoints/endpoints.go +++ b/service/apigatewayv2/internal/endpoints/endpoints.go @@ -385,6 +385,9 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "us-iso-east-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-iso-west-1", + }: endpoints.Endpoint{}, }, }, { @@ -407,6 +410,11 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsIsoB, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "us-isob-east-1", + }: endpoints.Endpoint{}, + }, }, { ID: "aws-iso-e", diff --git a/service/cleanrooms/api_op_CreateCollaboration.go b/service/cleanrooms/api_op_CreateCollaboration.go index 98d4d1dad46..28f15b446ed 100644 --- a/service/cleanrooms/api_op_CreateCollaboration.go +++ b/service/cleanrooms/api_op_CreateCollaboration.go @@ -82,7 +82,7 @@ type CreateCollaborationInput struct { type CreateCollaborationOutput struct { - // The entire created collaboration object. + // The collaboration. // // This member is required. Collaboration *types.Collaboration diff --git a/service/cleanrooms/api_op_CreateConfiguredTableAnalysisRule.go b/service/cleanrooms/api_op_CreateConfiguredTableAnalysisRule.go index 491d6ba7441..f6423c6b797 100644 --- a/service/cleanrooms/api_op_CreateConfiguredTableAnalysisRule.go +++ b/service/cleanrooms/api_op_CreateConfiguredTableAnalysisRule.go @@ -30,7 +30,7 @@ func (c *Client) CreateConfiguredTableAnalysisRule(ctx context.Context, params * type CreateConfiguredTableAnalysisRuleInput struct { - // The entire created configured table analysis rule object. + // The analysis rule policy that was created for the configured table. // // This member is required. AnalysisRulePolicy types.ConfiguredTableAnalysisRulePolicy @@ -51,7 +51,7 @@ type CreateConfiguredTableAnalysisRuleInput struct { type CreateConfiguredTableAnalysisRuleOutput struct { - // The entire created analysis rule. + // The analysis rule that was created for the configured table. // // This member is required. AnalysisRule *types.ConfiguredTableAnalysisRule diff --git a/service/cleanrooms/api_op_CreateConfiguredTableAssociation.go b/service/cleanrooms/api_op_CreateConfiguredTableAssociation.go index 4f5e8182a7b..6871e626d59 100644 --- a/service/cleanrooms/api_op_CreateConfiguredTableAssociation.go +++ b/service/cleanrooms/api_op_CreateConfiguredTableAssociation.go @@ -69,7 +69,7 @@ type CreateConfiguredTableAssociationInput struct { type CreateConfiguredTableAssociationOutput struct { - // The entire configured table association object. + // The configured table association. // // This member is required. ConfiguredTableAssociation *types.ConfiguredTableAssociation diff --git a/service/cleanrooms/api_op_CreateConfiguredTableAssociationAnalysisRule.go b/service/cleanrooms/api_op_CreateConfiguredTableAssociationAnalysisRule.go new file mode 100644 index 00000000000..217b35b4f0f --- /dev/null +++ b/service/cleanrooms/api_op_CreateConfiguredTableAssociationAnalysisRule.go @@ -0,0 +1,163 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package cleanrooms + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/cleanrooms/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Creates a new analysis rule for an associated configured table. +func (c *Client) CreateConfiguredTableAssociationAnalysisRule(ctx context.Context, params *CreateConfiguredTableAssociationAnalysisRuleInput, optFns ...func(*Options)) (*CreateConfiguredTableAssociationAnalysisRuleOutput, error) { + if params == nil { + params = &CreateConfiguredTableAssociationAnalysisRuleInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "CreateConfiguredTableAssociationAnalysisRule", params, optFns, c.addOperationCreateConfiguredTableAssociationAnalysisRuleMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*CreateConfiguredTableAssociationAnalysisRuleOutput) + out.ResultMetadata = metadata + return out, nil +} + +type CreateConfiguredTableAssociationAnalysisRuleInput struct { + + // The analysis rule policy that was created for the configured table association. + // + // This member is required. + AnalysisRulePolicy types.ConfiguredTableAssociationAnalysisRulePolicy + + // The type of analysis rule. + // + // This member is required. + AnalysisRuleType types.ConfiguredTableAssociationAnalysisRuleType + + // The unique ID for the configured table association. Currently accepts the + // configured table association ID. + // + // This member is required. + ConfiguredTableAssociationIdentifier *string + + // A unique identifier for the membership that the configured table association + // belongs to. Currently accepts the membership ID. + // + // This member is required. + MembershipIdentifier *string + + noSmithyDocumentSerde +} + +type CreateConfiguredTableAssociationAnalysisRuleOutput struct { + + // The analysis rule for the configured table association. In the console, the + // ConfiguredTableAssociationAnalysisRule is referred to as the collaboration + // analysis rule. + // + // This member is required. + AnalysisRule *types.ConfiguredTableAssociationAnalysisRule + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationCreateConfiguredTableAssociationAnalysisRuleMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsRestjson1_serializeOpCreateConfiguredTableAssociationAnalysisRule{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpCreateConfiguredTableAssociationAnalysisRule{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "CreateConfiguredTableAssociationAnalysisRule"); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + + if err = addlegacyEndpointContextSetter(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack, options); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = addOpCreateConfiguredTableAssociationAnalysisRuleValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateConfiguredTableAssociationAnalysisRule(options.Region), middleware.Before); err != nil { + return err + } + if err = addRecursionDetection(stack); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + if err = addDisableHTTPSMiddleware(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opCreateConfiguredTableAssociationAnalysisRule(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "CreateConfiguredTableAssociationAnalysisRule", + } +} diff --git a/service/cleanrooms/api_op_DeleteConfiguredTableAssociationAnalysisRule.go b/service/cleanrooms/api_op_DeleteConfiguredTableAssociationAnalysisRule.go new file mode 100644 index 00000000000..5cf7644e916 --- /dev/null +++ b/service/cleanrooms/api_op_DeleteConfiguredTableAssociationAnalysisRule.go @@ -0,0 +1,150 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package cleanrooms + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/cleanrooms/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Deletes an analysis rule for a configured table association. +func (c *Client) DeleteConfiguredTableAssociationAnalysisRule(ctx context.Context, params *DeleteConfiguredTableAssociationAnalysisRuleInput, optFns ...func(*Options)) (*DeleteConfiguredTableAssociationAnalysisRuleOutput, error) { + if params == nil { + params = &DeleteConfiguredTableAssociationAnalysisRuleInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DeleteConfiguredTableAssociationAnalysisRule", params, optFns, c.addOperationDeleteConfiguredTableAssociationAnalysisRuleMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DeleteConfiguredTableAssociationAnalysisRuleOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DeleteConfiguredTableAssociationAnalysisRuleInput struct { + + // The type of the analysis rule that you want to delete. + // + // This member is required. + AnalysisRuleType types.ConfiguredTableAssociationAnalysisRuleType + + // The identifier for the configured table association that's related to the + // analysis rule that you want to delete. + // + // This member is required. + ConfiguredTableAssociationIdentifier *string + + // A unique identifier for the membership that the configured table association + // belongs to. Currently accepts the membership ID. + // + // This member is required. + MembershipIdentifier *string + + noSmithyDocumentSerde +} + +type DeleteConfiguredTableAssociationAnalysisRuleOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDeleteConfiguredTableAssociationAnalysisRuleMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsRestjson1_serializeOpDeleteConfiguredTableAssociationAnalysisRule{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpDeleteConfiguredTableAssociationAnalysisRule{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteConfiguredTableAssociationAnalysisRule"); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + + if err = addlegacyEndpointContextSetter(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack, options); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = addOpDeleteConfiguredTableAssociationAnalysisRuleValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteConfiguredTableAssociationAnalysisRule(options.Region), middleware.Before); err != nil { + return err + } + if err = addRecursionDetection(stack); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + if err = addDisableHTTPSMiddleware(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDeleteConfiguredTableAssociationAnalysisRule(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "DeleteConfiguredTableAssociationAnalysisRule", + } +} diff --git a/service/cleanrooms/api_op_GetConfiguredTableAssociationAnalysisRule.go b/service/cleanrooms/api_op_GetConfiguredTableAssociationAnalysisRule.go new file mode 100644 index 00000000000..ee0203b6f2c --- /dev/null +++ b/service/cleanrooms/api_op_GetConfiguredTableAssociationAnalysisRule.go @@ -0,0 +1,158 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package cleanrooms + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/cleanrooms/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Retrieves the analysis rule for a configured table association. +func (c *Client) GetConfiguredTableAssociationAnalysisRule(ctx context.Context, params *GetConfiguredTableAssociationAnalysisRuleInput, optFns ...func(*Options)) (*GetConfiguredTableAssociationAnalysisRuleOutput, error) { + if params == nil { + params = &GetConfiguredTableAssociationAnalysisRuleInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetConfiguredTableAssociationAnalysisRule", params, optFns, c.addOperationGetConfiguredTableAssociationAnalysisRuleMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetConfiguredTableAssociationAnalysisRuleOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetConfiguredTableAssociationAnalysisRuleInput struct { + + // The type of analysis rule that you want to retrieve. + // + // This member is required. + AnalysisRuleType types.ConfiguredTableAssociationAnalysisRuleType + + // The identifier for the configured table association that's related to the + // analysis rule. + // + // This member is required. + ConfiguredTableAssociationIdentifier *string + + // A unique identifier for the membership that the configured table association + // belongs to. Currently accepts the membership ID. + // + // This member is required. + MembershipIdentifier *string + + noSmithyDocumentSerde +} + +type GetConfiguredTableAssociationAnalysisRuleOutput struct { + + // The analysis rule for the configured table association. In the console, the + // ConfiguredTableAssociationAnalysisRule is referred to as the collaboration + // analysis rule. + // + // This member is required. + AnalysisRule *types.ConfiguredTableAssociationAnalysisRule + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetConfiguredTableAssociationAnalysisRuleMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsRestjson1_serializeOpGetConfiguredTableAssociationAnalysisRule{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpGetConfiguredTableAssociationAnalysisRule{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "GetConfiguredTableAssociationAnalysisRule"); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + + if err = addlegacyEndpointContextSetter(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack, options); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = addOpGetConfiguredTableAssociationAnalysisRuleValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetConfiguredTableAssociationAnalysisRule(options.Region), middleware.Before); err != nil { + return err + } + if err = addRecursionDetection(stack); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + if err = addDisableHTTPSMiddleware(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opGetConfiguredTableAssociationAnalysisRule(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "GetConfiguredTableAssociationAnalysisRule", + } +} diff --git a/service/cleanrooms/api_op_ListAnalysisTemplates.go b/service/cleanrooms/api_op_ListAnalysisTemplates.go index 03346bed8ab..b5902340cdd 100644 --- a/service/cleanrooms/api_op_ListAnalysisTemplates.go +++ b/service/cleanrooms/api_op_ListAnalysisTemplates.go @@ -34,12 +34,11 @@ type ListAnalysisTemplatesInput struct { // This member is required. MembershipIdentifier *string - // 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. + // The maximum size of the results that is returned per call. MaxResults *int32 - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string noSmithyDocumentSerde @@ -52,7 +51,8 @@ type ListAnalysisTemplatesOutput struct { // This member is required. AnalysisTemplateSummaries []types.AnalysisTemplateSummary - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // Metadata pertaining to the operation's result. @@ -149,9 +149,7 @@ func (c *Client) addOperationListAnalysisTemplatesMiddlewares(stack *middleware. // ListAnalysisTemplatesPaginatorOptions is the paginator options for // ListAnalysisTemplates type ListAnalysisTemplatesPaginatorOptions struct { - // 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. + // The maximum size of the results that is returned per call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_ListCollaborationAnalysisTemplates.go b/service/cleanrooms/api_op_ListCollaborationAnalysisTemplates.go index 82824b0e230..93ee68f08cb 100644 --- a/service/cleanrooms/api_op_ListCollaborationAnalysisTemplates.go +++ b/service/cleanrooms/api_op_ListCollaborationAnalysisTemplates.go @@ -35,12 +35,11 @@ type ListCollaborationAnalysisTemplatesInput struct { // This member is required. CollaborationIdentifier *string - // 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. + // The maximum size of the results that is returned per call. MaxResults *int32 - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string noSmithyDocumentSerde @@ -53,7 +52,8 @@ type ListCollaborationAnalysisTemplatesOutput struct { // This member is required. CollaborationAnalysisTemplateSummaries []types.CollaborationAnalysisTemplateSummary - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // Metadata pertaining to the operation's result. @@ -150,9 +150,7 @@ func (c *Client) addOperationListCollaborationAnalysisTemplatesMiddlewares(stack // ListCollaborationAnalysisTemplatesPaginatorOptions is the paginator options for // ListCollaborationAnalysisTemplates type ListCollaborationAnalysisTemplatesPaginatorOptions struct { - // 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. + // The maximum size of the results that is returned per call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_ListCollaborationConfiguredAudienceModelAssociations.go b/service/cleanrooms/api_op_ListCollaborationConfiguredAudienceModelAssociations.go index ab8a99add9d..524a59b09f0 100644 --- a/service/cleanrooms/api_op_ListCollaborationConfiguredAudienceModelAssociations.go +++ b/service/cleanrooms/api_op_ListCollaborationConfiguredAudienceModelAssociations.go @@ -35,12 +35,11 @@ type ListCollaborationConfiguredAudienceModelAssociationsInput struct { // This member is required. CollaborationIdentifier *string - // 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. + // The maximum size of the results that is returned per call. MaxResults *int32 - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string noSmithyDocumentSerde @@ -54,7 +53,8 @@ type ListCollaborationConfiguredAudienceModelAssociationsOutput struct { // This member is required. CollaborationConfiguredAudienceModelAssociationSummaries []types.CollaborationConfiguredAudienceModelAssociationSummary - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // Metadata pertaining to the operation's result. @@ -151,9 +151,7 @@ func (c *Client) addOperationListCollaborationConfiguredAudienceModelAssociation // ListCollaborationConfiguredAudienceModelAssociationsPaginatorOptions is the // paginator options for ListCollaborationConfiguredAudienceModelAssociations type ListCollaborationConfiguredAudienceModelAssociationsPaginatorOptions struct { - // 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. + // The maximum size of the results that is returned per call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_ListCollaborationPrivacyBudgetTemplates.go b/service/cleanrooms/api_op_ListCollaborationPrivacyBudgetTemplates.go index fbbd2489a11..1dcb2e463d1 100644 --- a/service/cleanrooms/api_op_ListCollaborationPrivacyBudgetTemplates.go +++ b/service/cleanrooms/api_op_ListCollaborationPrivacyBudgetTemplates.go @@ -35,12 +35,13 @@ type ListCollaborationPrivacyBudgetTemplatesInput struct { // This member is required. CollaborationIdentifier *string - // 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. + // 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 *int32 - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string noSmithyDocumentSerde @@ -55,7 +56,8 @@ type ListCollaborationPrivacyBudgetTemplatesOutput struct { // This member is required. CollaborationPrivacyBudgetTemplateSummaries []types.CollaborationPrivacyBudgetTemplateSummary - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // Metadata pertaining to the operation's result. @@ -152,9 +154,9 @@ func (c *Client) addOperationListCollaborationPrivacyBudgetTemplatesMiddlewares( // ListCollaborationPrivacyBudgetTemplatesPaginatorOptions is the paginator // options for ListCollaborationPrivacyBudgetTemplates type ListCollaborationPrivacyBudgetTemplatesPaginatorOptions struct { - // 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. + // 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. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_ListCollaborationPrivacyBudgets.go b/service/cleanrooms/api_op_ListCollaborationPrivacyBudgets.go index 61961ec02d8..be36422d526 100644 --- a/service/cleanrooms/api_op_ListCollaborationPrivacyBudgets.go +++ b/service/cleanrooms/api_op_ListCollaborationPrivacyBudgets.go @@ -41,12 +41,13 @@ type ListCollaborationPrivacyBudgetsInput struct { // This member is required. PrivacyBudgetType types.PrivacyBudgetType - // 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. + // 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 *int32 - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string noSmithyDocumentSerde @@ -59,7 +60,8 @@ type ListCollaborationPrivacyBudgetsOutput struct { // This member is required. CollaborationPrivacyBudgetSummaries []types.CollaborationPrivacyBudgetSummary - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // Metadata pertaining to the operation's result. @@ -156,9 +158,9 @@ func (c *Client) addOperationListCollaborationPrivacyBudgetsMiddlewares(stack *m // ListCollaborationPrivacyBudgetsPaginatorOptions is the paginator options for // ListCollaborationPrivacyBudgets type ListCollaborationPrivacyBudgetsPaginatorOptions struct { - // 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. + // 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. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_ListCollaborations.go b/service/cleanrooms/api_op_ListCollaborations.go index d7d0a3363dd..b8cd4c817df 100644 --- a/service/cleanrooms/api_op_ListCollaborations.go +++ b/service/cleanrooms/api_op_ListCollaborations.go @@ -29,15 +29,16 @@ func (c *Client) ListCollaborations(ctx context.Context, params *ListCollaborati type ListCollaborationsInput struct { - // 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. + // 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 *int32 // The caller's status in a collaboration. MemberStatus types.FilterableMemberStatus - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string noSmithyDocumentSerde @@ -50,7 +51,8 @@ type ListCollaborationsOutput struct { // This member is required. CollaborationList []types.CollaborationSummary - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // Metadata pertaining to the operation's result. @@ -144,9 +146,9 @@ func (c *Client) addOperationListCollaborationsMiddlewares(stack *middleware.Sta // ListCollaborationsPaginatorOptions is the paginator options for // ListCollaborations type ListCollaborationsPaginatorOptions struct { - // 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. + // 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. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_ListConfiguredAudienceModelAssociations.go b/service/cleanrooms/api_op_ListConfiguredAudienceModelAssociations.go index 3d865a82836..560172d809e 100644 --- a/service/cleanrooms/api_op_ListConfiguredAudienceModelAssociations.go +++ b/service/cleanrooms/api_op_ListConfiguredAudienceModelAssociations.go @@ -35,12 +35,13 @@ type ListConfiguredAudienceModelAssociationsInput struct { // This member is required. MembershipIdentifier *string - // 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. + // 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 *int32 - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string noSmithyDocumentSerde @@ -150,9 +151,9 @@ func (c *Client) addOperationListConfiguredAudienceModelAssociationsMiddlewares( // ListConfiguredAudienceModelAssociationsPaginatorOptions is the paginator // options for ListConfiguredAudienceModelAssociations type ListConfiguredAudienceModelAssociationsPaginatorOptions struct { - // 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. + // 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. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_ListConfiguredTableAssociations.go b/service/cleanrooms/api_op_ListConfiguredTableAssociations.go index 08ce8b5166e..7aaeeff37fd 100644 --- a/service/cleanrooms/api_op_ListConfiguredTableAssociations.go +++ b/service/cleanrooms/api_op_ListConfiguredTableAssociations.go @@ -35,12 +35,11 @@ type ListConfiguredTableAssociationsInput struct { // This member is required. MembershipIdentifier *string - // 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. + // The maximum size of the results that is returned per call. MaxResults *int32 - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string noSmithyDocumentSerde @@ -53,7 +52,8 @@ type ListConfiguredTableAssociationsOutput struct { // This member is required. ConfiguredTableAssociationSummaries []types.ConfiguredTableAssociationSummary - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // Metadata pertaining to the operation's result. @@ -150,9 +150,7 @@ func (c *Client) addOperationListConfiguredTableAssociationsMiddlewares(stack *m // ListConfiguredTableAssociationsPaginatorOptions is the paginator options for // ListConfiguredTableAssociations type ListConfiguredTableAssociationsPaginatorOptions struct { - // 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. + // The maximum size of the results that is returned per call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_ListConfiguredTables.go b/service/cleanrooms/api_op_ListConfiguredTables.go index acb3d2e954a..11ac118342a 100644 --- a/service/cleanrooms/api_op_ListConfiguredTables.go +++ b/service/cleanrooms/api_op_ListConfiguredTables.go @@ -29,12 +29,11 @@ func (c *Client) ListConfiguredTables(ctx context.Context, params *ListConfigure type ListConfiguredTablesInput struct { - // 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. + // The maximum size of the results that is returned per call. MaxResults *int32 - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string noSmithyDocumentSerde @@ -47,7 +46,8 @@ type ListConfiguredTablesOutput struct { // This member is required. ConfiguredTableSummaries []types.ConfiguredTableSummary - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // Metadata pertaining to the operation's result. @@ -141,9 +141,7 @@ func (c *Client) addOperationListConfiguredTablesMiddlewares(stack *middleware.S // ListConfiguredTablesPaginatorOptions is the paginator options for // ListConfiguredTables type ListConfiguredTablesPaginatorOptions struct { - // 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. + // The maximum size of the results that is returned per call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_ListMembers.go b/service/cleanrooms/api_op_ListMembers.go index 0b6cc3b3d84..ea293cca21c 100644 --- a/service/cleanrooms/api_op_ListMembers.go +++ b/service/cleanrooms/api_op_ListMembers.go @@ -34,12 +34,11 @@ type ListMembersInput struct { // This member is required. CollaborationIdentifier *string - // 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. + // The maximum size of the results that is returned per call. MaxResults *int32 - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string noSmithyDocumentSerde @@ -52,7 +51,8 @@ type ListMembersOutput struct { // This member is required. MemberSummaries []types.MemberSummary - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // Metadata pertaining to the operation's result. @@ -148,9 +148,7 @@ func (c *Client) addOperationListMembersMiddlewares(stack *middleware.Stack, opt // ListMembersPaginatorOptions is the paginator options for ListMembers type ListMembersPaginatorOptions struct { - // 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. + // The maximum size of the results that is returned per call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_ListMemberships.go b/service/cleanrooms/api_op_ListMemberships.go index bb742c5c250..2cf5bad40a9 100644 --- a/service/cleanrooms/api_op_ListMemberships.go +++ b/service/cleanrooms/api_op_ListMemberships.go @@ -29,12 +29,11 @@ func (c *Client) ListMemberships(ctx context.Context, params *ListMembershipsInp type ListMembershipsInput struct { - // 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. + // The maximum size of the results that is returned per call. MaxResults *int32 - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // A filter which will return only memberships in the specified status. @@ -50,7 +49,8 @@ type ListMembershipsOutput struct { // This member is required. MembershipSummaries []types.MembershipSummary - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // Metadata pertaining to the operation's result. @@ -143,9 +143,7 @@ func (c *Client) addOperationListMembershipsMiddlewares(stack *middleware.Stack, // ListMembershipsPaginatorOptions is the paginator options for ListMemberships type ListMembershipsPaginatorOptions struct { - // 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. + // The maximum size of the results that is returned per call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_ListPrivacyBudgetTemplates.go b/service/cleanrooms/api_op_ListPrivacyBudgetTemplates.go index bfa93da00c5..ea30ac18430 100644 --- a/service/cleanrooms/api_op_ListPrivacyBudgetTemplates.go +++ b/service/cleanrooms/api_op_ListPrivacyBudgetTemplates.go @@ -37,12 +37,13 @@ type ListPrivacyBudgetTemplatesInput struct { // This member is required. MembershipIdentifier *string - // 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. + // 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 *int32 - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string noSmithyDocumentSerde @@ -56,7 +57,8 @@ type ListPrivacyBudgetTemplatesOutput struct { // This member is required. PrivacyBudgetTemplateSummaries []types.PrivacyBudgetTemplateSummary - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // Metadata pertaining to the operation's result. @@ -153,9 +155,9 @@ func (c *Client) addOperationListPrivacyBudgetTemplatesMiddlewares(stack *middle // ListPrivacyBudgetTemplatesPaginatorOptions is the paginator options for // ListPrivacyBudgetTemplates type ListPrivacyBudgetTemplatesPaginatorOptions struct { - // 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. + // 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. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_ListPrivacyBudgets.go b/service/cleanrooms/api_op_ListPrivacyBudgets.go index a35e381b85c..251bbb97256 100644 --- a/service/cleanrooms/api_op_ListPrivacyBudgets.go +++ b/service/cleanrooms/api_op_ListPrivacyBudgets.go @@ -42,12 +42,13 @@ type ListPrivacyBudgetsInput struct { // This member is required. PrivacyBudgetType types.PrivacyBudgetType - // 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. + // 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 *int32 - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string noSmithyDocumentSerde @@ -62,7 +63,8 @@ type ListPrivacyBudgetsOutput struct { // This member is required. PrivacyBudgetSummaries []types.PrivacyBudgetSummary - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // Metadata pertaining to the operation's result. @@ -159,9 +161,9 @@ func (c *Client) addOperationListPrivacyBudgetsMiddlewares(stack *middleware.Sta // ListPrivacyBudgetsPaginatorOptions is the paginator options for // ListPrivacyBudgets type ListPrivacyBudgetsPaginatorOptions struct { - // 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. + // 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. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_ListProtectedQueries.go b/service/cleanrooms/api_op_ListProtectedQueries.go index 54e799e7d17..2a62a6ee867 100644 --- a/service/cleanrooms/api_op_ListProtectedQueries.go +++ b/service/cleanrooms/api_op_ListProtectedQueries.go @@ -34,12 +34,13 @@ type ListProtectedQueriesInput struct { // This member is required. MembershipIdentifier *string - // 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. + // 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. MaxResults *int32 - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // A filter on the status of the protected query. @@ -55,7 +56,8 @@ type ListProtectedQueriesOutput struct { // This member is required. ProtectedQueries []types.ProtectedQuerySummary - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // Metadata pertaining to the operation's result. @@ -152,9 +154,9 @@ func (c *Client) addOperationListProtectedQueriesMiddlewares(stack *middleware.S // ListProtectedQueriesPaginatorOptions is the paginator options for // ListProtectedQueries type ListProtectedQueriesPaginatorOptions struct { - // 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. + // 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. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_ListSchemas.go b/service/cleanrooms/api_op_ListSchemas.go index 36877158e03..cbdc6a59623 100644 --- a/service/cleanrooms/api_op_ListSchemas.go +++ b/service/cleanrooms/api_op_ListSchemas.go @@ -35,15 +35,15 @@ type ListSchemasInput struct { // This member is required. CollaborationIdentifier *string - // 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. + // The maximum size of the results that is returned per call. MaxResults *int32 - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string - // If present, filter schemas by schema type. + // If present, filter schemas by schema type. The only valid schema type is + // currently `TABLE`. SchemaType types.SchemaType noSmithyDocumentSerde @@ -56,7 +56,8 @@ type ListSchemasOutput struct { // This member is required. SchemaSummaries []types.SchemaSummary - // The pagination token that's used to fetch the next set of results. + // The token value retrieved from a previous call to access the next page of + // results. NextToken *string // Metadata pertaining to the operation's result. @@ -152,9 +153,7 @@ func (c *Client) addOperationListSchemasMiddlewares(stack *middleware.Stack, opt // ListSchemasPaginatorOptions is the paginator options for ListSchemas type ListSchemasPaginatorOptions struct { - // 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. + // The maximum size of the results that is returned per call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cleanrooms/api_op_UpdateConfiguredTableAssociationAnalysisRule.go b/service/cleanrooms/api_op_UpdateConfiguredTableAssociationAnalysisRule.go new file mode 100644 index 00000000000..87643bb3d79 --- /dev/null +++ b/service/cleanrooms/api_op_UpdateConfiguredTableAssociationAnalysisRule.go @@ -0,0 +1,162 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package cleanrooms + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/cleanrooms/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Updates the analysis rule for a configured table association. +func (c *Client) UpdateConfiguredTableAssociationAnalysisRule(ctx context.Context, params *UpdateConfiguredTableAssociationAnalysisRuleInput, optFns ...func(*Options)) (*UpdateConfiguredTableAssociationAnalysisRuleOutput, error) { + if params == nil { + params = &UpdateConfiguredTableAssociationAnalysisRuleInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "UpdateConfiguredTableAssociationAnalysisRule", params, optFns, c.addOperationUpdateConfiguredTableAssociationAnalysisRuleMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*UpdateConfiguredTableAssociationAnalysisRuleOutput) + out.ResultMetadata = metadata + return out, nil +} + +type UpdateConfiguredTableAssociationAnalysisRuleInput struct { + + // The updated analysis rule policy for the configured table association. + // + // This member is required. + AnalysisRulePolicy types.ConfiguredTableAssociationAnalysisRulePolicy + + // The analysis rule type that you want to update. + // + // This member is required. + AnalysisRuleType types.ConfiguredTableAssociationAnalysisRuleType + + // The identifier for the configured table association to update. + // + // This member is required. + ConfiguredTableAssociationIdentifier *string + + // A unique identifier for the membership that the configured table association + // belongs to. Currently accepts the membership ID. + // + // This member is required. + MembershipIdentifier *string + + noSmithyDocumentSerde +} + +type UpdateConfiguredTableAssociationAnalysisRuleOutput struct { + + // The updated analysis rule for the configured table association. In the console, + // the ConfiguredTableAssociationAnalysisRule is referred to as the collaboration + // analysis rule. + // + // This member is required. + AnalysisRule *types.ConfiguredTableAssociationAnalysisRule + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationUpdateConfiguredTableAssociationAnalysisRuleMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsRestjson1_serializeOpUpdateConfiguredTableAssociationAnalysisRule{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpUpdateConfiguredTableAssociationAnalysisRule{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "UpdateConfiguredTableAssociationAnalysisRule"); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + + if err = addlegacyEndpointContextSetter(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack, options); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = addOpUpdateConfiguredTableAssociationAnalysisRuleValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateConfiguredTableAssociationAnalysisRule(options.Region), middleware.Before); err != nil { + return err + } + if err = addRecursionDetection(stack); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + if err = addDisableHTTPSMiddleware(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opUpdateConfiguredTableAssociationAnalysisRule(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "UpdateConfiguredTableAssociationAnalysisRule", + } +} diff --git a/service/cleanrooms/deserializers.go b/service/cleanrooms/deserializers.go index b4b08b0dd29..456001347bc 100644 --- a/service/cleanrooms/deserializers.go +++ b/service/cleanrooms/deserializers.go @@ -1504,6 +1504,168 @@ func awsRestjson1_deserializeOpDocumentCreateConfiguredTableAssociationOutput(v return nil } +type awsRestjson1_deserializeOpCreateConfiguredTableAssociationAnalysisRule struct { +} + +func (*awsRestjson1_deserializeOpCreateConfiguredTableAssociationAnalysisRule) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpCreateConfiguredTableAssociationAnalysisRule) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorCreateConfiguredTableAssociationAnalysisRule(response, &metadata) + } + output := &CreateConfiguredTableAssociationAnalysisRuleOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentCreateConfiguredTableAssociationAnalysisRuleOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorCreateConfiguredTableAssociationAnalysisRule(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + headerCode := response.Header.Get("X-Amzn-ErrorType") + if len(headerCode) != 0 { + errorCode = restjson.SanitizeErrorCode(headerCode) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + jsonCode, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(headerCode) == 0 && len(jsonCode) != 0 { + errorCode = restjson.SanitizeErrorCode(jsonCode) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentCreateConfiguredTableAssociationAnalysisRuleOutput(v **CreateConfiguredTableAssociationAnalysisRuleOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *CreateConfiguredTableAssociationAnalysisRuleOutput + if *v == nil { + sv = &CreateConfiguredTableAssociationAnalysisRuleOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "analysisRule": + if err := awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRule(&sv.AnalysisRule, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpCreateIdMappingTable struct { } @@ -2737,6 +2899,104 @@ func awsRestjson1_deserializeOpErrorDeleteConfiguredTableAssociation(response *s } } +type awsRestjson1_deserializeOpDeleteConfiguredTableAssociationAnalysisRule struct { +} + +func (*awsRestjson1_deserializeOpDeleteConfiguredTableAssociationAnalysisRule) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpDeleteConfiguredTableAssociationAnalysisRule) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorDeleteConfiguredTableAssociationAnalysisRule(response, &metadata) + } + output := &DeleteConfiguredTableAssociationAnalysisRuleOutput{} + out.Result = output + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorDeleteConfiguredTableAssociationAnalysisRule(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + headerCode := response.Header.Get("X-Amzn-ErrorType") + if len(headerCode) != 0 { + errorCode = restjson.SanitizeErrorCode(headerCode) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + jsonCode, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(headerCode) == 0 && len(jsonCode) != 0 { + errorCode = restjson.SanitizeErrorCode(jsonCode) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsRestjson1_deserializeOpDeleteIdMappingTable struct { } @@ -4805,14 +5065,14 @@ func awsRestjson1_deserializeOpDocumentGetConfiguredTableAssociationOutput(v **G return nil } -type awsRestjson1_deserializeOpGetIdMappingTable struct { +type awsRestjson1_deserializeOpGetConfiguredTableAssociationAnalysisRule struct { } -func (*awsRestjson1_deserializeOpGetIdMappingTable) ID() string { +func (*awsRestjson1_deserializeOpGetConfiguredTableAssociationAnalysisRule) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpGetIdMappingTable) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpGetConfiguredTableAssociationAnalysisRule) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4826,9 +5086,9 @@ func (m *awsRestjson1_deserializeOpGetIdMappingTable) HandleDeserialize(ctx cont } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorGetIdMappingTable(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorGetConfiguredTableAssociationAnalysisRule(response, &metadata) } - output := &GetIdMappingTableOutput{} + output := &GetConfiguredTableAssociationAnalysisRuleOutput{} out.Result = output var buff [1024]byte @@ -4849,7 +5109,7 @@ func (m *awsRestjson1_deserializeOpGetIdMappingTable) HandleDeserialize(ctx cont return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentGetIdMappingTableOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentGetConfiguredTableAssociationAnalysisRuleOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4862,7 +5122,7 @@ func (m *awsRestjson1_deserializeOpGetIdMappingTable) HandleDeserialize(ctx cont return out, metadata, err } -func awsRestjson1_deserializeOpErrorGetIdMappingTable(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorGetConfiguredTableAssociationAnalysisRule(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4928,7 +5188,7 @@ func awsRestjson1_deserializeOpErrorGetIdMappingTable(response *smithyhttp.Respo } } -func awsRestjson1_deserializeOpDocumentGetIdMappingTableOutput(v **GetIdMappingTableOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentGetConfiguredTableAssociationAnalysisRuleOutput(v **GetConfiguredTableAssociationAnalysisRuleOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4941,17 +5201,176 @@ func awsRestjson1_deserializeOpDocumentGetIdMappingTableOutput(v **GetIdMappingT return fmt.Errorf("unexpected JSON type %v", value) } - var sv *GetIdMappingTableOutput + var sv *GetConfiguredTableAssociationAnalysisRuleOutput if *v == nil { - sv = &GetIdMappingTableOutput{} + sv = &GetConfiguredTableAssociationAnalysisRuleOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "idMappingTable": - if err := awsRestjson1_deserializeDocumentIdMappingTable(&sv.IdMappingTable, value); err != nil { + case "analysisRule": + if err := awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRule(&sv.AnalysisRule, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpGetIdMappingTable struct { +} + +func (*awsRestjson1_deserializeOpGetIdMappingTable) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpGetIdMappingTable) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorGetIdMappingTable(response, &metadata) + } + output := &GetIdMappingTableOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentGetIdMappingTableOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorGetIdMappingTable(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + headerCode := response.Header.Get("X-Amzn-ErrorType") + if len(headerCode) != 0 { + errorCode = restjson.SanitizeErrorCode(headerCode) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + jsonCode, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(headerCode) == 0 && len(jsonCode) != 0 { + errorCode = restjson.SanitizeErrorCode(jsonCode) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentGetIdMappingTableOutput(v **GetIdMappingTableOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *GetIdMappingTableOutput + if *v == nil { + sv = &GetIdMappingTableOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "idMappingTable": + if err := awsRestjson1_deserializeDocumentIdMappingTable(&sv.IdMappingTable, value); err != nil { return err } @@ -10702,14 +11121,14 @@ func awsRestjson1_deserializeOpDocumentUpdateConfiguredTableAssociationOutput(v return nil } -type awsRestjson1_deserializeOpUpdateIdMappingTable struct { +type awsRestjson1_deserializeOpUpdateConfiguredTableAssociationAnalysisRule struct { } -func (*awsRestjson1_deserializeOpUpdateIdMappingTable) ID() string { +func (*awsRestjson1_deserializeOpUpdateConfiguredTableAssociationAnalysisRule) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpUpdateIdMappingTable) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpUpdateConfiguredTableAssociationAnalysisRule) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -10723,9 +11142,9 @@ func (m *awsRestjson1_deserializeOpUpdateIdMappingTable) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUpdateIdMappingTable(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorUpdateConfiguredTableAssociationAnalysisRule(response, &metadata) } - output := &UpdateIdMappingTableOutput{} + output := &UpdateConfiguredTableAssociationAnalysisRuleOutput{} out.Result = output var buff [1024]byte @@ -10746,7 +11165,7 @@ func (m *awsRestjson1_deserializeOpUpdateIdMappingTable) HandleDeserialize(ctx c return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentUpdateIdMappingTableOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentUpdateConfiguredTableAssociationAnalysisRuleOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10759,7 +11178,7 @@ func (m *awsRestjson1_deserializeOpUpdateIdMappingTable) HandleDeserialize(ctx c return out, metadata, err } -func awsRestjson1_deserializeOpErrorUpdateIdMappingTable(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorUpdateConfiguredTableAssociationAnalysisRule(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -10803,6 +11222,9 @@ func awsRestjson1_deserializeOpErrorUpdateIdMappingTable(response *smithyhttp.Re case strings.EqualFold("AccessDeniedException", errorCode): return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) @@ -10825,7 +11247,7 @@ func awsRestjson1_deserializeOpErrorUpdateIdMappingTable(response *smithyhttp.Re } } -func awsRestjson1_deserializeOpDocumentUpdateIdMappingTableOutput(v **UpdateIdMappingTableOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentUpdateConfiguredTableAssociationAnalysisRuleOutput(v **UpdateConfiguredTableAssociationAnalysisRuleOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -10838,17 +11260,17 @@ func awsRestjson1_deserializeOpDocumentUpdateIdMappingTableOutput(v **UpdateIdMa return fmt.Errorf("unexpected JSON type %v", value) } - var sv *UpdateIdMappingTableOutput + var sv *UpdateConfiguredTableAssociationAnalysisRuleOutput if *v == nil { - sv = &UpdateIdMappingTableOutput{} + sv = &UpdateConfiguredTableAssociationAnalysisRuleOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "idMappingTable": - if err := awsRestjson1_deserializeDocumentIdMappingTable(&sv.IdMappingTable, value); err != nil { + case "analysisRule": + if err := awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRule(&sv.AnalysisRule, value); err != nil { return err } @@ -10861,14 +11283,14 @@ func awsRestjson1_deserializeOpDocumentUpdateIdMappingTableOutput(v **UpdateIdMa return nil } -type awsRestjson1_deserializeOpUpdateIdNamespaceAssociation struct { +type awsRestjson1_deserializeOpUpdateIdMappingTable struct { } -func (*awsRestjson1_deserializeOpUpdateIdNamespaceAssociation) ID() string { +func (*awsRestjson1_deserializeOpUpdateIdMappingTable) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpUpdateIdNamespaceAssociation) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpUpdateIdMappingTable) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -10882,9 +11304,9 @@ func (m *awsRestjson1_deserializeOpUpdateIdNamespaceAssociation) HandleDeseriali } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUpdateIdNamespaceAssociation(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorUpdateIdMappingTable(response, &metadata) } - output := &UpdateIdNamespaceAssociationOutput{} + output := &UpdateIdMappingTableOutput{} out.Result = output var buff [1024]byte @@ -10905,7 +11327,7 @@ func (m *awsRestjson1_deserializeOpUpdateIdNamespaceAssociation) HandleDeseriali return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentUpdateIdNamespaceAssociationOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentUpdateIdMappingTableOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10918,7 +11340,7 @@ func (m *awsRestjson1_deserializeOpUpdateIdNamespaceAssociation) HandleDeseriali return out, metadata, err } -func awsRestjson1_deserializeOpErrorUpdateIdNamespaceAssociation(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorUpdateIdMappingTable(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -10984,7 +11406,7 @@ func awsRestjson1_deserializeOpErrorUpdateIdNamespaceAssociation(response *smith } } -func awsRestjson1_deserializeOpDocumentUpdateIdNamespaceAssociationOutput(v **UpdateIdNamespaceAssociationOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentUpdateIdMappingTableOutput(v **UpdateIdMappingTableOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -10997,17 +11419,17 @@ func awsRestjson1_deserializeOpDocumentUpdateIdNamespaceAssociationOutput(v **Up return fmt.Errorf("unexpected JSON type %v", value) } - var sv *UpdateIdNamespaceAssociationOutput + var sv *UpdateIdMappingTableOutput if *v == nil { - sv = &UpdateIdNamespaceAssociationOutput{} + sv = &UpdateIdMappingTableOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "idNamespaceAssociation": - if err := awsRestjson1_deserializeDocumentIdNamespaceAssociation(&sv.IdNamespaceAssociation, value); err != nil { + case "idMappingTable": + if err := awsRestjson1_deserializeDocumentIdMappingTable(&sv.IdMappingTable, value); err != nil { return err } @@ -11020,14 +11442,14 @@ func awsRestjson1_deserializeOpDocumentUpdateIdNamespaceAssociationOutput(v **Up return nil } -type awsRestjson1_deserializeOpUpdateMembership struct { +type awsRestjson1_deserializeOpUpdateIdNamespaceAssociation struct { } -func (*awsRestjson1_deserializeOpUpdateMembership) ID() string { +func (*awsRestjson1_deserializeOpUpdateIdNamespaceAssociation) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpUpdateMembership) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpUpdateIdNamespaceAssociation) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -11041,9 +11463,9 @@ func (m *awsRestjson1_deserializeOpUpdateMembership) HandleDeserialize(ctx conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUpdateMembership(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorUpdateIdNamespaceAssociation(response, &metadata) } - output := &UpdateMembershipOutput{} + output := &UpdateIdNamespaceAssociationOutput{} out.Result = output var buff [1024]byte @@ -11064,7 +11486,7 @@ func (m *awsRestjson1_deserializeOpUpdateMembership) HandleDeserialize(ctx conte return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentUpdateMembershipOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentUpdateIdNamespaceAssociationOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -11077,7 +11499,7 @@ func (m *awsRestjson1_deserializeOpUpdateMembership) HandleDeserialize(ctx conte return out, metadata, err } -func awsRestjson1_deserializeOpErrorUpdateMembership(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorUpdateIdNamespaceAssociation(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -11121,9 +11543,6 @@ func awsRestjson1_deserializeOpErrorUpdateMembership(response *smithyhttp.Respon case strings.EqualFold("AccessDeniedException", errorCode): return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("ConflictException", errorCode): - return awsRestjson1_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) @@ -11146,7 +11565,7 @@ func awsRestjson1_deserializeOpErrorUpdateMembership(response *smithyhttp.Respon } } -func awsRestjson1_deserializeOpDocumentUpdateMembershipOutput(v **UpdateMembershipOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentUpdateIdNamespaceAssociationOutput(v **UpdateIdNamespaceAssociationOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -11159,17 +11578,17 @@ func awsRestjson1_deserializeOpDocumentUpdateMembershipOutput(v **UpdateMembersh return fmt.Errorf("unexpected JSON type %v", value) } - var sv *UpdateMembershipOutput + var sv *UpdateIdNamespaceAssociationOutput if *v == nil { - sv = &UpdateMembershipOutput{} + sv = &UpdateIdNamespaceAssociationOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "membership": - if err := awsRestjson1_deserializeDocumentMembership(&sv.Membership, value); err != nil { + case "idNamespaceAssociation": + if err := awsRestjson1_deserializeDocumentIdNamespaceAssociation(&sv.IdNamespaceAssociation, value); err != nil { return err } @@ -11182,14 +11601,14 @@ func awsRestjson1_deserializeOpDocumentUpdateMembershipOutput(v **UpdateMembersh return nil } -type awsRestjson1_deserializeOpUpdatePrivacyBudgetTemplate struct { +type awsRestjson1_deserializeOpUpdateMembership struct { } -func (*awsRestjson1_deserializeOpUpdatePrivacyBudgetTemplate) ID() string { +func (*awsRestjson1_deserializeOpUpdateMembership) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpUpdatePrivacyBudgetTemplate) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpUpdateMembership) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -11203,9 +11622,9 @@ func (m *awsRestjson1_deserializeOpUpdatePrivacyBudgetTemplate) HandleDeserializ } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUpdatePrivacyBudgetTemplate(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorUpdateMembership(response, &metadata) } - output := &UpdatePrivacyBudgetTemplateOutput{} + output := &UpdateMembershipOutput{} out.Result = output var buff [1024]byte @@ -11226,7 +11645,7 @@ func (m *awsRestjson1_deserializeOpUpdatePrivacyBudgetTemplate) HandleDeserializ return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentUpdatePrivacyBudgetTemplateOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentUpdateMembershipOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -11239,7 +11658,7 @@ func (m *awsRestjson1_deserializeOpUpdatePrivacyBudgetTemplate) HandleDeserializ return out, metadata, err } -func awsRestjson1_deserializeOpErrorUpdatePrivacyBudgetTemplate(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorUpdateMembership(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -11308,7 +11727,7 @@ func awsRestjson1_deserializeOpErrorUpdatePrivacyBudgetTemplate(response *smithy } } -func awsRestjson1_deserializeOpDocumentUpdatePrivacyBudgetTemplateOutput(v **UpdatePrivacyBudgetTemplateOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentUpdateMembershipOutput(v **UpdateMembershipOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -11321,17 +11740,17 @@ func awsRestjson1_deserializeOpDocumentUpdatePrivacyBudgetTemplateOutput(v **Upd return fmt.Errorf("unexpected JSON type %v", value) } - var sv *UpdatePrivacyBudgetTemplateOutput + var sv *UpdateMembershipOutput if *v == nil { - sv = &UpdatePrivacyBudgetTemplateOutput{} + sv = &UpdateMembershipOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "privacyBudgetTemplate": - if err := awsRestjson1_deserializeDocumentPrivacyBudgetTemplate(&sv.PrivacyBudgetTemplate, value); err != nil { + case "membership": + if err := awsRestjson1_deserializeDocumentMembership(&sv.Membership, value); err != nil { return err } @@ -11344,14 +11763,176 @@ func awsRestjson1_deserializeOpDocumentUpdatePrivacyBudgetTemplateOutput(v **Upd return nil } -type awsRestjson1_deserializeOpUpdateProtectedQuery struct { +type awsRestjson1_deserializeOpUpdatePrivacyBudgetTemplate struct { } -func (*awsRestjson1_deserializeOpUpdateProtectedQuery) ID() string { +func (*awsRestjson1_deserializeOpUpdatePrivacyBudgetTemplate) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpUpdateProtectedQuery) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpUpdatePrivacyBudgetTemplate) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUpdatePrivacyBudgetTemplate(response, &metadata) + } + output := &UpdatePrivacyBudgetTemplateOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentUpdatePrivacyBudgetTemplateOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorUpdatePrivacyBudgetTemplate(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + headerCode := response.Header.Get("X-Amzn-ErrorType") + if len(headerCode) != 0 { + errorCode = restjson.SanitizeErrorCode(headerCode) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + jsonCode, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(headerCode) == 0 && len(jsonCode) != 0 { + errorCode = restjson.SanitizeErrorCode(jsonCode) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentUpdatePrivacyBudgetTemplateOutput(v **UpdatePrivacyBudgetTemplateOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *UpdatePrivacyBudgetTemplateOutput + if *v == nil { + sv = &UpdatePrivacyBudgetTemplateOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "privacyBudgetTemplate": + if err := awsRestjson1_deserializeDocumentPrivacyBudgetTemplate(&sv.PrivacyBudgetTemplate, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpUpdateProtectedQuery struct { +} + +func (*awsRestjson1_deserializeOpUpdateProtectedQuery) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpUpdateProtectedQuery) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -11982,6 +12563,42 @@ func awsRestjson1_deserializeDocumentAggregationConstraints(v *[]types.Aggregati return nil } +func awsRestjson1_deserializeDocumentAllowedAdditionalAnalyses(v *[]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []string + if *v == nil { + cv = []string{} + } else { + cv = *v + } + + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AdditionalAnalysesResourceArn to be of type string, got %T instead", value) + } + col = jtv + } + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsRestjson1_deserializeDocumentAllowedAnalysesList(v *[]string, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -12090,6 +12707,42 @@ func awsRestjson1_deserializeDocumentAllowedColumnList(v *[]string, value interf return nil } +func awsRestjson1_deserializeDocumentAllowedResultReceivers(v *[]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []string + if *v == nil { + cv = []string{} + } else { + cv = *v + } + + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AccountId to be of type string, got %T instead", value) + } + col = jtv + } + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsRestjson1_deserializeDocumentAnalysisParameter(v **types.AnalysisParameter, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -12299,6 +12952,15 @@ func awsRestjson1_deserializeDocumentAnalysisRuleAggregation(v **types.AnalysisR for key, value := range shape { switch key { + case "additionalAnalyses": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AdditionalAnalyses to be of type string, got %T instead", value) + } + sv.AdditionalAnalyses = types.AdditionalAnalyses(jtv) + } + case "aggregateColumns": if err := awsRestjson1_deserializeDocumentAggregateColumnList(&sv.AggregateColumns, value); err != nil { return err @@ -12441,6 +13103,15 @@ func awsRestjson1_deserializeDocumentAnalysisRuleCustom(v **types.AnalysisRuleCu for key, value := range shape { switch key { + case "additionalAnalyses": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AdditionalAnalyses to be of type string, got %T instead", value) + } + sv.AdditionalAnalyses = types.AdditionalAnalyses(jtv) + } + case "allowedAnalyses": if err := awsRestjson1_deserializeDocumentAllowedAnalysesList(&sv.AllowedAnalyses, value); err != nil { return err @@ -12456,6 +13127,11 @@ func awsRestjson1_deserializeDocumentAnalysisRuleCustom(v **types.AnalysisRuleCu return err } + case "disallowedOutputColumns": + if err := awsRestjson1_deserializeDocumentAnalysisRuleColumnList(&sv.DisallowedOutputColumns, value); err != nil { + return err + } + default: _, _ = key, value @@ -12533,6 +13209,15 @@ func awsRestjson1_deserializeDocumentAnalysisRuleList(v **types.AnalysisRuleList for key, value := range shape { switch key { + case "additionalAnalyses": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AdditionalAnalyses to be of type string, got %T instead", value) + } + sv.AdditionalAnalyses = types.AdditionalAnalyses(jtv) + } + case "allowedJoinOperators": if err := awsRestjson1_deserializeDocumentJoinOperatorsList(&sv.AllowedJoinOperators, value); err != nil { return err @@ -15371,7 +16056,7 @@ func awsRestjson1_deserializeDocumentColumnList(v *[]types.Column, value interfa return nil } -func awsRestjson1_deserializeDocumentConfiguredAudienceModelAssociation(v **types.ConfiguredAudienceModelAssociation, value interface{}) error { +func awsRestjson1_deserializeDocumentConfigurationDetails(v *types.ConfigurationDetails, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -15384,9 +16069,49 @@ func awsRestjson1_deserializeDocumentConfiguredAudienceModelAssociation(v **type return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ConfiguredAudienceModelAssociation - if *v == nil { - sv = &types.ConfiguredAudienceModelAssociation{} + var uv types.ConfigurationDetails +loop: + for key, value := range shape { + if value == nil { + continue + } + switch key { + case "directAnalysisConfigurationDetails": + var mv types.DirectAnalysisConfigurationDetails + destAddr := &mv + if err := awsRestjson1_deserializeDocumentDirectAnalysisConfigurationDetails(&destAddr, value); err != nil { + return err + } + mv = *destAddr + uv = &types.ConfigurationDetailsMemberDirectAnalysisConfigurationDetails{Value: mv} + break loop + + default: + uv = &types.UnknownUnionMember{Tag: key} + break loop + + } + } + *v = uv + return nil +} + +func awsRestjson1_deserializeDocumentConfiguredAudienceModelAssociation(v **types.ConfiguredAudienceModelAssociation, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConfiguredAudienceModelAssociation + if *v == nil { + sv = &types.ConfiguredAudienceModelAssociation{} } else { sv = *v } @@ -16076,6 +16801,11 @@ func awsRestjson1_deserializeDocumentConfiguredTableAssociation(v **types.Config for key, value := range shape { switch key { + case "analysisRuleTypes": + if err := awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRuleTypeList(&sv.AnalysisRuleTypes, value); err != nil { + return err + } + case "arn": if value != nil { jtv, ok := value.(string) @@ -16155,46 +16885,407 @@ func awsRestjson1_deserializeDocumentConfiguredTableAssociation(v **types.Config sv.MembershipId = ptr.String(jtv) } - case "name": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected TableAlias to be of type string, got %T instead", value) - } - sv.Name = ptr.String(jtv) + case "name": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected TableAlias to be of type string, got %T instead", value) + } + sv.Name = ptr.String(jtv) + } + + case "roleArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected RoleArn to be of type string, got %T instead", value) + } + sv.RoleArn = ptr.String(jtv) + } + + case "updateTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.UpdateTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRule(v **types.ConfiguredTableAssociationAnalysisRule, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConfiguredTableAssociationAnalysisRule + if *v == nil { + sv = &types.ConfiguredTableAssociationAnalysisRule{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "configuredTableAssociationArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConfiguredTableAssociationArn to be of type string, got %T instead", value) + } + sv.ConfiguredTableAssociationArn = ptr.String(jtv) + } + + case "configuredTableAssociationId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConfiguredTableAssociationIdentifier to be of type string, got %T instead", value) + } + sv.ConfiguredTableAssociationId = ptr.String(jtv) + } + + case "createTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreateTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "membershipIdentifier": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected MembershipIdentifier to be of type string, got %T instead", value) + } + sv.MembershipIdentifier = ptr.String(jtv) + } + + case "policy": + if err := awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRulePolicy(&sv.Policy, value); err != nil { + return err + } + + case "type": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConfiguredTableAssociationAnalysisRuleType to be of type string, got %T instead", value) + } + sv.Type = types.ConfiguredTableAssociationAnalysisRuleType(jtv) + } + + case "updateTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.UpdateTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRuleAggregation(v **types.ConfiguredTableAssociationAnalysisRuleAggregation, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConfiguredTableAssociationAnalysisRuleAggregation + if *v == nil { + sv = &types.ConfiguredTableAssociationAnalysisRuleAggregation{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "allowedAdditionalAnalyses": + if err := awsRestjson1_deserializeDocumentAllowedAdditionalAnalyses(&sv.AllowedAdditionalAnalyses, value); err != nil { + return err + } + + case "allowedResultReceivers": + if err := awsRestjson1_deserializeDocumentAllowedResultReceivers(&sv.AllowedResultReceivers, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRuleCustom(v **types.ConfiguredTableAssociationAnalysisRuleCustom, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConfiguredTableAssociationAnalysisRuleCustom + if *v == nil { + sv = &types.ConfiguredTableAssociationAnalysisRuleCustom{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "allowedAdditionalAnalyses": + if err := awsRestjson1_deserializeDocumentAllowedAdditionalAnalyses(&sv.AllowedAdditionalAnalyses, value); err != nil { + return err + } + + case "allowedResultReceivers": + if err := awsRestjson1_deserializeDocumentAllowedResultReceivers(&sv.AllowedResultReceivers, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRuleList(v **types.ConfiguredTableAssociationAnalysisRuleList, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConfiguredTableAssociationAnalysisRuleList + if *v == nil { + sv = &types.ConfiguredTableAssociationAnalysisRuleList{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "allowedAdditionalAnalyses": + if err := awsRestjson1_deserializeDocumentAllowedAdditionalAnalyses(&sv.AllowedAdditionalAnalyses, value); err != nil { + return err + } + + case "allowedResultReceivers": + if err := awsRestjson1_deserializeDocumentAllowedResultReceivers(&sv.AllowedResultReceivers, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRulePolicy(v *types.ConfiguredTableAssociationAnalysisRulePolicy, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var uv types.ConfiguredTableAssociationAnalysisRulePolicy +loop: + for key, value := range shape { + if value == nil { + continue + } + switch key { + case "v1": + var mv types.ConfiguredTableAssociationAnalysisRulePolicyV1 + if err := awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRulePolicyV1(&mv, value); err != nil { + return err + } + uv = &types.ConfiguredTableAssociationAnalysisRulePolicyMemberV1{Value: mv} + break loop + + default: + uv = &types.UnknownUnionMember{Tag: key} + break loop + + } + } + *v = uv + return nil +} + +func awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRulePolicyV1(v *types.ConfiguredTableAssociationAnalysisRulePolicyV1, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var uv types.ConfiguredTableAssociationAnalysisRulePolicyV1 +loop: + for key, value := range shape { + if value == nil { + continue + } + switch key { + case "aggregation": + var mv types.ConfiguredTableAssociationAnalysisRuleAggregation + destAddr := &mv + if err := awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRuleAggregation(&destAddr, value); err != nil { + return err + } + mv = *destAddr + uv = &types.ConfiguredTableAssociationAnalysisRulePolicyV1MemberAggregation{Value: mv} + break loop + + case "custom": + var mv types.ConfiguredTableAssociationAnalysisRuleCustom + destAddr := &mv + if err := awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRuleCustom(&destAddr, value); err != nil { + return err } + mv = *destAddr + uv = &types.ConfiguredTableAssociationAnalysisRulePolicyV1MemberCustom{Value: mv} + break loop - case "roleArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RoleArn to be of type string, got %T instead", value) - } - sv.RoleArn = ptr.String(jtv) + case "list": + var mv types.ConfiguredTableAssociationAnalysisRuleList + destAddr := &mv + if err := awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRuleList(&destAddr, value); err != nil { + return err } + mv = *destAddr + uv = &types.ConfiguredTableAssociationAnalysisRulePolicyV1MemberList{Value: mv} + break loop - case "updateTime": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.UpdateTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + default: + uv = &types.UnknownUnionMember{Tag: key} + break loop - default: - return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + } + } + *v = uv + return nil +} - } - } +func awsRestjson1_deserializeDocumentConfiguredTableAssociationAnalysisRuleTypeList(v *[]types.ConfiguredTableAssociationAnalysisRuleType, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } - default: - _, _ = key, value + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ConfiguredTableAssociationAnalysisRuleType + if *v == nil { + cv = []types.ConfiguredTableAssociationAnalysisRuleType{} + } else { + cv = *v + } + for _, value := range shape { + var col types.ConfiguredTableAssociationAnalysisRuleType + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConfiguredTableAssociationAnalysisRuleType to be of type string, got %T instead", value) + } + col = types.ConfiguredTableAssociationAnalysisRuleType(jtv) } + cv = append(cv, col) + } - *v = sv + *v = cv return nil } @@ -17260,6 +18351,42 @@ func awsRestjson1_deserializeDocumentDifferentialPrivacyTemplateParametersOutput return nil } +func awsRestjson1_deserializeDocumentDirectAnalysisConfigurationDetails(v **types.DirectAnalysisConfigurationDetails, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.DirectAnalysisConfigurationDetails + if *v == nil { + sv = &types.DirectAnalysisConfigurationDetails{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "receiverAccountIds": + if err := awsRestjson1_deserializeDocumentReceiverAccountIds(&sv.ReceiverAccountIds, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentGlueTableReference(v **types.GlueTableReference, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -19967,6 +21094,46 @@ func awsRestjson1_deserializeDocumentProtectedQueryError(v **types.ProtectedQuer return nil } +func awsRestjson1_deserializeDocumentProtectedQueryMemberOutputConfiguration(v **types.ProtectedQueryMemberOutputConfiguration, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ProtectedQueryMemberOutputConfiguration + if *v == nil { + sv = &types.ProtectedQueryMemberOutputConfiguration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "accountId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AccountId to be of type string, got %T instead", value) + } + sv.AccountId = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentProtectedQueryMemberOutputList(v *[]types.ProtectedQuerySingleMemberOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -20069,6 +21236,16 @@ loop: continue } switch key { + case "member": + var mv types.ProtectedQueryMemberOutputConfiguration + destAddr := &mv + if err := awsRestjson1_deserializeDocumentProtectedQueryMemberOutputConfiguration(&destAddr, value); err != nil { + return err + } + mv = *destAddr + uv = &types.ProtectedQueryOutputConfigurationMemberMember{Value: mv} + break loop + case "s3": var mv types.ProtectedQueryS3OutputConfiguration destAddr := &mv @@ -20462,6 +21639,11 @@ func awsRestjson1_deserializeDocumentProtectedQuerySummary(v **types.ProtectedQu sv.MembershipId = ptr.String(jtv) } + case "receiverConfigurations": + if err := awsRestjson1_deserializeDocumentReceiverConfigurationsList(&sv.ReceiverConfigurations, value); err != nil { + return err + } + case "status": if value != nil { jtv, ok := value.(string) @@ -20698,6 +21880,121 @@ func awsRestjson1_deserializeDocumentQueryTables(v *[]string, value interface{}) return nil } +func awsRestjson1_deserializeDocumentReceiverAccountIds(v *[]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []string + if *v == nil { + cv = []string{} + } else { + cv = *v + } + + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AccountId to be of type string, got %T instead", value) + } + col = jtv + } + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentReceiverConfiguration(v **types.ReceiverConfiguration, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ReceiverConfiguration + if *v == nil { + sv = &types.ReceiverConfiguration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "analysisType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AnalysisType to be of type string, got %T instead", value) + } + sv.AnalysisType = types.AnalysisType(jtv) + } + + case "configurationDetails": + if err := awsRestjson1_deserializeDocumentConfigurationDetails(&sv.ConfigurationDetails, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentReceiverConfigurationsList(v *[]types.ReceiverConfiguration, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ReceiverConfiguration + if *v == nil { + cv = []types.ReceiverConfiguration{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ReceiverConfiguration + destAddr := &col + if err := awsRestjson1_deserializeDocumentReceiverConfiguration(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsRestjson1_deserializeDocumentResourceNotFoundException(v **types.ResourceNotFoundException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -21078,6 +22375,15 @@ func awsRestjson1_deserializeDocumentSchemaStatusDetail(v **types.SchemaStatusDe sv.AnalysisRuleType = types.AnalysisRuleType(jtv) } + case "analysisType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AnalysisType to be of type string, got %T instead", value) + } + sv.AnalysisType = types.AnalysisType(jtv) + } + case "configurations": if err := awsRestjson1_deserializeDocumentSchemaConfigurationList(&sv.Configurations, value); err != nil { return err diff --git a/service/cleanrooms/generated.json b/service/cleanrooms/generated.json index f0bdcf49a5d..7c525930161 100644 --- a/service/cleanrooms/generated.json +++ b/service/cleanrooms/generated.json @@ -17,6 +17,7 @@ "api_op_CreateConfiguredTable.go", "api_op_CreateConfiguredTableAnalysisRule.go", "api_op_CreateConfiguredTableAssociation.go", + "api_op_CreateConfiguredTableAssociationAnalysisRule.go", "api_op_CreateIdMappingTable.go", "api_op_CreateIdNamespaceAssociation.go", "api_op_CreateMembership.go", @@ -27,6 +28,7 @@ "api_op_DeleteConfiguredTable.go", "api_op_DeleteConfiguredTableAnalysisRule.go", "api_op_DeleteConfiguredTableAssociation.go", + "api_op_DeleteConfiguredTableAssociationAnalysisRule.go", "api_op_DeleteIdMappingTable.go", "api_op_DeleteIdNamespaceAssociation.go", "api_op_DeleteMember.go", @@ -42,6 +44,7 @@ "api_op_GetConfiguredTable.go", "api_op_GetConfiguredTableAnalysisRule.go", "api_op_GetConfiguredTableAssociation.go", + "api_op_GetConfiguredTableAssociationAnalysisRule.go", "api_op_GetIdMappingTable.go", "api_op_GetIdNamespaceAssociation.go", "api_op_GetMembership.go", @@ -79,6 +82,7 @@ "api_op_UpdateConfiguredTable.go", "api_op_UpdateConfiguredTableAnalysisRule.go", "api_op_UpdateConfiguredTableAssociation.go", + "api_op_UpdateConfiguredTableAssociationAnalysisRule.go", "api_op_UpdateIdMappingTable.go", "api_op_UpdateIdNamespaceAssociation.go", "api_op_UpdateMembership.go", diff --git a/service/cleanrooms/serializers.go b/service/cleanrooms/serializers.go index b460cbbdbdf..8159a0c973c 100644 --- a/service/cleanrooms/serializers.go +++ b/service/cleanrooms/serializers.go @@ -949,6 +949,110 @@ func awsRestjson1_serializeOpDocumentCreateConfiguredTableAssociationInput(v *Cr return nil } +type awsRestjson1_serializeOpCreateConfiguredTableAssociationAnalysisRule struct { +} + +func (*awsRestjson1_serializeOpCreateConfiguredTableAssociationAnalysisRule) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpCreateConfiguredTableAssociationAnalysisRule) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*CreateConfiguredTableAssociationAnalysisRuleInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}/analysisRule") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + var restEncoder *httpbinding.Encoder + if request.URL.RawPath == "" { + restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + } else { + request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath) + restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header) + } + + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsCreateConfiguredTableAssociationAnalysisRuleInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentCreateConfiguredTableAssociationAnalysisRuleInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsCreateConfiguredTableAssociationAnalysisRuleInput(v *CreateConfiguredTableAssociationAnalysisRuleInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.ConfiguredTableAssociationIdentifier == nil || len(*v.ConfiguredTableAssociationIdentifier) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member configuredTableAssociationIdentifier must not be empty")} + } + if v.ConfiguredTableAssociationIdentifier != nil { + if err := encoder.SetURI("configuredTableAssociationIdentifier").String(*v.ConfiguredTableAssociationIdentifier); err != nil { + return err + } + } + + if v.MembershipIdentifier == nil || len(*v.MembershipIdentifier) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member membershipIdentifier must not be empty")} + } + if v.MembershipIdentifier != nil { + if err := encoder.SetURI("membershipIdentifier").String(*v.MembershipIdentifier); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeOpDocumentCreateConfiguredTableAssociationAnalysisRuleInput(v *CreateConfiguredTableAssociationAnalysisRuleInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.AnalysisRulePolicy != nil { + ok := object.Key("analysisRulePolicy") + if err := awsRestjson1_serializeDocumentConfiguredTableAssociationAnalysisRulePolicy(v.AnalysisRulePolicy, ok); err != nil { + return err + } + } + + if len(v.AnalysisRuleType) > 0 { + ok := object.Key("analysisRuleType") + ok.String(string(v.AnalysisRuleType)) + } + + return nil +} + type awsRestjson1_serializeOpCreateIdMappingTable struct { } @@ -1809,6 +1913,89 @@ func awsRestjson1_serializeOpHttpBindingsDeleteConfiguredTableAssociationInput(v return nil } +type awsRestjson1_serializeOpDeleteConfiguredTableAssociationAnalysisRule struct { +} + +func (*awsRestjson1_serializeOpDeleteConfiguredTableAssociationAnalysisRule) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpDeleteConfiguredTableAssociationAnalysisRule) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DeleteConfiguredTableAssociationAnalysisRuleInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}/analysisRule/{analysisRuleType}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "DELETE" + var restEncoder *httpbinding.Encoder + if request.URL.RawPath == "" { + restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + } else { + request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath) + restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header) + } + + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsDeleteConfiguredTableAssociationAnalysisRuleInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsDeleteConfiguredTableAssociationAnalysisRuleInput(v *DeleteConfiguredTableAssociationAnalysisRuleInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if len(v.AnalysisRuleType) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member analysisRuleType must not be empty")} + } + if len(v.AnalysisRuleType) > 0 { + if err := encoder.SetURI("analysisRuleType").String(string(v.AnalysisRuleType)); err != nil { + return err + } + } + + if v.ConfiguredTableAssociationIdentifier == nil || len(*v.ConfiguredTableAssociationIdentifier) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member configuredTableAssociationIdentifier must not be empty")} + } + if v.ConfiguredTableAssociationIdentifier != nil { + if err := encoder.SetURI("configuredTableAssociationIdentifier").String(*v.ConfiguredTableAssociationIdentifier); err != nil { + return err + } + } + + if v.MembershipIdentifier == nil || len(*v.MembershipIdentifier) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member membershipIdentifier must not be empty")} + } + if v.MembershipIdentifier != nil { + if err := encoder.SetURI("membershipIdentifier").String(*v.MembershipIdentifier); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpDeleteIdMappingTable struct { } @@ -2892,6 +3079,89 @@ func awsRestjson1_serializeOpHttpBindingsGetConfiguredTableAssociationInput(v *G return nil } +type awsRestjson1_serializeOpGetConfiguredTableAssociationAnalysisRule struct { +} + +func (*awsRestjson1_serializeOpGetConfiguredTableAssociationAnalysisRule) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpGetConfiguredTableAssociationAnalysisRule) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetConfiguredTableAssociationAnalysisRuleInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}/analysisRule/{analysisRuleType}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + var restEncoder *httpbinding.Encoder + if request.URL.RawPath == "" { + restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + } else { + request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath) + restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header) + } + + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsGetConfiguredTableAssociationAnalysisRuleInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsGetConfiguredTableAssociationAnalysisRuleInput(v *GetConfiguredTableAssociationAnalysisRuleInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if len(v.AnalysisRuleType) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member analysisRuleType must not be empty")} + } + if len(v.AnalysisRuleType) > 0 { + if err := encoder.SetURI("analysisRuleType").String(string(v.AnalysisRuleType)); err != nil { + return err + } + } + + if v.ConfiguredTableAssociationIdentifier == nil || len(*v.ConfiguredTableAssociationIdentifier) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member configuredTableAssociationIdentifier must not be empty")} + } + if v.ConfiguredTableAssociationIdentifier != nil { + if err := encoder.SetURI("configuredTableAssociationIdentifier").String(*v.ConfiguredTableAssociationIdentifier); err != nil { + return err + } + } + + if v.MembershipIdentifier == nil || len(*v.MembershipIdentifier) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member membershipIdentifier must not be empty")} + } + if v.MembershipIdentifier != nil { + if err := encoder.SetURI("membershipIdentifier").String(*v.MembershipIdentifier); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpGetIdMappingTable struct { } @@ -5799,6 +6069,114 @@ func awsRestjson1_serializeOpDocumentUpdateConfiguredTableAssociationInput(v *Up return nil } +type awsRestjson1_serializeOpUpdateConfiguredTableAssociationAnalysisRule struct { +} + +func (*awsRestjson1_serializeOpUpdateConfiguredTableAssociationAnalysisRule) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpUpdateConfiguredTableAssociationAnalysisRule) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*UpdateConfiguredTableAssociationAnalysisRuleInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}/analysisRule/{analysisRuleType}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "PATCH" + var restEncoder *httpbinding.Encoder + if request.URL.RawPath == "" { + restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + } else { + request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath) + restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header) + } + + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsUpdateConfiguredTableAssociationAnalysisRuleInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentUpdateConfiguredTableAssociationAnalysisRuleInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsUpdateConfiguredTableAssociationAnalysisRuleInput(v *UpdateConfiguredTableAssociationAnalysisRuleInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if len(v.AnalysisRuleType) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member analysisRuleType must not be empty")} + } + if len(v.AnalysisRuleType) > 0 { + if err := encoder.SetURI("analysisRuleType").String(string(v.AnalysisRuleType)); err != nil { + return err + } + } + + if v.ConfiguredTableAssociationIdentifier == nil || len(*v.ConfiguredTableAssociationIdentifier) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member configuredTableAssociationIdentifier must not be empty")} + } + if v.ConfiguredTableAssociationIdentifier != nil { + if err := encoder.SetURI("configuredTableAssociationIdentifier").String(*v.ConfiguredTableAssociationIdentifier); err != nil { + return err + } + } + + if v.MembershipIdentifier == nil || len(*v.MembershipIdentifier) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member membershipIdentifier must not be empty")} + } + if v.MembershipIdentifier != nil { + if err := encoder.SetURI("membershipIdentifier").String(*v.MembershipIdentifier); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeOpDocumentUpdateConfiguredTableAssociationAnalysisRuleInput(v *UpdateConfiguredTableAssociationAnalysisRuleInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.AnalysisRulePolicy != nil { + ok := object.Key("analysisRulePolicy") + if err := awsRestjson1_serializeDocumentConfiguredTableAssociationAnalysisRulePolicy(v.AnalysisRulePolicy, ok); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpUpdateIdMappingTable struct { } @@ -6373,6 +6751,17 @@ func awsRestjson1_serializeDocumentAggregationConstraints(v []types.AggregationC return nil } +func awsRestjson1_serializeDocumentAllowedAdditionalAnalyses(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsRestjson1_serializeDocumentAllowedAnalysesList(v []string, value smithyjson.Value) error { array := value.Array() defer array.Close() @@ -6406,6 +6795,17 @@ func awsRestjson1_serializeDocumentAllowedColumnList(v []string, value smithyjso return nil } +func awsRestjson1_serializeDocumentAllowedResultReceivers(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsRestjson1_serializeDocumentAnalysisParameter(v *types.AnalysisParameter, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -6445,6 +6845,11 @@ func awsRestjson1_serializeDocumentAnalysisRuleAggregation(v *types.AnalysisRule object := value.Object() defer object.Close() + if len(v.AdditionalAnalyses) > 0 { + ok := object.Key("additionalAnalyses") + ok.String(string(v.AdditionalAnalyses)) + } + if v.AggregateColumns != nil { ok := object.Key("aggregateColumns") if err := awsRestjson1_serializeDocumentAggregateColumnList(v.AggregateColumns, ok); err != nil { @@ -6521,6 +6926,11 @@ func awsRestjson1_serializeDocumentAnalysisRuleCustom(v *types.AnalysisRuleCusto object := value.Object() defer object.Close() + if len(v.AdditionalAnalyses) > 0 { + ok := object.Key("additionalAnalyses") + ok.String(string(v.AdditionalAnalyses)) + } + if v.AllowedAnalyses != nil { ok := object.Key("allowedAnalyses") if err := awsRestjson1_serializeDocumentAllowedAnalysesList(v.AllowedAnalyses, ok); err != nil { @@ -6542,6 +6952,13 @@ func awsRestjson1_serializeDocumentAnalysisRuleCustom(v *types.AnalysisRuleCusto } } + if v.DisallowedOutputColumns != nil { + ok := object.Key("disallowedOutputColumns") + if err := awsRestjson1_serializeDocumentAnalysisRuleColumnList(v.DisallowedOutputColumns, ok); err != nil { + return err + } + } + return nil } @@ -6549,6 +6966,11 @@ func awsRestjson1_serializeDocumentAnalysisRuleList(v *types.AnalysisRuleList, v object := value.Object() defer object.Close() + if len(v.AdditionalAnalyses) > 0 { + ok := object.Key("additionalAnalyses") + ok.String(string(v.AdditionalAnalyses)) + } + if v.AllowedJoinOperators != nil { ok := object.Key("allowedJoinOperators") if err := awsRestjson1_serializeDocumentJoinOperatorsList(v.AllowedJoinOperators, ok); err != nil { @@ -6648,6 +7070,117 @@ func awsRestjson1_serializeDocumentConfiguredTableAnalysisRulePolicyV1(v types.C return nil } +func awsRestjson1_serializeDocumentConfiguredTableAssociationAnalysisRuleAggregation(v *types.ConfiguredTableAssociationAnalysisRuleAggregation, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.AllowedAdditionalAnalyses != nil { + ok := object.Key("allowedAdditionalAnalyses") + if err := awsRestjson1_serializeDocumentAllowedAdditionalAnalyses(v.AllowedAdditionalAnalyses, ok); err != nil { + return err + } + } + + if v.AllowedResultReceivers != nil { + ok := object.Key("allowedResultReceivers") + if err := awsRestjson1_serializeDocumentAllowedResultReceivers(v.AllowedResultReceivers, ok); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeDocumentConfiguredTableAssociationAnalysisRuleCustom(v *types.ConfiguredTableAssociationAnalysisRuleCustom, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.AllowedAdditionalAnalyses != nil { + ok := object.Key("allowedAdditionalAnalyses") + if err := awsRestjson1_serializeDocumentAllowedAdditionalAnalyses(v.AllowedAdditionalAnalyses, ok); err != nil { + return err + } + } + + if v.AllowedResultReceivers != nil { + ok := object.Key("allowedResultReceivers") + if err := awsRestjson1_serializeDocumentAllowedResultReceivers(v.AllowedResultReceivers, ok); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeDocumentConfiguredTableAssociationAnalysisRuleList(v *types.ConfiguredTableAssociationAnalysisRuleList, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.AllowedAdditionalAnalyses != nil { + ok := object.Key("allowedAdditionalAnalyses") + if err := awsRestjson1_serializeDocumentAllowedAdditionalAnalyses(v.AllowedAdditionalAnalyses, ok); err != nil { + return err + } + } + + if v.AllowedResultReceivers != nil { + ok := object.Key("allowedResultReceivers") + if err := awsRestjson1_serializeDocumentAllowedResultReceivers(v.AllowedResultReceivers, ok); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeDocumentConfiguredTableAssociationAnalysisRulePolicy(v types.ConfiguredTableAssociationAnalysisRulePolicy, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + switch uv := v.(type) { + case *types.ConfiguredTableAssociationAnalysisRulePolicyMemberV1: + av := object.Key("v1") + if err := awsRestjson1_serializeDocumentConfiguredTableAssociationAnalysisRulePolicyV1(uv.Value, av); err != nil { + return err + } + + default: + return fmt.Errorf("attempted to serialize unknown member type %T for union %T", uv, v) + + } + return nil +} + +func awsRestjson1_serializeDocumentConfiguredTableAssociationAnalysisRulePolicyV1(v types.ConfiguredTableAssociationAnalysisRulePolicyV1, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + switch uv := v.(type) { + case *types.ConfiguredTableAssociationAnalysisRulePolicyV1MemberAggregation: + av := object.Key("aggregation") + if err := awsRestjson1_serializeDocumentConfiguredTableAssociationAnalysisRuleAggregation(&uv.Value, av); err != nil { + return err + } + + case *types.ConfiguredTableAssociationAnalysisRulePolicyV1MemberCustom: + av := object.Key("custom") + if err := awsRestjson1_serializeDocumentConfiguredTableAssociationAnalysisRuleCustom(&uv.Value, av); err != nil { + return err + } + + case *types.ConfiguredTableAssociationAnalysisRulePolicyV1MemberList: + av := object.Key("list") + if err := awsRestjson1_serializeDocumentConfiguredTableAssociationAnalysisRuleList(&uv.Value, av); err != nil { + return err + } + + default: + return fmt.Errorf("attempted to serialize unknown member type %T for union %T", uv, v) + + } + return nil +} + func awsRestjson1_serializeDocumentDataEncryptionMetadata(v *types.DataEncryptionMetadata, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -7036,11 +7569,29 @@ func awsRestjson1_serializeDocumentPrivacyBudgetTemplateUpdateParameters(v types return nil } +func awsRestjson1_serializeDocumentProtectedQueryMemberOutputConfiguration(v *types.ProtectedQueryMemberOutputConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.AccountId != nil { + ok := object.Key("accountId") + ok.String(*v.AccountId) + } + + return nil +} + func awsRestjson1_serializeDocumentProtectedQueryOutputConfiguration(v types.ProtectedQueryOutputConfiguration, value smithyjson.Value) error { object := value.Object() defer object.Close() switch uv := v.(type) { + case *types.ProtectedQueryOutputConfigurationMemberMember: + av := object.Key("member") + if err := awsRestjson1_serializeDocumentProtectedQueryMemberOutputConfiguration(&uv.Value, av); err != nil { + return err + } + case *types.ProtectedQueryOutputConfigurationMemberS3: av := object.Key("s3") if err := awsRestjson1_serializeDocumentProtectedQueryS3OutputConfiguration(&uv.Value, av); err != nil { diff --git a/service/cleanrooms/snapshot/api_op_CreateConfiguredTableAssociationAnalysisRule.go.snap b/service/cleanrooms/snapshot/api_op_CreateConfiguredTableAssociationAnalysisRule.go.snap new file mode 100644 index 00000000000..23ef899e06e --- /dev/null +++ b/service/cleanrooms/snapshot/api_op_CreateConfiguredTableAssociationAnalysisRule.go.snap @@ -0,0 +1,36 @@ +CreateConfiguredTableAssociationAnalysisRule + Initialize stack step + RegisterServiceMetadata + legacyEndpointContextSetter + SetLogger + OperationInputValidation + Serialize stack step + setOperationInput + ResolveEndpoint + OperationSerializer + Build stack step + ClientRequestID + ComputeContentLength + UserAgent + AddTimeOffsetMiddleware + RecursionDetection + Finalize stack step + ResolveAuthScheme + GetIdentity + ResolveEndpointV2 + disableHTTPS + ComputePayloadHash + Retry + RetryMetricsHeader + setLegacyContextSigningOptions + Signing + Deserialize stack step + AddRawResponseToMetadata + ErrorCloseResponseBody + CloseResponseBody + ResponseErrorWrapper + RequestIDRetriever + OperationDeserializer + AddTimeOffsetMiddleware + RecordResponseTiming + RequestResponseLogger diff --git a/service/cleanrooms/snapshot/api_op_DeleteConfiguredTableAssociationAnalysisRule.go.snap b/service/cleanrooms/snapshot/api_op_DeleteConfiguredTableAssociationAnalysisRule.go.snap new file mode 100644 index 00000000000..03dfd637dff --- /dev/null +++ b/service/cleanrooms/snapshot/api_op_DeleteConfiguredTableAssociationAnalysisRule.go.snap @@ -0,0 +1,36 @@ +DeleteConfiguredTableAssociationAnalysisRule + Initialize stack step + RegisterServiceMetadata + legacyEndpointContextSetter + SetLogger + OperationInputValidation + Serialize stack step + setOperationInput + ResolveEndpoint + OperationSerializer + Build stack step + ClientRequestID + ComputeContentLength + UserAgent + AddTimeOffsetMiddleware + RecursionDetection + Finalize stack step + ResolveAuthScheme + GetIdentity + ResolveEndpointV2 + disableHTTPS + ComputePayloadHash + Retry + RetryMetricsHeader + setLegacyContextSigningOptions + Signing + Deserialize stack step + AddRawResponseToMetadata + ErrorCloseResponseBody + CloseResponseBody + ResponseErrorWrapper + RequestIDRetriever + OperationDeserializer + AddTimeOffsetMiddleware + RecordResponseTiming + RequestResponseLogger diff --git a/service/cleanrooms/snapshot/api_op_GetConfiguredTableAssociationAnalysisRule.go.snap b/service/cleanrooms/snapshot/api_op_GetConfiguredTableAssociationAnalysisRule.go.snap new file mode 100644 index 00000000000..bc380d30397 --- /dev/null +++ b/service/cleanrooms/snapshot/api_op_GetConfiguredTableAssociationAnalysisRule.go.snap @@ -0,0 +1,36 @@ +GetConfiguredTableAssociationAnalysisRule + Initialize stack step + RegisterServiceMetadata + legacyEndpointContextSetter + SetLogger + OperationInputValidation + Serialize stack step + setOperationInput + ResolveEndpoint + OperationSerializer + Build stack step + ClientRequestID + ComputeContentLength + UserAgent + AddTimeOffsetMiddleware + RecursionDetection + Finalize stack step + ResolveAuthScheme + GetIdentity + ResolveEndpointV2 + disableHTTPS + ComputePayloadHash + Retry + RetryMetricsHeader + setLegacyContextSigningOptions + Signing + Deserialize stack step + AddRawResponseToMetadata + ErrorCloseResponseBody + CloseResponseBody + ResponseErrorWrapper + RequestIDRetriever + OperationDeserializer + AddTimeOffsetMiddleware + RecordResponseTiming + RequestResponseLogger diff --git a/service/cleanrooms/snapshot/api_op_UpdateConfiguredTableAssociationAnalysisRule.go.snap b/service/cleanrooms/snapshot/api_op_UpdateConfiguredTableAssociationAnalysisRule.go.snap new file mode 100644 index 00000000000..0770c8408b1 --- /dev/null +++ b/service/cleanrooms/snapshot/api_op_UpdateConfiguredTableAssociationAnalysisRule.go.snap @@ -0,0 +1,36 @@ +UpdateConfiguredTableAssociationAnalysisRule + Initialize stack step + RegisterServiceMetadata + legacyEndpointContextSetter + SetLogger + OperationInputValidation + Serialize stack step + setOperationInput + ResolveEndpoint + OperationSerializer + Build stack step + ClientRequestID + ComputeContentLength + UserAgent + AddTimeOffsetMiddleware + RecursionDetection + Finalize stack step + ResolveAuthScheme + GetIdentity + ResolveEndpointV2 + disableHTTPS + ComputePayloadHash + Retry + RetryMetricsHeader + setLegacyContextSigningOptions + Signing + Deserialize stack step + AddRawResponseToMetadata + ErrorCloseResponseBody + CloseResponseBody + ResponseErrorWrapper + RequestIDRetriever + OperationDeserializer + AddTimeOffsetMiddleware + RecordResponseTiming + RequestResponseLogger diff --git a/service/cleanrooms/snapshot_test.go b/service/cleanrooms/snapshot_test.go index a3f9ba7104f..31fd9d1447f 100644 --- a/service/cleanrooms/snapshot_test.go +++ b/service/cleanrooms/snapshot_test.go @@ -170,6 +170,18 @@ func TestCheckSnapshot_CreateConfiguredTableAssociation(t *testing.T) { } } +func TestCheckSnapshot_CreateConfiguredTableAssociationAnalysisRule(t *testing.T) { + svc := New(Options{}) + _, err := svc.CreateConfiguredTableAssociationAnalysisRule(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return testSnapshot(stack, "CreateConfiguredTableAssociationAnalysisRule") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestCheckSnapshot_CreateIdMappingTable(t *testing.T) { svc := New(Options{}) _, err := svc.CreateIdMappingTable(context.Background(), nil, func(o *Options) { @@ -290,6 +302,18 @@ func TestCheckSnapshot_DeleteConfiguredTableAssociation(t *testing.T) { } } +func TestCheckSnapshot_DeleteConfiguredTableAssociationAnalysisRule(t *testing.T) { + svc := New(Options{}) + _, err := svc.DeleteConfiguredTableAssociationAnalysisRule(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return testSnapshot(stack, "DeleteConfiguredTableAssociationAnalysisRule") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestCheckSnapshot_DeleteIdMappingTable(t *testing.T) { svc := New(Options{}) _, err := svc.DeleteIdMappingTable(context.Background(), nil, func(o *Options) { @@ -470,6 +494,18 @@ func TestCheckSnapshot_GetConfiguredTableAssociation(t *testing.T) { } } +func TestCheckSnapshot_GetConfiguredTableAssociationAnalysisRule(t *testing.T) { + svc := New(Options{}) + _, err := svc.GetConfiguredTableAssociationAnalysisRule(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return testSnapshot(stack, "GetConfiguredTableAssociationAnalysisRule") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestCheckSnapshot_GetIdMappingTable(t *testing.T) { svc := New(Options{}) _, err := svc.GetIdMappingTable(context.Background(), nil, func(o *Options) { @@ -914,6 +950,18 @@ func TestCheckSnapshot_UpdateConfiguredTableAssociation(t *testing.T) { } } +func TestCheckSnapshot_UpdateConfiguredTableAssociationAnalysisRule(t *testing.T) { + svc := New(Options{}) + _, err := svc.UpdateConfiguredTableAssociationAnalysisRule(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return testSnapshot(stack, "UpdateConfiguredTableAssociationAnalysisRule") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestCheckSnapshot_UpdateIdMappingTable(t *testing.T) { svc := New(Options{}) _, err := svc.UpdateIdMappingTable(context.Background(), nil, func(o *Options) { @@ -1081,6 +1129,18 @@ func TestUpdateSnapshot_CreateConfiguredTableAssociation(t *testing.T) { } } +func TestUpdateSnapshot_CreateConfiguredTableAssociationAnalysisRule(t *testing.T) { + svc := New(Options{}) + _, err := svc.CreateConfiguredTableAssociationAnalysisRule(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return updateSnapshot(stack, "CreateConfiguredTableAssociationAnalysisRule") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestUpdateSnapshot_CreateIdMappingTable(t *testing.T) { svc := New(Options{}) _, err := svc.CreateIdMappingTable(context.Background(), nil, func(o *Options) { @@ -1201,6 +1261,18 @@ func TestUpdateSnapshot_DeleteConfiguredTableAssociation(t *testing.T) { } } +func TestUpdateSnapshot_DeleteConfiguredTableAssociationAnalysisRule(t *testing.T) { + svc := New(Options{}) + _, err := svc.DeleteConfiguredTableAssociationAnalysisRule(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return updateSnapshot(stack, "DeleteConfiguredTableAssociationAnalysisRule") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestUpdateSnapshot_DeleteIdMappingTable(t *testing.T) { svc := New(Options{}) _, err := svc.DeleteIdMappingTable(context.Background(), nil, func(o *Options) { @@ -1381,6 +1453,18 @@ func TestUpdateSnapshot_GetConfiguredTableAssociation(t *testing.T) { } } +func TestUpdateSnapshot_GetConfiguredTableAssociationAnalysisRule(t *testing.T) { + svc := New(Options{}) + _, err := svc.GetConfiguredTableAssociationAnalysisRule(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return updateSnapshot(stack, "GetConfiguredTableAssociationAnalysisRule") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestUpdateSnapshot_GetIdMappingTable(t *testing.T) { svc := New(Options{}) _, err := svc.GetIdMappingTable(context.Background(), nil, func(o *Options) { @@ -1825,6 +1909,18 @@ func TestUpdateSnapshot_UpdateConfiguredTableAssociation(t *testing.T) { } } +func TestUpdateSnapshot_UpdateConfiguredTableAssociationAnalysisRule(t *testing.T) { + svc := New(Options{}) + _, err := svc.UpdateConfiguredTableAssociationAnalysisRule(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return updateSnapshot(stack, "UpdateConfiguredTableAssociationAnalysisRule") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestUpdateSnapshot_UpdateIdMappingTable(t *testing.T) { svc := New(Options{}) _, err := svc.UpdateIdMappingTable(context.Background(), nil, func(o *Options) { diff --git a/service/cleanrooms/types/enums.go b/service/cleanrooms/types/enums.go index 37420c5ecb6..3004b8cdc96 100644 --- a/service/cleanrooms/types/enums.go +++ b/service/cleanrooms/types/enums.go @@ -19,6 +19,27 @@ func (AccessDeniedExceptionReason) Values() []AccessDeniedExceptionReason { } } +type AdditionalAnalyses string + +// Enum values for AdditionalAnalyses +const ( + AdditionalAnalysesAllowed AdditionalAnalyses = "ALLOWED" + AdditionalAnalysesRequired AdditionalAnalyses = "REQUIRED" + AdditionalAnalysesNotAllowed AdditionalAnalyses = "NOT_ALLOWED" +) + +// Values returns all known values for AdditionalAnalyses. Note that this can be +// expanded in the future, and so it is only as up to date as the client. +// +// The ordering of this slice is not guaranteed to be stable across updates. +func (AdditionalAnalyses) Values() []AdditionalAnalyses { + return []AdditionalAnalyses{ + "ALLOWED", + "REQUIRED", + "NOT_ALLOWED", + } +} + type AggregateFunctionName string // Enum values for AggregateFunctionName @@ -158,6 +179,25 @@ func (AnalysisTemplateValidationType) Values() []AnalysisTemplateValidationType } } +type AnalysisType string + +// Enum values for AnalysisType +const ( + AnalysisTypeDirectAnalysis AnalysisType = "DIRECT_ANALYSIS" + AnalysisTypeAdditionalAnalysis AnalysisType = "ADDITIONAL_ANALYSIS" +) + +// Values returns all known values for AnalysisType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. +// +// The ordering of this slice is not guaranteed to be stable across updates. +func (AnalysisType) Values() []AnalysisType { + return []AnalysisType{ + "DIRECT_ANALYSIS", + "ADDITIONAL_ANALYSIS", + } +} + type CollaborationQueryLogStatus string // Enum values for CollaborationQueryLogStatus @@ -199,6 +239,28 @@ func (ConfiguredTableAnalysisRuleType) Values() []ConfiguredTableAnalysisRuleTyp } } +type ConfiguredTableAssociationAnalysisRuleType string + +// Enum values for ConfiguredTableAssociationAnalysisRuleType +const ( + ConfiguredTableAssociationAnalysisRuleTypeAggregation ConfiguredTableAssociationAnalysisRuleType = "AGGREGATION" + ConfiguredTableAssociationAnalysisRuleTypeList ConfiguredTableAssociationAnalysisRuleType = "LIST" + ConfiguredTableAssociationAnalysisRuleTypeCustom ConfiguredTableAssociationAnalysisRuleType = "CUSTOM" +) + +// Values returns all known values for ConfiguredTableAssociationAnalysisRuleType. +// Note that this can be expanded in the future, and so it is only as up to date as +// the client. +// +// The ordering of this slice is not guaranteed to be stable across updates. +func (ConfiguredTableAssociationAnalysisRuleType) Values() []ConfiguredTableAssociationAnalysisRuleType { + return []ConfiguredTableAssociationAnalysisRuleType{ + "AGGREGATION", + "LIST", + "CUSTOM", + } +} + type ConflictExceptionReason string // Enum values for ConflictExceptionReason @@ -639,11 +701,7 @@ type SchemaConfiguration string // Enum values for SchemaConfiguration const ( - SchemaConfigurationDifferentialPrivacy SchemaConfiguration = "DIFFERENTIAL_PRIVACY" - SchemaConfigurationCustomAnalysisNotAllowed SchemaConfiguration = "CUSTOM_ANALYSIS_NOT_ALLOWED" - SchemaConfigurationNoMemberAccountAllowedToProvideAnalysis SchemaConfiguration = "NO_MEMBER_ACCOUNT_ALLOWED_TO_PROVIDE_ANALYSIS" - SchemaConfigurationDifferentialPrivacyBudgetNotConfigured SchemaConfiguration = "DIFFERENTIAL_PRIVACY_BUDGET_NOT_CONFIGURED" - SchemaConfigurationIdMappingTableNotPopulated SchemaConfiguration = "ID_MAPPING_TABLE_NOT_POPULATED" + SchemaConfigurationDifferentialPrivacy SchemaConfiguration = "DIFFERENTIAL_PRIVACY" ) // Values returns all known values for SchemaConfiguration. Note that this can be @@ -653,10 +711,6 @@ const ( func (SchemaConfiguration) Values() []SchemaConfiguration { return []SchemaConfiguration{ "DIFFERENTIAL_PRIVACY", - "CUSTOM_ANALYSIS_NOT_ALLOWED", - "NO_MEMBER_ACCOUNT_ALLOWED_TO_PROVIDE_ANALYSIS", - "DIFFERENTIAL_PRIVACY_BUDGET_NOT_CONFIGURED", - "ID_MAPPING_TABLE_NOT_POPULATED", } } @@ -688,6 +742,12 @@ const ( SchemaStatusReasonCodeAnalysisProvidersNotConfigured SchemaStatusReasonCode = "ANALYSIS_PROVIDERS_NOT_CONFIGURED" SchemaStatusReasonCodeDifferentialPrivacyPolicyNotConfigured SchemaStatusReasonCode = "DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED" SchemaStatusReasonCodeIdMappingTableNotPopulated SchemaStatusReasonCode = "ID_MAPPING_TABLE_NOT_POPULATED" + SchemaStatusReasonCodeCollaborationAnalysisRuleNotConfigured SchemaStatusReasonCode = "COLLABORATION_ANALYSIS_RULE_NOT_CONFIGURED" + SchemaStatusReasonCodeAdditionalAnalysesNotConfigured SchemaStatusReasonCode = "ADDITIONAL_ANALYSES_NOT_CONFIGURED" + SchemaStatusReasonCodeResultReceiversNotConfigured SchemaStatusReasonCode = "RESULT_RECEIVERS_NOT_CONFIGURED" + SchemaStatusReasonCodeAdditionalAnalysesNotAllowed SchemaStatusReasonCode = "ADDITIONAL_ANALYSES_NOT_ALLOWED" + SchemaStatusReasonCodeResultReceiversNotAllowed SchemaStatusReasonCode = "RESULT_RECEIVERS_NOT_ALLOWED" + SchemaStatusReasonCodeAnalysisRuleTypesNotCompatible SchemaStatusReasonCode = "ANALYSIS_RULE_TYPES_NOT_COMPATIBLE" ) // Values returns all known values for SchemaStatusReasonCode. Note that this can @@ -701,6 +761,12 @@ func (SchemaStatusReasonCode) Values() []SchemaStatusReasonCode { "ANALYSIS_PROVIDERS_NOT_CONFIGURED", "DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED", "ID_MAPPING_TABLE_NOT_POPULATED", + "COLLABORATION_ANALYSIS_RULE_NOT_CONFIGURED", + "ADDITIONAL_ANALYSES_NOT_CONFIGURED", + "RESULT_RECEIVERS_NOT_CONFIGURED", + "ADDITIONAL_ANALYSES_NOT_ALLOWED", + "RESULT_RECEIVERS_NOT_ALLOWED", + "ANALYSIS_RULE_TYPES_NOT_COMPATIBLE", } } diff --git a/service/cleanrooms/types/types.go b/service/cleanrooms/types/types.go index e2c6d4ac719..abc6ffd8e8c 100644 --- a/service/cleanrooms/types/types.go +++ b/service/cleanrooms/types/types.go @@ -140,6 +140,13 @@ type AnalysisRuleAggregation struct { // This member is required. ScalarFunctions []ScalarFunctions + // An indicator as to whether additional analyses (such as Clean Rooms ML) can be + // applied to the output of the direct query. + // + // The additionalAnalyses parameter is currently supported for the list analysis + // rule ( AnalysisRuleList ) and the custom analysis rule ( AnalysisRuleCustom ). + AdditionalAnalyses AdditionalAnalyses + // Which logical operators (if any) are to be used in an INNER JOIN match // condition. Default is AND . AllowedJoinOperators []JoinOperator @@ -160,6 +167,10 @@ type AnalysisRuleCustom struct { // This member is required. AllowedAnalyses []string + // An indicator as to whether additional analyses (such as Clean Rooms ML) can be + // applied to the output of the direct query. + AdditionalAnalyses AdditionalAnalyses + // 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 @@ -167,6 +178,9 @@ type AnalysisRuleCustom struct { // The differential privacy configuration. DifferentialPrivacy *DifferentialPrivacyConfiguration + // A list of columns that aren't allowed to be shown in the query output. + DisallowedOutputColumns []string + noSmithyDocumentSerde } @@ -203,6 +217,10 @@ type AnalysisRuleList struct { // This member is required. ListColumns []string + // An indicator as to whether additional analyses (such as Clean Rooms ML) can be + // applied to the output of the direct query. + AdditionalAnalyses AdditionalAnalyses + // The logical operators (if any) that are to be used in an INNER JOIN match // condition. Default is AND . AllowedJoinOperators []JoinOperator @@ -764,7 +782,7 @@ type CollaborationConfiguredAudienceModelAssociation struct { CreateTime *time.Time // The identifier used to reference members of the collaboration. Only supports - // Amazon Web Services account ID. + // AWS account ID. // // This member is required. CreatorAccountId *string @@ -816,7 +834,7 @@ type CollaborationConfiguredAudienceModelAssociationSummary struct { CreateTime *time.Time // The identifier used to reference members of the collaboration. Only supports - // Amazon Web Services account ID. + // AWS account ID. // // This member is required. CreatorAccountId *string @@ -1223,6 +1241,24 @@ type Column struct { noSmithyDocumentSerde } +// The configuration details. +// +// The following types satisfy this interface: +// +// ConfigurationDetailsMemberDirectAnalysisConfigurationDetails +type ConfigurationDetails interface { + isConfigurationDetails() +} + +// The direct analysis configuration details. +type ConfigurationDetailsMemberDirectAnalysisConfigurationDetails struct { + Value DirectAnalysisConfigurationDetails + + noSmithyDocumentSerde +} + +func (*ConfigurationDetailsMemberDirectAnalysisConfigurationDetails) isConfigurationDetails() {} + // Details about the configured audience model association. type ConfiguredAudienceModelAssociation struct { @@ -1570,12 +1606,177 @@ type ConfiguredTableAssociation struct { // This member is required. UpdateTime *time.Time + // The analysis rule types for the configured table association. + AnalysisRuleTypes []ConfiguredTableAssociationAnalysisRuleType + // A description of the configured table association. Description *string noSmithyDocumentSerde } +// An analysis rule for a configured table association. This analysis rule +// specifies how data from the table can be used within its associated +// collaboration. In the console, the ConfiguredTableAssociationAnalysisRule is +// referred to as the collaboration analysis rule. +type ConfiguredTableAssociationAnalysisRule struct { + + // The Amazon Resource Name (ARN) of the configured table association. + // + // This member is required. + ConfiguredTableAssociationArn *string + + // The unique identifier for the configured table association. + // + // This member is required. + ConfiguredTableAssociationId *string + + // The creation time of the configured table association analysis rule. + // + // This member is required. + CreateTime *time.Time + + // The membership identifier for the configured table association analysis rule. + // + // This member is required. + MembershipIdentifier *string + + // The policy of the configured table association analysis rule. + // + // This member is required. + Policy ConfiguredTableAssociationAnalysisRulePolicy + + // The type of the configured table association analysis rule. + // + // This member is required. + Type ConfiguredTableAssociationAnalysisRuleType + + // The update time of the configured table association analysis rule. + // + // This member is required. + UpdateTime *time.Time + + noSmithyDocumentSerde +} + +// The configured table association analysis rule applied to a configured table +// +// with the aggregation analysis rule. +type ConfiguredTableAssociationAnalysisRuleAggregation struct { + + // The list of resources or wildcards (ARNs) that are allowed to perform + // additional analysis on query output. + // + // The allowedAdditionalAnalyses parameter is currently supported for the list + // analysis rule ( AnalysisRuleList ) and the custom analysis rule ( + // AnalysisRuleCustom ). + AllowedAdditionalAnalyses []string + + // The list of collaboration members who are allowed to receive results of + // queries run with this configured table. + AllowedResultReceivers []string + + noSmithyDocumentSerde +} + +// The configured table association analysis rule applied to a configured table +// +// with the custom analysis rule. +type ConfiguredTableAssociationAnalysisRuleCustom struct { + + // The list of resources or wildcards (ARNs) that are allowed to perform + // additional analysis on query output. + AllowedAdditionalAnalyses []string + + // The list of collaboration members who are allowed to receive results of + // queries run with this configured table. + AllowedResultReceivers []string + + noSmithyDocumentSerde +} + +// The configured table association analysis rule applied to a configured table +// +// with the list analysis rule. +type ConfiguredTableAssociationAnalysisRuleList struct { + + // The list of resources or wildcards (ARNs) that are allowed to perform + // additional analysis on query output. + AllowedAdditionalAnalyses []string + + // The list of collaboration members who are allowed to receive results of + // queries run with this configured table. + AllowedResultReceivers []string + + noSmithyDocumentSerde +} + +// Controls on the query specifications that can be run on an associated +// +// configured table. +// +// The following types satisfy this interface: +// +// ConfiguredTableAssociationAnalysisRulePolicyMemberV1 +type ConfiguredTableAssociationAnalysisRulePolicy interface { + isConfiguredTableAssociationAnalysisRulePolicy() +} + +// The policy for the configured table association analysis rule. +type ConfiguredTableAssociationAnalysisRulePolicyMemberV1 struct { + Value ConfiguredTableAssociationAnalysisRulePolicyV1 + + noSmithyDocumentSerde +} + +func (*ConfiguredTableAssociationAnalysisRulePolicyMemberV1) isConfiguredTableAssociationAnalysisRulePolicy() { +} + +// Controls on the query specifications that can be run on an associated +// +// configured table. +// +// The following types satisfy this interface: +// +// ConfiguredTableAssociationAnalysisRulePolicyV1MemberAggregation +// ConfiguredTableAssociationAnalysisRulePolicyV1MemberCustom +// ConfiguredTableAssociationAnalysisRulePolicyV1MemberList +type ConfiguredTableAssociationAnalysisRulePolicyV1 interface { + isConfiguredTableAssociationAnalysisRulePolicyV1() +} + +// Analysis rule type that enables only aggregation queries on a configured table. +type ConfiguredTableAssociationAnalysisRulePolicyV1MemberAggregation struct { + Value ConfiguredTableAssociationAnalysisRuleAggregation + + noSmithyDocumentSerde +} + +func (*ConfiguredTableAssociationAnalysisRulePolicyV1MemberAggregation) isConfiguredTableAssociationAnalysisRulePolicyV1() { +} + +// Analysis rule type that enables the table owner to approve custom SQL queries +// +// on their configured tables. It supports differential privacy. +type ConfiguredTableAssociationAnalysisRulePolicyV1MemberCustom struct { + Value ConfiguredTableAssociationAnalysisRuleCustom + + noSmithyDocumentSerde +} + +func (*ConfiguredTableAssociationAnalysisRulePolicyV1MemberCustom) isConfiguredTableAssociationAnalysisRulePolicyV1() { +} + +// Analysis rule type that enables only list queries on a configured table. +type ConfiguredTableAssociationAnalysisRulePolicyV1MemberList struct { + Value ConfiguredTableAssociationAnalysisRuleList + + noSmithyDocumentSerde +} + +func (*ConfiguredTableAssociationAnalysisRulePolicyV1MemberList) isConfiguredTableAssociationAnalysisRulePolicyV1() { +} + // The configured table association summary for the objects listed by the request. type ConfiguredTableAssociationSummary struct { @@ -1909,6 +2110,15 @@ type DifferentialPrivacyTemplateUpdateParameters struct { noSmithyDocumentSerde } +// The direct analysis configuration details. +type DirectAnalysisConfigurationDetails struct { + + // The account IDs for the member who received the results of a protected query. + ReceiverAccountIds []string + + noSmithyDocumentSerde +} + // A reference to a table within an Glue data catalog. type GlueTableReference struct { @@ -2999,6 +3209,17 @@ type ProtectedQueryError struct { noSmithyDocumentSerde } +// Contains configuration details for the protected query member output. +type ProtectedQueryMemberOutputConfiguration struct { + + // The unique identifier for the account. + // + // This member is required. + AccountId *string + + noSmithyDocumentSerde +} + // Contains details about the protected query output. // // The following types satisfy this interface: @@ -3032,12 +3253,22 @@ func (*ProtectedQueryOutputMemberS3) isProtectedQueryOutput() {} // // The following types satisfy this interface: // +// ProtectedQueryOutputConfigurationMemberMember // ProtectedQueryOutputConfigurationMemberS3 type ProtectedQueryOutputConfiguration interface { isProtectedQueryOutputConfiguration() } -// Required configuration for a protected query with an `S3` output type. +// Required configuration for a protected query with a member output type. +type ProtectedQueryOutputConfigurationMemberMember struct { + Value ProtectedQueryMemberOutputConfiguration + + noSmithyDocumentSerde +} + +func (*ProtectedQueryOutputConfigurationMemberMember) isProtectedQueryOutputConfiguration() {} + +// Required configuration for a protected query with an s3 output type. type ProtectedQueryOutputConfigurationMemberS3 struct { Value ProtectedQueryS3OutputConfiguration @@ -3129,7 +3360,7 @@ type ProtectedQuerySQLParameters struct { // Contains statistics about the execution of the protected query. type ProtectedQueryStatistics struct { - // The duration of the Protected Query, from creation until query completion. + // The duration of the protected query, from creation until query completion. TotalDurationInMillis *int64 noSmithyDocumentSerde @@ -3158,6 +3389,11 @@ type ProtectedQuerySummary struct { // This member is required. MembershipId *string + // The receiver configuration. + // + // This member is required. + ReceiverConfigurations []ReceiverConfiguration + // The status of the protected query. Value values are `SUBMITTED`, `STARTED`, // `CANCELLED`, `CANCELLING`, `FAILED`, `SUCCESS`, `TIMED_OUT`. // @@ -3218,17 +3454,32 @@ type QueryConstraintRequireOverlap struct { noSmithyDocumentSerde } +// The receiver configuration for a protected query. +type ReceiverConfiguration struct { + + // The type of analysis for the protected query. The results of the query can be + // analyzed directly ( DIRECT_ANALYSIS ) or used as input into additional analyses ( + // ADDITIONAL_ANALYSIS ), such as a query that is a seed for a lookalike ML model. + // + // This member is required. + AnalysisType AnalysisType + + // The configuration details of the receiver configuration. + ConfigurationDetails ConfigurationDetails + + noSmithyDocumentSerde +} + // A schema is a relation within a collaboration. type Schema struct { - // The analysis rule types that are associated with the schema. Currently, only - // one entry is present. + // The analysis rule types associated with the schema. Currently, only one entry + // is present. // // This member is required. AnalysisRuleTypes []AnalysisRuleType - // The unique Amazon Resource Name (ARN) for the collaboration that the schema - // belongs to. + // The unique ARN for the collaboration that the schema belongs to. // // This member is required. CollaborationArn *string @@ -3238,12 +3489,12 @@ type Schema struct { // This member is required. CollaborationId *string - // The columns for the relation that this schema represents. + // The columns for the relation this schema represents. // // This member is required. Columns []Column - // The time at which the schema was created. + // The time the schema was created. // // This member is required. CreateTime *time.Time @@ -3274,18 +3525,18 @@ type Schema struct { // This member is required. SchemaStatusDetails []SchemaStatusDetail - // The type of schema. + // The type of schema. The only valid value is currently `TABLE`. // // This member is required. Type SchemaType - // The most recent time at which the schema was updated. + // The time the schema was last updated. // // This member is required. UpdateTime *time.Time // The analysis method for the schema. The only valid value is currently - // DIRECT_QUERY . + // DIRECT_QUERY. AnalysisMethod AnalysisMethod // The schema type properties. @@ -3318,7 +3569,15 @@ type SchemaAnalysisRuleRequest struct { // given analysis rule type are properly configured to run queries on this schema. type SchemaStatusDetail struct { - // The status of the schema. + // The type of analysis that can be performed on the schema. + // + // A schema can have an analysisType of DIRECT_ANALYSIS , + // ADDITIONAL_ANALYSIS_FOR_AUDIENCE_GENERATION , or both. + // + // This member is required. + AnalysisType AnalysisType + + // The status of the schema, indicating if it is ready to query. // // This member is required. Status SchemaStatus @@ -3384,7 +3643,7 @@ type SchemaSummary struct { // This member is required. Name *string - // The type of schema object. + // The type of schema object. The only valid schema type is currently `TABLE`. // // This member is required. Type SchemaType @@ -3465,20 +3724,23 @@ type UnknownUnionMember struct { noSmithyDocumentSerde } -func (*UnknownUnionMember) isAnalysisRulePolicy() {} -func (*UnknownUnionMember) isAnalysisRulePolicyV1() {} -func (*UnknownUnionMember) isAnalysisSource() {} -func (*UnknownUnionMember) isConfiguredTableAnalysisRulePolicy() {} -func (*UnknownUnionMember) isConfiguredTableAnalysisRulePolicyV1() {} -func (*UnknownUnionMember) isMembershipProtectedQueryOutputConfiguration() {} -func (*UnknownUnionMember) isPreviewPrivacyImpactParametersInput() {} -func (*UnknownUnionMember) isPrivacyBudget() {} -func (*UnknownUnionMember) isPrivacyBudgetTemplateParametersInput() {} -func (*UnknownUnionMember) isPrivacyBudgetTemplateParametersOutput() {} -func (*UnknownUnionMember) isPrivacyBudgetTemplateUpdateParameters() {} -func (*UnknownUnionMember) isPrivacyImpact() {} -func (*UnknownUnionMember) isProtectedQueryOutput() {} -func (*UnknownUnionMember) isProtectedQueryOutputConfiguration() {} -func (*UnknownUnionMember) isQueryConstraint() {} -func (*UnknownUnionMember) isSchemaTypeProperties() {} -func (*UnknownUnionMember) isTableReference() {} +func (*UnknownUnionMember) isAnalysisRulePolicy() {} +func (*UnknownUnionMember) isAnalysisRulePolicyV1() {} +func (*UnknownUnionMember) isAnalysisSource() {} +func (*UnknownUnionMember) isConfigurationDetails() {} +func (*UnknownUnionMember) isConfiguredTableAnalysisRulePolicy() {} +func (*UnknownUnionMember) isConfiguredTableAnalysisRulePolicyV1() {} +func (*UnknownUnionMember) isConfiguredTableAssociationAnalysisRulePolicy() {} +func (*UnknownUnionMember) isConfiguredTableAssociationAnalysisRulePolicyV1() {} +func (*UnknownUnionMember) isMembershipProtectedQueryOutputConfiguration() {} +func (*UnknownUnionMember) isPreviewPrivacyImpactParametersInput() {} +func (*UnknownUnionMember) isPrivacyBudget() {} +func (*UnknownUnionMember) isPrivacyBudgetTemplateParametersInput() {} +func (*UnknownUnionMember) isPrivacyBudgetTemplateParametersOutput() {} +func (*UnknownUnionMember) isPrivacyBudgetTemplateUpdateParameters() {} +func (*UnknownUnionMember) isPrivacyImpact() {} +func (*UnknownUnionMember) isProtectedQueryOutput() {} +func (*UnknownUnionMember) isProtectedQueryOutputConfiguration() {} +func (*UnknownUnionMember) isQueryConstraint() {} +func (*UnknownUnionMember) isSchemaTypeProperties() {} +func (*UnknownUnionMember) isTableReference() {} diff --git a/service/cleanrooms/types/types_exported_test.go b/service/cleanrooms/types/types_exported_test.go index b47ab70da29..e0d447161d5 100644 --- a/service/cleanrooms/types/types_exported_test.go +++ b/service/cleanrooms/types/types_exported_test.go @@ -73,6 +73,24 @@ func ExampleAnalysisSource_outputUsage() { var _ *string +func ExampleConfigurationDetails_outputUsage() { + var union types.ConfigurationDetails + // type switches can be used to check the union value + switch v := union.(type) { + case *types.ConfigurationDetailsMemberDirectAnalysisConfigurationDetails: + _ = v.Value // Value is types.DirectAnalysisConfigurationDetails + + case *types.UnknownUnionMember: + fmt.Println("unknown tag:", v.Tag) + + default: + fmt.Println("union is nil or unknown type") + + } +} + +var _ *types.DirectAnalysisConfigurationDetails + func ExampleConfiguredTableAnalysisRulePolicy_outputUsage() { var union types.ConfiguredTableAnalysisRulePolicy // type switches can be used to check the union value @@ -117,6 +135,50 @@ var _ *types.AnalysisRuleAggregation var _ *types.AnalysisRuleCustom var _ *types.AnalysisRuleList +func ExampleConfiguredTableAssociationAnalysisRulePolicy_outputUsage() { + var union types.ConfiguredTableAssociationAnalysisRulePolicy + // type switches can be used to check the union value + switch v := union.(type) { + case *types.ConfiguredTableAssociationAnalysisRulePolicyMemberV1: + _ = v.Value // Value is types.ConfiguredTableAssociationAnalysisRulePolicyV1 + + case *types.UnknownUnionMember: + fmt.Println("unknown tag:", v.Tag) + + default: + fmt.Println("union is nil or unknown type") + + } +} + +var _ types.ConfiguredTableAssociationAnalysisRulePolicyV1 + +func ExampleConfiguredTableAssociationAnalysisRulePolicyV1_outputUsage() { + var union types.ConfiguredTableAssociationAnalysisRulePolicyV1 + // type switches can be used to check the union value + switch v := union.(type) { + case *types.ConfiguredTableAssociationAnalysisRulePolicyV1MemberAggregation: + _ = v.Value // Value is types.ConfiguredTableAssociationAnalysisRuleAggregation + + case *types.ConfiguredTableAssociationAnalysisRulePolicyV1MemberCustom: + _ = v.Value // Value is types.ConfiguredTableAssociationAnalysisRuleCustom + + case *types.ConfiguredTableAssociationAnalysisRulePolicyV1MemberList: + _ = v.Value // Value is types.ConfiguredTableAssociationAnalysisRuleList + + case *types.UnknownUnionMember: + fmt.Println("unknown tag:", v.Tag) + + default: + fmt.Println("union is nil or unknown type") + + } +} + +var _ *types.ConfiguredTableAssociationAnalysisRuleCustom +var _ *types.ConfiguredTableAssociationAnalysisRuleAggregation +var _ *types.ConfiguredTableAssociationAnalysisRuleList + func ExampleMembershipProtectedQueryOutputConfiguration_outputUsage() { var union types.MembershipProtectedQueryOutputConfiguration // type switches can be used to check the union value @@ -269,6 +331,9 @@ func ExampleProtectedQueryOutputConfiguration_outputUsage() { var union types.ProtectedQueryOutputConfiguration // type switches can be used to check the union value switch v := union.(type) { + case *types.ProtectedQueryOutputConfigurationMemberMember: + _ = v.Value // Value is types.ProtectedQueryMemberOutputConfiguration + case *types.ProtectedQueryOutputConfigurationMemberS3: _ = v.Value // Value is types.ProtectedQueryS3OutputConfiguration @@ -281,6 +346,7 @@ func ExampleProtectedQueryOutputConfiguration_outputUsage() { } } +var _ *types.ProtectedQueryMemberOutputConfiguration var _ *types.ProtectedQueryS3OutputConfiguration func ExampleQueryConstraint_outputUsage() { diff --git a/service/cleanrooms/validators.go b/service/cleanrooms/validators.go index 474d38b73b9..a00467f7018 100644 --- a/service/cleanrooms/validators.go +++ b/service/cleanrooms/validators.go @@ -150,6 +150,26 @@ func (m *validateOpCreateConfiguredTableAnalysisRule) HandleInitialize(ctx conte return next.HandleInitialize(ctx, in) } +type validateOpCreateConfiguredTableAssociationAnalysisRule struct { +} + +func (*validateOpCreateConfiguredTableAssociationAnalysisRule) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpCreateConfiguredTableAssociationAnalysisRule) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*CreateConfiguredTableAssociationAnalysisRuleInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpCreateConfiguredTableAssociationAnalysisRuleInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpCreateConfiguredTableAssociation struct { } @@ -350,6 +370,26 @@ func (m *validateOpDeleteConfiguredTableAnalysisRule) HandleInitialize(ctx conte return next.HandleInitialize(ctx, in) } +type validateOpDeleteConfiguredTableAssociationAnalysisRule struct { +} + +func (*validateOpDeleteConfiguredTableAssociationAnalysisRule) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDeleteConfiguredTableAssociationAnalysisRule) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DeleteConfiguredTableAssociationAnalysisRuleInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDeleteConfiguredTableAssociationAnalysisRuleInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDeleteConfiguredTableAssociation struct { } @@ -650,6 +690,26 @@ func (m *validateOpGetConfiguredTableAnalysisRule) HandleInitialize(ctx context. return next.HandleInitialize(ctx, in) } +type validateOpGetConfiguredTableAssociationAnalysisRule struct { +} + +func (*validateOpGetConfiguredTableAssociationAnalysisRule) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetConfiguredTableAssociationAnalysisRule) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetConfiguredTableAssociationAnalysisRuleInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetConfiguredTableAssociationAnalysisRuleInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpGetConfiguredTableAssociation struct { } @@ -1330,6 +1390,26 @@ func (m *validateOpUpdateConfiguredTableAnalysisRule) HandleInitialize(ctx conte return next.HandleInitialize(ctx, in) } +type validateOpUpdateConfiguredTableAssociationAnalysisRule struct { +} + +func (*validateOpUpdateConfiguredTableAssociationAnalysisRule) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpUpdateConfiguredTableAssociationAnalysisRule) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*UpdateConfiguredTableAssociationAnalysisRuleInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpUpdateConfiguredTableAssociationAnalysisRuleInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpUpdateConfiguredTableAssociation struct { } @@ -1498,6 +1578,10 @@ func addOpCreateConfiguredTableAnalysisRuleValidationMiddleware(stack *middlewar return stack.Initialize.Add(&validateOpCreateConfiguredTableAnalysisRule{}, middleware.After) } +func addOpCreateConfiguredTableAssociationAnalysisRuleValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpCreateConfiguredTableAssociationAnalysisRule{}, middleware.After) +} + func addOpCreateConfiguredTableAssociationValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpCreateConfiguredTableAssociation{}, middleware.After) } @@ -1538,6 +1622,10 @@ func addOpDeleteConfiguredTableAnalysisRuleValidationMiddleware(stack *middlewar return stack.Initialize.Add(&validateOpDeleteConfiguredTableAnalysisRule{}, middleware.After) } +func addOpDeleteConfiguredTableAssociationAnalysisRuleValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDeleteConfiguredTableAssociationAnalysisRule{}, middleware.After) +} + func addOpDeleteConfiguredTableAssociationValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDeleteConfiguredTableAssociation{}, middleware.After) } @@ -1598,6 +1686,10 @@ func addOpGetConfiguredTableAnalysisRuleValidationMiddleware(stack *middleware.S return stack.Initialize.Add(&validateOpGetConfiguredTableAnalysisRule{}, middleware.After) } +func addOpGetConfiguredTableAssociationAnalysisRuleValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetConfiguredTableAssociationAnalysisRule{}, middleware.After) +} + func addOpGetConfiguredTableAssociationValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetConfiguredTableAssociation{}, middleware.After) } @@ -1734,6 +1826,10 @@ func addOpUpdateConfiguredTableAnalysisRuleValidationMiddleware(stack *middlewar return stack.Initialize.Add(&validateOpUpdateConfiguredTableAnalysisRule{}, middleware.After) } +func addOpUpdateConfiguredTableAssociationAnalysisRuleValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpUpdateConfiguredTableAssociationAnalysisRule{}, middleware.After) +} + func addOpUpdateConfiguredTableAssociationValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdateConfiguredTableAssociation{}, middleware.After) } @@ -2340,12 +2436,32 @@ func validatePrivacyBudgetTemplateParametersInput(v types.PrivacyBudgetTemplateP } } +func validateProtectedQueryMemberOutputConfiguration(v *types.ProtectedQueryMemberOutputConfiguration) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ProtectedQueryMemberOutputConfiguration"} + if v.AccountId == nil { + invalidParams.Add(smithy.NewErrParamRequired("AccountId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateProtectedQueryOutputConfiguration(v types.ProtectedQueryOutputConfiguration) error { if v == nil { return nil } invalidParams := smithy.InvalidParamsError{Context: "ProtectedQueryOutputConfiguration"} switch uv := v.(type) { + case *types.ProtectedQueryOutputConfigurationMemberMember: + if err := validateProtectedQueryMemberOutputConfiguration(&uv.Value); err != nil { + invalidParams.AddNested("[member]", err.(smithy.InvalidParamsError)) + } + case *types.ProtectedQueryOutputConfigurationMemberS3: if err := validateProtectedQueryS3OutputConfiguration(&uv.Value); err != nil { invalidParams.AddNested("[s3]", err.(smithy.InvalidParamsError)) @@ -2645,6 +2761,30 @@ func validateOpCreateConfiguredTableAnalysisRuleInput(v *CreateConfiguredTableAn } } +func validateOpCreateConfiguredTableAssociationAnalysisRuleInput(v *CreateConfiguredTableAssociationAnalysisRuleInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "CreateConfiguredTableAssociationAnalysisRuleInput"} + if v.MembershipIdentifier == nil { + invalidParams.Add(smithy.NewErrParamRequired("MembershipIdentifier")) + } + if v.ConfiguredTableAssociationIdentifier == nil { + invalidParams.Add(smithy.NewErrParamRequired("ConfiguredTableAssociationIdentifier")) + } + if len(v.AnalysisRuleType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("AnalysisRuleType")) + } + if v.AnalysisRulePolicy == nil { + invalidParams.Add(smithy.NewErrParamRequired("AnalysisRulePolicy")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpCreateConfiguredTableAssociationInput(v *CreateConfiguredTableAssociationInput) error { if v == nil { return nil @@ -2877,6 +3017,27 @@ func validateOpDeleteConfiguredTableAnalysisRuleInput(v *DeleteConfiguredTableAn } } +func validateOpDeleteConfiguredTableAssociationAnalysisRuleInput(v *DeleteConfiguredTableAssociationAnalysisRuleInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DeleteConfiguredTableAssociationAnalysisRuleInput"} + if v.MembershipIdentifier == nil { + invalidParams.Add(smithy.NewErrParamRequired("MembershipIdentifier")) + } + if v.ConfiguredTableAssociationIdentifier == nil { + invalidParams.Add(smithy.NewErrParamRequired("ConfiguredTableAssociationIdentifier")) + } + if len(v.AnalysisRuleType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("AnalysisRuleType")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDeleteConfiguredTableAssociationInput(v *DeleteConfiguredTableAssociationInput) error { if v == nil { return nil @@ -3138,6 +3299,27 @@ func validateOpGetConfiguredTableAnalysisRuleInput(v *GetConfiguredTableAnalysis } } +func validateOpGetConfiguredTableAssociationAnalysisRuleInput(v *GetConfiguredTableAssociationAnalysisRuleInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetConfiguredTableAssociationAnalysisRuleInput"} + if v.MembershipIdentifier == nil { + invalidParams.Add(smithy.NewErrParamRequired("MembershipIdentifier")) + } + if v.ConfiguredTableAssociationIdentifier == nil { + invalidParams.Add(smithy.NewErrParamRequired("ConfiguredTableAssociationIdentifier")) + } + if len(v.AnalysisRuleType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("AnalysisRuleType")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpGetConfiguredTableAssociationInput(v *GetConfiguredTableAssociationInput) error { if v == nil { return nil @@ -3721,6 +3903,30 @@ func validateOpUpdateConfiguredTableAnalysisRuleInput(v *UpdateConfiguredTableAn } } +func validateOpUpdateConfiguredTableAssociationAnalysisRuleInput(v *UpdateConfiguredTableAssociationAnalysisRuleInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "UpdateConfiguredTableAssociationAnalysisRuleInput"} + if v.MembershipIdentifier == nil { + invalidParams.Add(smithy.NewErrParamRequired("MembershipIdentifier")) + } + if v.ConfiguredTableAssociationIdentifier == nil { + invalidParams.Add(smithy.NewErrParamRequired("ConfiguredTableAssociationIdentifier")) + } + if len(v.AnalysisRuleType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("AnalysisRuleType")) + } + if v.AnalysisRulePolicy == nil { + invalidParams.Add(smithy.NewErrParamRequired("AnalysisRulePolicy")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpUpdateConfiguredTableAssociationInput(v *UpdateConfiguredTableAssociationInput) error { if v == nil { return nil diff --git a/service/dynamodb/api_op_BatchExecuteStatement.go b/service/dynamodb/api_op_BatchExecuteStatement.go index c1bb300b786..633e64ec5ba 100644 --- a/service/dynamodb/api_op_BatchExecuteStatement.go +++ b/service/dynamodb/api_op_BatchExecuteStatement.go @@ -14,7 +14,8 @@ import ( // This operation allows you to perform batch reads or writes on data stored in // DynamoDB, using PartiQL. Each read statement in a BatchExecuteStatement must // specify an equality condition on all key attributes. This enforces that each -// SELECT statement in a batch returns at most a single item. +// SELECT statement in a batch returns at most a single item. For more information, +// see [Running batch operations with PartiQL for DynamoDB]. // // The entire batch must consist of either read statements or write statements, // you cannot mix both in one batch. @@ -24,6 +25,7 @@ import ( // found under the [Error]field of the BatchStatementResponse for each statement. // // [Error]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchStatementResponse.html#DDB-Type-BatchStatementResponse-Error +// [Running batch operations with PartiQL for DynamoDB]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.multiplestatements.batching.html func (c *Client) BatchExecuteStatement(ctx context.Context, params *BatchExecuteStatementInput, optFns ...func(*Options)) (*BatchExecuteStatementOutput, error) { if params == nil { params = &BatchExecuteStatementInput{} diff --git a/service/dynamodb/api_op_BatchWriteItem.go b/service/dynamodb/api_op_BatchWriteItem.go index 7730d1f7019..2e23a47c0b9 100644 --- a/service/dynamodb/api_op_BatchWriteItem.go +++ b/service/dynamodb/api_op_BatchWriteItem.go @@ -33,9 +33,12 @@ import ( // iteration would check for unprocessed items and submit a new BatchWriteItem // request with those unprocessed items until all items have been processed. // -// If none of the items can be processed due to insufficient provisioned -// throughput on all of the tables in the request, then BatchWriteItem returns a -// ProvisionedThroughputExceededException . +// For tables and indexes with provisioned capacity, if none of the items can be +// processed due to insufficient provisioned throughput on all of the tables in the +// request, then BatchWriteItem returns a ProvisionedThroughputExceededException . +// For all tables and indexes, if none of the items can be processed due to other +// throttling scenarios (such as exceeding partition level limits), then +// BatchWriteItem returns a ThrottlingException . // // If DynamoDB returns any unprocessed items, you should retry the batch operation // on those items. However, we strongly recommend that you use an exponential diff --git a/service/dynamodb/api_op_DeleteTable.go b/service/dynamodb/api_op_DeleteTable.go index 1ad08d85aeb..e668566936e 100644 --- a/service/dynamodb/api_op_DeleteTable.go +++ b/service/dynamodb/api_op_DeleteTable.go @@ -25,7 +25,7 @@ import ( // // DynamoDB might continue to accept data read and write operations, such as // GetItem and PutItem , on a table in the DELETING state until the table deletion -// is complete. +// is complete. For the full list of table states, see [TableStatus]. // // When you delete a table, any indexes on that table are also deleted. // @@ -34,6 +34,8 @@ import ( // automatically deleted after 24 hours. // // Use the DescribeTable action to check the status of the table. +// +// [TableStatus]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_TableDescription.html#DDB-Type-TableDescription-TableStatus func (c *Client) DeleteTable(ctx context.Context, params *DeleteTableInput, optFns ...func(*Options)) (*DeleteTableOutput, error) { if params == nil { params = &DeleteTableInput{} diff --git a/service/dynamodb/api_op_Query.go b/service/dynamodb/api_op_Query.go index 0e2099adadc..517efdced03 100644 --- a/service/dynamodb/api_op_Query.go +++ b/service/dynamodb/api_op_Query.go @@ -440,7 +440,7 @@ type QueryOutput struct { // If you did not use a filter in the request, then ScannedCount is the same as // Count . // - // [Count and ScannedCount]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count + // [Count and ScannedCount]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Count ScannedCount int32 // Metadata pertaining to the operation's result. diff --git a/service/iotsitewise/api_op_CreateAssetModel.go b/service/iotsitewise/api_op_CreateAssetModel.go index 5a163fa4908..afac2303787 100644 --- a/service/iotsitewise/api_op_CreateAssetModel.go +++ b/service/iotsitewise/api_op_CreateAssetModel.go @@ -44,7 +44,7 @@ func (c *Client) CreateAssetModel(ctx context.Context, params *CreateAssetModelI type CreateAssetModelInput struct { - // A unique, friendly name for the asset model. + // A unique name for the asset model. // // This member is required. AssetModelName *string @@ -56,9 +56,10 @@ type CreateAssetModelInput struct { // composite models to define alarms on this asset model. // // When creating custom composite models, you need to use [CreateAssetModelCompositeModel]. For more information, - // see . + // see [Creating custom composite models (Components)]in the IoT SiteWise User Guide. // // [CreateAssetModelCompositeModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModelCompositeModel.html + // [Creating custom composite models (Components)]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-custom-composite-models.html AssetModelCompositeModels []types.AssetModelCompositeModelDefinition // A description for the asset model. diff --git a/service/iotsitewise/api_op_CreateAssetModelCompositeModel.go b/service/iotsitewise/api_op_CreateAssetModelCompositeModel.go index 5c5f9d49e17..e140c0ef455 100644 --- a/service/iotsitewise/api_op_CreateAssetModelCompositeModel.go +++ b/service/iotsitewise/api_op_CreateAssetModelCompositeModel.go @@ -50,7 +50,7 @@ func (c *Client) CreateAssetModelCompositeModel(ctx context.Context, params *Cre type CreateAssetModelCompositeModelInput struct { - // A unique, friendly name for the composite model. + // A unique name for the composite model. // // This member is required. AssetModelCompositeModelName *string @@ -83,11 +83,13 @@ type CreateAssetModelCompositeModelInput struct { // own ID, it must be globally unique. AssetModelCompositeModelId *string - // The property definitions of the composite model. For more information, see . + // The property definitions of the composite model. For more information, see [Inline custom composite models] in + // the IoT SiteWise User Guide. // // You can specify up to 200 properties per composite model. For more information, // see [Quotas]in the IoT SiteWise User Guide. // + // [Inline custom composite models]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/custom-composite-models.html#inline-composite-models // [Quotas]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html AssetModelCompositeModelProperties []types.AssetModelPropertyDefinition @@ -96,7 +98,7 @@ type CreateAssetModelCompositeModelInput struct { // request is required. ClientToken *string - // The ID of a composite model on this asset. + // The ID of a component model which is reused to create this composite model. ComposedAssetModelId *string // The ID of the parent composite model in this asset model relationship. diff --git a/service/iotsitewise/api_op_CreateGateway.go b/service/iotsitewise/api_op_CreateGateway.go index 40b3ed210f9..858fb141f0f 100644 --- a/service/iotsitewise/api_op_CreateGateway.go +++ b/service/iotsitewise/api_op_CreateGateway.go @@ -33,7 +33,7 @@ func (c *Client) CreateGateway(ctx context.Context, params *CreateGatewayInput, type CreateGatewayInput struct { - // A unique, friendly name for the gateway. + // A unique name for the gateway. // // This member is required. GatewayName *string diff --git a/service/iotsitewise/api_op_UpdateAssetModel.go b/service/iotsitewise/api_op_UpdateAssetModel.go index b690d86a1ee..460807fb808 100644 --- a/service/iotsitewise/api_op_UpdateAssetModel.go +++ b/service/iotsitewise/api_op_UpdateAssetModel.go @@ -16,17 +16,19 @@ import ( // and hierarchy definitions. For more information, see [Updating assets and models]in the IoT SiteWise User // Guide. // -// This operation overwrites the existing model with the provided model. To avoid -// deleting your asset model's properties or hierarchies, you must include their -// IDs and definitions in the updated asset model payload. For more information, -// see [DescribeAssetModel]. -// // If you remove a property from an asset model, IoT SiteWise deletes all previous -// data for that property. If you remove a hierarchy definition from an asset -// model, IoT SiteWise disassociates every asset associated with that hierarchy. -// You can't change the type or data type of an existing property. +// data for that property. You can’t change the type or data type of an existing +// property. +// +// To replace an existing asset model property with a new one with the same name , +// do the following: +// +// - Submit an UpdateAssetModel request with the entire existing property removed. +// +// - Submit a second UpdateAssetModel request that includes the new property. The +// new asset property will have the same name as the previous one and IoT +// SiteWise will generate a new unique id . // -// [DescribeAssetModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html // [Updating assets and models]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html func (c *Client) UpdateAssetModel(ctx context.Context, params *UpdateAssetModelInput, optFns ...func(*Options)) (*UpdateAssetModelOutput, error) { if params == nil { @@ -54,7 +56,7 @@ type UpdateAssetModelInput struct { // This member is required. AssetModelId *string - // A unique, friendly name for the asset model. + // A unique name for the asset model. // // This member is required. AssetModelName *string @@ -66,9 +68,10 @@ type UpdateAssetModelInput struct { // composite models to define alarms on this asset model. // // When creating custom composite models, you need to use [CreateAssetModelCompositeModel]. For more information, - // see . + // see [Creating custom composite models (Components)]in the IoT SiteWise User Guide. // // [CreateAssetModelCompositeModel]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModelCompositeModel.html + // [Creating custom composite models (Components)]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-custom-composite-models.html AssetModelCompositeModels []types.AssetModelCompositeModel // A description for the asset model. diff --git a/service/iotsitewise/api_op_UpdateAssetModelCompositeModel.go b/service/iotsitewise/api_op_UpdateAssetModelCompositeModel.go index 02396ebe06d..be3f59cc54b 100644 --- a/service/iotsitewise/api_op_UpdateAssetModelCompositeModel.go +++ b/service/iotsitewise/api_op_UpdateAssetModelCompositeModel.go @@ -53,7 +53,7 @@ type UpdateAssetModelCompositeModelInput struct { // This member is required. AssetModelCompositeModelId *string - // A unique, friendly name for the composite model. + // A unique name for the composite model. // // This member is required. AssetModelCompositeModelName *string @@ -71,11 +71,13 @@ type UpdateAssetModelCompositeModelInput struct { // the exact same thing as when it was created. AssetModelCompositeModelExternalId *string - // The property definitions of the composite model. For more information, see . + // The property definitions of the composite model. For more information, see [Inline custom composite models] in + // the IoT SiteWise User Guide. // // You can specify up to 200 properties per composite model. For more information, // see [Quotas]in the IoT SiteWise User Guide. // + // [Inline custom composite models]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/custom-composite-models.html#inline-composite-models // [Quotas]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html AssetModelCompositeModelProperties []types.AssetModelProperty diff --git a/service/iotsitewise/api_op_UpdateGateway.go b/service/iotsitewise/api_op_UpdateGateway.go index 577517c33c4..702de0991df 100644 --- a/service/iotsitewise/api_op_UpdateGateway.go +++ b/service/iotsitewise/api_op_UpdateGateway.go @@ -33,7 +33,7 @@ type UpdateGatewayInput struct { // This member is required. GatewayId *string - // A unique, friendly name for the gateway. + // A unique name for the gateway. // // This member is required. GatewayName *string diff --git a/service/iotsitewise/deserializers.go b/service/iotsitewise/deserializers.go index 647092f8a22..744601b98b1 100644 --- a/service/iotsitewise/deserializers.go +++ b/service/iotsitewise/deserializers.go @@ -3595,6 +3595,9 @@ func awsRestjson1_deserializeOpErrorDeleteGateway(response *smithyhttp.Response, } switch { + case strings.EqualFold("ConflictingOperationException", errorCode): + return awsRestjson1_deserializeErrorConflictingOperationException(response, errorBody) + case strings.EqualFold("InternalFailureException", errorCode): return awsRestjson1_deserializeErrorInternalFailureException(response, errorBody) @@ -6405,7 +6408,7 @@ func awsRestjson1_deserializeOpDocumentDescribeGatewayOutput(v **DescribeGateway if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected Name to be of type string, got %T instead", value) + return fmt.Errorf("expected GatewayName to be of type string, got %T instead", value) } sv.GatewayName = ptr.String(jtv) } @@ -20189,6 +20192,11 @@ func awsRestjson1_deserializeDocumentGatewayPlatform(v **types.GatewayPlatform, return err } + case "siemensIE": + if err := awsRestjson1_deserializeDocumentSiemensIE(&sv.SiemensIE, value); err != nil { + return err + } + default: _, _ = key, value @@ -20288,7 +20296,7 @@ func awsRestjson1_deserializeDocumentGatewaySummary(v **types.GatewaySummary, va if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected Name to be of type string, got %T instead", value) + return fmt.Errorf("expected GatewayName to be of type string, got %T instead", value) } sv.GatewayName = ptr.String(jtv) } @@ -22243,6 +22251,46 @@ func awsRestjson1_deserializeDocumentServiceUnavailableException(v **types.Servi return nil } +func awsRestjson1_deserializeDocumentSiemensIE(v **types.SiemensIE, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.SiemensIE + if *v == nil { + sv = &types.SiemensIE{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "iotCoreThingName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected IotCoreThingName to be of type string, got %T instead", value) + } + sv.IotCoreThingName = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentTagMap(v *map[string]string, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/iotsitewise/serializers.go b/service/iotsitewise/serializers.go index b4645a65405..b237ec0d233 100644 --- a/service/iotsitewise/serializers.go +++ b/service/iotsitewise/serializers.go @@ -7786,6 +7786,13 @@ func awsRestjson1_serializeDocumentGatewayPlatform(v *types.GatewayPlatform, val } } + if v.SiemensIE != nil { + ok := object.Key("siemensIE") + if err := awsRestjson1_serializeDocumentSiemensIE(v.SiemensIE, ok); err != nil { + return err + } + } + return nil } @@ -8220,6 +8227,18 @@ func awsRestjson1_serializeDocumentRetentionPeriod(v *types.RetentionPeriod, val return nil } +func awsRestjson1_serializeDocumentSiemensIE(v *types.SiemensIE, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.IotCoreThingName != nil { + ok := object.Key("iotCoreThingName") + ok.String(*v.IotCoreThingName) + } + + return nil +} + func awsRestjson1_serializeDocumentTagMap(v map[string]string, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/iotsitewise/types/enums.go b/service/iotsitewise/types/enums.go index 45465ad212a..856baea91a4 100644 --- a/service/iotsitewise/types/enums.go +++ b/service/iotsitewise/types/enums.go @@ -276,10 +276,11 @@ type CapabilitySyncStatus string // Enum values for CapabilitySyncStatus const ( - CapabilitySyncStatusInSync CapabilitySyncStatus = "IN_SYNC" - CapabilitySyncStatusOutOfSync CapabilitySyncStatus = "OUT_OF_SYNC" - CapabilitySyncStatusSyncFailed CapabilitySyncStatus = "SYNC_FAILED" - CapabilitySyncStatusUnknown CapabilitySyncStatus = "UNKNOWN" + CapabilitySyncStatusInSync CapabilitySyncStatus = "IN_SYNC" + CapabilitySyncStatusOutOfSync CapabilitySyncStatus = "OUT_OF_SYNC" + CapabilitySyncStatusSyncFailed CapabilitySyncStatus = "SYNC_FAILED" + CapabilitySyncStatusUnknown CapabilitySyncStatus = "UNKNOWN" + CapabilitySyncStatusNotApplicable CapabilitySyncStatus = "NOT_APPLICABLE" ) // Values returns all known values for CapabilitySyncStatus. Note that this can be @@ -292,6 +293,7 @@ func (CapabilitySyncStatus) Values() []CapabilitySyncStatus { "OUT_OF_SYNC", "SYNC_FAILED", "UNKNOWN", + "NOT_APPLICABLE", } } diff --git a/service/iotsitewise/types/types.go b/service/iotsitewise/types/types.go index 938ee3f3a4c..d4f1ff08d4d 100644 --- a/service/iotsitewise/types/types.go +++ b/service/iotsitewise/types/types.go @@ -396,29 +396,23 @@ type AssetModelCompositeModelPathSegment struct { // Contains a summary of the composite model. type AssetModelCompositeModelSummary struct { - // The ID of the the composite model that this summary describes.. + // The ID of the composite model that this summary describes.. // // This member is required. Id *string - // The name of the the composite model that this summary describes.. + // The name of the composite model that this summary describes.. // // This member is required. Name *string - // The type of asset model. - // - // - ASSET_MODEL – (default) An asset model that you can use to create assets. - // Can't be included as a component in another asset model. - // - // - COMPONENT_MODEL – A reusable component that you can include in the - // composite models of other asset models. You can't create assets directly from - // this type of asset model. + // The composite model type. Valid values are AWS/ALARM , CUSTOM , or + // AWS/L4E_ANOMALY . // // This member is required. Type *string - // The description of the the composite model that this summary describes.. + // The description of the composite model that this summary describes.. Description *string // The external ID of a composite model on this asset model. For more information, @@ -1860,6 +1854,9 @@ type GatewayPlatform struct { // A gateway that runs on IoT Greengrass V2. GreengrassV2 *GreengrassV2 + // A SiteWise Edge gateway that runs on a Siemens Industrial Edge Device. + SiemensIE *SiemensIE + noSmithyDocumentSerde } @@ -1876,7 +1873,7 @@ type GatewaySummary struct { // This member is required. GatewayId *string - // The name of the asset. + // The name of the gateway. // // This member is required. GatewayName *string @@ -1909,10 +1906,10 @@ type GatewaySummary struct { type Greengrass struct { // The [ARN] of the Greengrass group. For more information about how to find a group's - // ARN, see [ListGroups]and [GetGroup] in the IoT Greengrass API Reference. + // ARN, see [ListGroups]and [GetGroup] in the IoT Greengrass V1 API Reference. // - // [GetGroup]: https://docs.aws.amazon.com/greengrass/latest/apireference/getgroup-get.html - // [ListGroups]: https://docs.aws.amazon.com/greengrass/latest/apireference/listgroups-get.html + // [GetGroup]: https://docs.aws.amazon.com/greengrass/v1/apireference/getgroup-get.html + // [ListGroups]: https://docs.aws.amazon.com/greengrass/v1/apireference/listgroups-get.html // [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html // // This member is required. @@ -2537,6 +2534,18 @@ type Row struct { noSmithyDocumentSerde } +// Contains details for a SiteWise Edge gateway that runs on a Siemens Industrial +// Edge Device. +type SiemensIE struct { + + // The name of the IoT Thing for your SiteWise Edge gateway. + // + // This member is required. + IotCoreThingName *string + + noSmithyDocumentSerde +} + // The resource the action will be taken on. type TargetResource struct { @@ -2796,8 +2805,7 @@ type Variant struct { // Asset property data of type double (floating point number). DoubleValue *float64 - // Asset property data of type integer (number that's greater than or equal to - // zero). + // Asset property data of type integer (whole number). IntegerValue *int32 // Asset property data of type string (sequence of characters). diff --git a/service/iotsitewise/validators.go b/service/iotsitewise/validators.go index e986ccdc9e7..c4ba0447a2d 100644 --- a/service/iotsitewise/validators.go +++ b/service/iotsitewise/validators.go @@ -2269,6 +2269,11 @@ func validateGatewayPlatform(v *types.GatewayPlatform) error { invalidParams.AddNested("GreengrassV2", err.(smithy.InvalidParamsError)) } } + if v.SiemensIE != nil { + if err := validateSiemensIE(v.SiemensIE); err != nil { + invalidParams.AddNested("SiemensIE", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -2691,6 +2696,21 @@ func validateResource(v *types.Resource) error { } } +func validateSiemensIE(v *types.SiemensIE) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "SiemensIE"} + if v.IotCoreThingName == nil { + invalidParams.Add(smithy.NewErrParamRequired("IotCoreThingName")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateTargetResource(v *types.TargetResource) error { if v == nil { return nil diff --git a/service/mediapackagev2/types/enums.go b/service/mediapackagev2/types/enums.go index a8e7065c157..50a49a3296b 100644 --- a/service/mediapackagev2/types/enums.go +++ b/service/mediapackagev2/types/enums.go @@ -191,6 +191,7 @@ const ( DrmSystemFairplay DrmSystem = "FAIRPLAY" DrmSystemPlayready DrmSystem = "PLAYREADY" DrmSystemWidevine DrmSystem = "WIDEVINE" + DrmSystemIrdeto DrmSystem = "IRDETO" ) // Values returns all known values for DrmSystem. Note that this can be expanded @@ -203,6 +204,7 @@ func (DrmSystem) Values() []DrmSystem { "FAIRPLAY", "PLAYREADY", "WIDEVINE", + "IRDETO", } } diff --git a/service/medicalimaging/api_op_CopyImageSet.go b/service/medicalimaging/api_op_CopyImageSet.go index 2298d90a768..0f845b0a66b 100644 --- a/service/medicalimaging/api_op_CopyImageSet.go +++ b/service/medicalimaging/api_op_CopyImageSet.go @@ -44,6 +44,11 @@ type CopyImageSetInput struct { // This member is required. SourceImageSetId *string + // Setting this flag will force the CopyImageSet operation, even if Patient, + // Study, or Series level metadata are mismatched across the sourceImageSet and + // destinationImageSet . + Force *bool + noSmithyDocumentSerde } diff --git a/service/medicalimaging/api_op_GetImageSet.go b/service/medicalimaging/api_op_GetImageSet.go index 1b0b1c5f598..df39c188a88 100644 --- a/service/medicalimaging/api_op_GetImageSet.go +++ b/service/medicalimaging/api_op_GetImageSet.go @@ -83,6 +83,11 @@ type GetImageSetOutput struct { // The error message thrown if an image set action fails. Message *string + // This object contains the details of any overrides used while creating a + // specific image set version. If an image set was copied or updated using the + // force flag, this object will contain the forced flag. + Overrides *types.Overrides + // The timestamp when image set properties were updated. UpdatedAt *time.Time diff --git a/service/medicalimaging/api_op_UpdateImageSetMetadata.go b/service/medicalimaging/api_op_UpdateImageSetMetadata.go index d0a37a08435..2fd91a62f6d 100644 --- a/service/medicalimaging/api_op_UpdateImageSetMetadata.go +++ b/service/medicalimaging/api_op_UpdateImageSetMetadata.go @@ -50,6 +50,15 @@ type UpdateImageSetMetadataInput struct { // This member is required. UpdateImageSetMetadataUpdates types.MetadataUpdates + // Setting this flag will force the UpdateImageSetMetadata operation for the + // following attributes: + // + // - Tag.StudyInstanceUID , Tag.SeriesInstanceUID , Tag.SOPInstanceUID , and + // Tag.StudyID + // + // - Adding, removing, or updating private tags for an individual SOP Instance + Force *bool + noSmithyDocumentSerde } diff --git a/service/medicalimaging/deserializers.go b/service/medicalimaging/deserializers.go index 620ecf037b7..86446d4f4d3 100644 --- a/service/medicalimaging/deserializers.go +++ b/service/medicalimaging/deserializers.go @@ -1434,6 +1434,11 @@ func awsRestjson1_deserializeOpDocumentGetImageSetOutput(v **GetImageSetOutput, sv.Message = ptr.String(jtv) } + case "overrides": + if err := awsRestjson1_deserializeDocumentOverrides(&sv.Overrides, value); err != nil { + return err + } + case "updatedAt": if value != nil { switch jtv := value.(type) { @@ -4435,6 +4440,11 @@ func awsRestjson1_deserializeDocumentImageSetProperties(v **types.ImageSetProper sv.Message = ptr.String(jtv) } + case "overrides": + if err := awsRestjson1_deserializeDocumentOverrides(&sv.Overrides, value); err != nil { + return err + } + case "updatedAt": if value != nil { switch jtv := value.(type) { @@ -4667,6 +4677,46 @@ func awsRestjson1_deserializeDocumentInternalServerException(v **types.InternalS return nil } +func awsRestjson1_deserializeDocumentOverrides(v **types.Overrides, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.Overrides + if *v == nil { + sv = &types.Overrides{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "forced": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.Forced = ptr.Bool(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentResourceNotFoundException(v **types.ResourceNotFoundException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/medicalimaging/serializers.go b/service/medicalimaging/serializers.go index 2eccb1273e7..322e92521a0 100644 --- a/service/medicalimaging/serializers.go +++ b/service/medicalimaging/serializers.go @@ -101,6 +101,10 @@ func awsRestjson1_serializeOpHttpBindingsCopyImageSetInput(v *CopyImageSetInput, } } + if v.Force != nil { + encoder.SetQuery("force").Boolean(*v.Force) + } + if v.SourceImageSetId == nil || len(*v.SourceImageSetId) == 0 { return &smithy.SerializationError{Err: fmt.Errorf("input member sourceImageSetId must not be empty")} } @@ -1478,6 +1482,10 @@ func awsRestjson1_serializeOpHttpBindingsUpdateImageSetMetadataInput(v *UpdateIm } } + if v.Force != nil { + encoder.SetQuery("force").Boolean(*v.Force) + } + if v.ImageSetId == nil || len(*v.ImageSetId) == 0 { return &smithy.SerializationError{Err: fmt.Errorf("input member imageSetId must not be empty")} } @@ -1536,6 +1544,13 @@ func awsRestjson1_serializeDocumentCopySourceImageSetInformation(v *types.CopySo object := value.Object() defer object.Close() + if v.DICOMCopies != nil { + ok := object.Key("DICOMCopies") + if err := awsRestjson1_serializeDocumentMetadataCopies(v.DICOMCopies, ok); err != nil { + return err + } + } + if v.LatestVersionId != nil { ok := object.Key("latestVersionId") ok.String(*v.LatestVersionId) @@ -1590,6 +1605,18 @@ func awsRestjson1_serializeDocumentImageFrameInformation(v *types.ImageFrameInfo return nil } +func awsRestjson1_serializeDocumentMetadataCopies(v *types.MetadataCopies, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.CopiableAttributes != nil { + ok := object.Key("copiableAttributes") + ok.String(*v.CopiableAttributes) + } + + return nil +} + func awsRestjson1_serializeDocumentMetadataUpdates(v types.MetadataUpdates, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -1601,6 +1628,10 @@ func awsRestjson1_serializeDocumentMetadataUpdates(v types.MetadataUpdates, valu return err } + case *types.MetadataUpdatesMemberRevertToVersionId: + av := object.Key("revertToVersionId") + av.String(uv.Value) + default: return fmt.Errorf("attempted to serialize unknown member type %T for union %T", uv, v) diff --git a/service/medicalimaging/types/types.go b/service/medicalimaging/types/types.go index 839ab93b38f..f5e7e47474e 100644 --- a/service/medicalimaging/types/types.go +++ b/service/medicalimaging/types/types.go @@ -76,6 +76,10 @@ type CopySourceImageSetInformation struct { // This member is required. LatestVersionId *string + // Contains MetadataCopies structure and wraps information related to specific + // copy use cases. For example, when copying subsets. + DICOMCopies *MetadataCopies + noSmithyDocumentSerde } @@ -389,6 +393,11 @@ type ImageSetProperties struct { // The error message thrown if an image set action fails. Message *string + // Contains details on overrides used when creating the returned version of an + // image set. For example, if forced exists, the forced flag was used when + // creating the image set. + Overrides *Overrides + // The timestamp when the image set properties were updated. UpdatedAt *time.Time @@ -419,11 +428,25 @@ type ImageSetsMetadataSummary struct { noSmithyDocumentSerde } +// Contains copiable Attributes structure and wraps information related to +// specific copy use cases. For example, when copying subsets. +type MetadataCopies struct { + + // The JSON string used to specify a subset of SOP Instances to copy from source + // to destination image set. + // + // This member is required. + CopiableAttributes *string + + noSmithyDocumentSerde +} + // Contains DICOMUpdates. // // The following types satisfy this interface: // // MetadataUpdatesMemberDICOMUpdates +// MetadataUpdatesMemberRevertToVersionId type MetadataUpdates interface { isMetadataUpdates() } @@ -437,6 +460,31 @@ type MetadataUpdatesMemberDICOMUpdates struct { func (*MetadataUpdatesMemberDICOMUpdates) isMetadataUpdates() {} +// Specifies the previous image set version ID to revert the current image set +// back to. +// +// You must provide either revertToVersionId or DICOMUpdates in your request. A +// ValidationException error is thrown if both parameters are provided at the same +// time. +type MetadataUpdatesMemberRevertToVersionId struct { + Value string + + noSmithyDocumentSerde +} + +func (*MetadataUpdatesMemberRevertToVersionId) isMetadataUpdates() {} + +// Specifies the overrides used in image set modification calls to CopyImageSet +// and UpdateImageSetMetadata . +type Overrides struct { + + // Setting this flag will force the CopyImageSet and UpdateImageSetMetadata + // operations, even if Patient, Study, or Series level metadata are mismatched. + Forced *bool + + noSmithyDocumentSerde +} + // The search input attribute value. // // The following types satisfy this interface: diff --git a/service/medicalimaging/types/types_exported_test.go b/service/medicalimaging/types/types_exported_test.go index 89da847ec23..7dd15965777 100644 --- a/service/medicalimaging/types/types_exported_test.go +++ b/service/medicalimaging/types/types_exported_test.go @@ -15,6 +15,9 @@ func ExampleMetadataUpdates_outputUsage() { case *types.MetadataUpdatesMemberDICOMUpdates: _ = v.Value // Value is types.DICOMUpdates + case *types.MetadataUpdatesMemberRevertToVersionId: + _ = v.Value // Value is string + case *types.UnknownUnionMember: fmt.Println("unknown tag:", v.Tag) @@ -25,6 +28,7 @@ func ExampleMetadataUpdates_outputUsage() { } var _ *types.DICOMUpdates +var _ *string func ExampleSearchByAttributeValue_outputUsage() { var union types.SearchByAttributeValue diff --git a/service/medicalimaging/validators.go b/service/medicalimaging/validators.go index db23a1febc4..6883e2f0715 100644 --- a/service/medicalimaging/validators.go +++ b/service/medicalimaging/validators.go @@ -468,6 +468,11 @@ func validateCopySourceImageSetInformation(v *types.CopySourceImageSetInformatio if v.LatestVersionId == nil { invalidParams.Add(smithy.NewErrParamRequired("LatestVersionId")) } + if v.DICOMCopies != nil { + if err := validateMetadataCopies(v.DICOMCopies); err != nil { + invalidParams.AddNested("DICOMCopies", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -505,6 +510,21 @@ func validateImageFrameInformation(v *types.ImageFrameInformation) error { } } +func validateMetadataCopies(v *types.MetadataCopies) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "MetadataCopies"} + if v.CopiableAttributes == nil { + invalidParams.Add(smithy.NewErrParamRequired("CopiableAttributes")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateSearchByAttributeValue(v types.SearchByAttributeValue) error { if v == nil { return nil diff --git a/service/pinpointsmsvoicev2/api_op_CreateEventDestination.go b/service/pinpointsmsvoicev2/api_op_CreateEventDestination.go index 1721e1f8734..3bc2bc709a7 100644 --- a/service/pinpointsmsvoicev2/api_op_CreateEventDestination.go +++ b/service/pinpointsmsvoicev2/api_op_CreateEventDestination.go @@ -14,14 +14,14 @@ import ( // Creates a new event destination in a configuration set. // // An event destination is a location where you send message events. The event -// options are Amazon CloudWatch, Amazon Kinesis Data Firehose, or Amazon SNS. For -// example, when a message is delivered successfully, you can send information -// about that event to an event destination, or send notifications to endpoints -// that are subscribed to an Amazon SNS topic. +// options are Amazon CloudWatch, Amazon Data Firehose, or Amazon SNS. For example, +// when a message is delivered successfully, you can send information about that +// event to an event destination, or send notifications to endpoints that are +// subscribed to an Amazon SNS topic. // // Each configuration set can contain between 0 and 5 event destinations. Each // event destination can contain a reference to a single destination, such as a -// CloudWatch or Kinesis Data Firehose destination. +// CloudWatch or Firehose destination. func (c *Client) CreateEventDestination(ctx context.Context, params *CreateEventDestinationInput, optFns ...func(*Options)) (*CreateEventDestinationOutput, error) { if params == nil { params = &CreateEventDestinationInput{} @@ -52,7 +52,7 @@ type CreateEventDestinationInput struct { EventDestinationName *string // An array of event types that determine which events to log. If "ALL" is used, - // then Amazon Pinpoint logs every event type. + // then AWS End User Messaging SMS and Voice logs every event type. // // The TEXT_SENT event type is not supported. // @@ -69,7 +69,7 @@ type CreateEventDestinationInput struct { CloudWatchLogsDestination *types.CloudWatchLogsDestination // An object that contains information about an event destination for logging to - // Amazon Kinesis Data Firehose. + // Amazon Data Firehose. KinesisFirehoseDestination *types.KinesisFirehoseDestination // An object that contains information about an event destination for logging to diff --git a/service/pinpointsmsvoicev2/api_op_CreateOptOutList.go b/service/pinpointsmsvoicev2/api_op_CreateOptOutList.go index 8f6298fcf9f..78ca8e2062b 100644 --- a/service/pinpointsmsvoicev2/api_op_CreateOptOutList.go +++ b/service/pinpointsmsvoicev2/api_op_CreateOptOutList.go @@ -20,8 +20,8 @@ import ( // can't send SMS or voice messages to them. If end user replies with the keyword // "STOP," an entry for the phone number is added to the opt-out list. In addition // to STOP, your recipients can use any supported opt-out keyword, such as CANCEL -// or OPTOUT. For a list of supported opt-out keywords, see [SMS opt out]in the Amazon Pinpoint -// User Guide. +// or OPTOUT. For a list of supported opt-out keywords, see [SMS opt out]in the AWS End User +// Messaging SMS User Guide. // // [SMS opt out]: https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-manage.html#channels-sms-manage-optout func (c *Client) CreateOptOutList(ctx context.Context, params *CreateOptOutListInput, optFns ...func(*Options)) (*CreateOptOutListOutput, error) { diff --git a/service/pinpointsmsvoicev2/api_op_CreatePool.go b/service/pinpointsmsvoicev2/api_op_CreatePool.go index 792fe6fb45a..fe65f294e0b 100644 --- a/service/pinpointsmsvoicev2/api_op_CreatePool.go +++ b/service/pinpointsmsvoicev2/api_op_CreatePool.go @@ -49,7 +49,7 @@ type CreatePoolInput struct { // The type of message. Valid values are TRANSACTIONAL for messages that are // critical or time-sensitive and PROMOTIONAL for messages that aren't critical or - // time-sensitive. + // time-sensitive. After the pool is created the MessageType can't be changed. // // This member is required. MessageType types.MessageType @@ -58,6 +58,11 @@ type CreatePoolInput struct { // SenderId or SenderIdArn. You can use DescribePhoneNumbersto find the values for PhoneNumberId and // PhoneNumberArn while DescribeSenderIdscan be used to get the values for SenderId and SenderIdArn. // + // After the pool is created you can add more origination identities to the pool + // by using [AssociateOriginationIdentity]. + // + // [AssociateOriginationIdentity]: https://docs.aws.amazon.com/pinpoint/latest/apireference_smsvoicev2/API_AssociateOriginationIdentity.html + // // This member is required. OriginationIdentity *string @@ -100,14 +105,15 @@ type CreatePoolOutput struct { PoolId *string // By default this is set to false. When an end recipient sends a message that - // begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint - // automatically replies with a customizable message and adds the end recipient to - // the OptOutList. When set to true you're responsible for responding to HELP and - // STOP requests. You're also responsible for tracking and honoring opt-out - // requests. + // begins with HELP or STOP to one of your dedicated numbers, AWS End User + // Messaging SMS and Voice automatically replies with a customizable message and + // adds the end recipient to the OptOutList. When set to true you're responsible + // for responding to HELP and STOP requests. You're also responsible for tracking + // and honoring opt-out requests. SelfManagedOptOutsEnabled bool - // Indicates whether shared routes are enabled for the pool. + // Indicates whether shared routes are enabled for the pool. Set to false and only + // origination identities in this pool are used to send messages. SharedRoutesEnabled bool // The current status of the pool. diff --git a/service/pinpointsmsvoicev2/api_op_DeleteKeyword.go b/service/pinpointsmsvoicev2/api_op_DeleteKeyword.go index 52ab5cd4373..55fc8370a3c 100644 --- a/service/pinpointsmsvoicev2/api_op_DeleteKeyword.go +++ b/service/pinpointsmsvoicev2/api_op_DeleteKeyword.go @@ -16,8 +16,8 @@ import ( // A keyword is a word that you can search for on a particular phone number or // pool. It is also a specific word or phrase that an end user can send to your // number to elicit a response, such as an informational message or a special -// offer. When your number receives a message that begins with a keyword, Amazon -// Pinpoint responds with a customizable message. +// offer. When your number receives a message that begins with a keyword, AWS End +// User Messaging SMS and Voice responds with a customizable message. // // Keywords "HELP" and "STOP" can't be deleted or modified. func (c *Client) DeleteKeyword(ctx context.Context, params *DeleteKeywordInput, optFns ...func(*Options)) (*DeleteKeywordOutput, error) { diff --git a/service/pinpointsmsvoicev2/api_op_DeletePool.go b/service/pinpointsmsvoicev2/api_op_DeletePool.go index c7843d22b69..738a0e9fce6 100644 --- a/service/pinpointsmsvoicev2/api_op_DeletePool.go +++ b/service/pinpointsmsvoicev2/api_op_DeletePool.go @@ -67,11 +67,11 @@ type DeletePoolOutput struct { PoolId *string // By default this is set to false. When an end recipient sends a message that - // begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint - // automatically replies with a customizable message and adds the end recipient to - // the OptOutList. When set to true you're responsible for responding to HELP and - // STOP requests. You're also responsible for tracking and honoring opt-out - // requests. + // begins with HELP or STOP to one of your dedicated numbers, AWS End User + // Messaging SMS and Voice automatically replies with a customizable message and + // adds the end recipient to the OptOutList. When set to true you're responsible + // for responding to HELP and STOP requests. You're also responsible for tracking + // and honoring opt-out requests. SelfManagedOptOutsEnabled bool // Indicates whether shared routes are enabled for the pool. diff --git a/service/pinpointsmsvoicev2/api_op_DeleteTextMessageSpendLimitOverride.go b/service/pinpointsmsvoicev2/api_op_DeleteTextMessageSpendLimitOverride.go index aa645d6f11d..a6c34c9d641 100644 --- a/service/pinpointsmsvoicev2/api_op_DeleteTextMessageSpendLimitOverride.go +++ b/service/pinpointsmsvoicev2/api_op_DeleteTextMessageSpendLimitOverride.go @@ -13,9 +13,9 @@ import ( // Deletes an account-level monthly spending limit override for sending text // messages. Deleting a spend limit override will set the EnforcedLimit to equal // the MaxLimit , which is controlled by Amazon Web Services. For more information -// on spend limits (quotas) see [Amazon Pinpoint quotas]in the Amazon Pinpoint Developer Guide. +// on spend limits (quotas) see [Quotas]in the AWS End User Messaging SMS User Guide. // -// [Amazon Pinpoint quotas]: https://docs.aws.amazon.com/pinpoint/latest/developerguide/quotas.html +// [Quotas]: https://docs.aws.amazon.com/sms-voice/latest/userguide/quotas.html func (c *Client) DeleteTextMessageSpendLimitOverride(ctx context.Context, params *DeleteTextMessageSpendLimitOverrideInput, optFns ...func(*Options)) (*DeleteTextMessageSpendLimitOverrideOutput, error) { if params == nil { params = &DeleteTextMessageSpendLimitOverrideInput{} diff --git a/service/pinpointsmsvoicev2/api_op_DeleteVoiceMessageSpendLimitOverride.go b/service/pinpointsmsvoicev2/api_op_DeleteVoiceMessageSpendLimitOverride.go index 3cf00f486d0..4adbaa8f3f6 100644 --- a/service/pinpointsmsvoicev2/api_op_DeleteVoiceMessageSpendLimitOverride.go +++ b/service/pinpointsmsvoicev2/api_op_DeleteVoiceMessageSpendLimitOverride.go @@ -13,9 +13,9 @@ import ( // Deletes an account level monthly spend limit override for sending voice // messages. Deleting a spend limit override sets the EnforcedLimit equal to the // MaxLimit , which is controlled by Amazon Web Services. For more information on -// spending limits (quotas) see [Amazon Pinpoint quotas]in the Amazon Pinpoint Developer Guide. +// spending limits (quotas) see [Quotas]in the AWS End User Messaging SMS User Guide. // -// [Amazon Pinpoint quotas]: https://docs.aws.amazon.com/pinpoint/latest/developerguide/quotas.html +// [Quotas]: https://docs.aws.amazon.com/sms-voice/latest/userguide/quotas.html func (c *Client) DeleteVoiceMessageSpendLimitOverride(ctx context.Context, params *DeleteVoiceMessageSpendLimitOverrideInput, optFns ...func(*Options)) (*DeleteVoiceMessageSpendLimitOverrideOutput, error) { if params == nil { params = &DeleteVoiceMessageSpendLimitOverrideInput{} diff --git a/service/pinpointsmsvoicev2/api_op_DescribeAccountAttributes.go b/service/pinpointsmsvoicev2/api_op_DescribeAccountAttributes.go index 9aa44a205b8..86583862926 100644 --- a/service/pinpointsmsvoicev2/api_op_DescribeAccountAttributes.go +++ b/service/pinpointsmsvoicev2/api_op_DescribeAccountAttributes.go @@ -17,9 +17,9 @@ import ( // the sandbox, create an Amazon Web Services Support case for a service limit // increase request. // -// New Amazon Pinpoint accounts are placed into an SMS or voice sandbox. The -// sandbox protects both Amazon Web Services end recipients and SMS or voice -// recipients from fraud and abuse. +// New accounts are placed into an SMS or voice sandbox. The sandbox protects both +// Amazon Web Services end recipients and SMS or voice recipients from fraud and +// abuse. func (c *Client) DescribeAccountAttributes(ctx context.Context, params *DescribeAccountAttributesInput, optFns ...func(*Options)) (*DescribeAccountAttributesOutput, error) { if params == nil { params = &DescribeAccountAttributesInput{} diff --git a/service/pinpointsmsvoicev2/api_op_DescribeAccountLimits.go b/service/pinpointsmsvoicev2/api_op_DescribeAccountLimits.go index 6e42f02a065..d5c764bbd15 100644 --- a/service/pinpointsmsvoicev2/api_op_DescribeAccountLimits.go +++ b/service/pinpointsmsvoicev2/api_op_DescribeAccountLimits.go @@ -11,16 +11,16 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Describes the current Amazon Pinpoint SMS Voice V2 resource quotas for your -// account. The description for a quota includes the quota name, current usage -// toward that quota, and the quota's maximum value. +// Describes the current AWS End User Messaging SMS and Voice SMS Voice V2 +// resource quotas for your account. The description for a quota includes the quota +// name, current usage toward that quota, and the quota's maximum value. // // When you establish an Amazon Web Services account, the account has initial // quotas on the maximum number of configuration sets, opt-out lists, phone // numbers, and pools that you can create in a given Region. For more information -// see [Amazon Pinpoint quotas]in the Amazon Pinpoint Developer Guide. +// see [Quotas]in the AWS End User Messaging SMS User Guide. // -// [Amazon Pinpoint quotas]: https://docs.aws.amazon.com/pinpoint/latest/developerguide/quotas.html +// [Quotas]: https://docs.aws.amazon.com/sms-voice/latest/userguide/quotas.html func (c *Client) DescribeAccountLimits(ctx context.Context, params *DescribeAccountLimitsInput, optFns ...func(*Options)) (*DescribeAccountLimitsOutput, error) { if params == nil { params = &DescribeAccountLimitsInput{} diff --git a/service/pinpointsmsvoicev2/api_op_DescribeKeywords.go b/service/pinpointsmsvoicev2/api_op_DescribeKeywords.go index d0e1448986b..1feae404cf1 100644 --- a/service/pinpointsmsvoicev2/api_op_DescribeKeywords.go +++ b/service/pinpointsmsvoicev2/api_op_DescribeKeywords.go @@ -17,8 +17,8 @@ import ( // A keyword is a word that you can search for on a particular phone number or // pool. It is also a specific word or phrase that an end user can send to your // number to elicit a response, such as an informational message or a special -// offer. When your number receives a message that begins with a keyword, Amazon -// Pinpoint responds with a customizable message. +// offer. When your number receives a message that begins with a keyword, AWS End +// User Messaging SMS and Voice responds with a customizable message. // // If you specify a keyword that isn't valid, an error is returned. func (c *Client) DescribeKeywords(ctx context.Context, params *DescribeKeywordsInput, optFns ...func(*Options)) (*DescribeKeywordsOutput, error) { diff --git a/service/pinpointsmsvoicev2/api_op_DescribeSpendLimits.go b/service/pinpointsmsvoicev2/api_op_DescribeSpendLimits.go index 5838d83595f..bf4d420b610 100644 --- a/service/pinpointsmsvoicev2/api_op_DescribeSpendLimits.go +++ b/service/pinpointsmsvoicev2/api_op_DescribeSpendLimits.go @@ -11,14 +11,13 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Describes the current Amazon Pinpoint monthly spend limits for sending voice -// and text messages. +// Describes the current monthly spend limits for sending voice and text messages. // // When you establish an Amazon Web Services account, the account has initial // monthly spend limit in a given Region. For more information on increasing your -// monthly spend limit, see [Requesting increases to your monthly SMS spending quota for Amazon Pinpoint]in the Amazon Pinpoint User Guide. +// monthly spend limit, see [Requesting increases to your monthly SMS, MMS, or Voice spending quota]in the AWS End User Messaging SMS User Guide. // -// [Requesting increases to your monthly SMS spending quota for Amazon Pinpoint]: https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-awssupport-spend-threshold.html +// [Requesting increases to your monthly SMS, MMS, or Voice spending quota]: https://docs.aws.amazon.com/sms-voice/latest/userguide/awssupport-spend-threshold.html func (c *Client) DescribeSpendLimits(ctx context.Context, params *DescribeSpendLimitsInput, optFns ...func(*Options)) (*DescribeSpendLimitsOutput, error) { if params == nil { params = &DescribeSpendLimitsInput{} diff --git a/service/pinpointsmsvoicev2/api_op_GetProtectConfigurationCountryRuleSet.go b/service/pinpointsmsvoicev2/api_op_GetProtectConfigurationCountryRuleSet.go index cf5d263a138..2345b5af50f 100644 --- a/service/pinpointsmsvoicev2/api_op_GetProtectConfigurationCountryRuleSet.go +++ b/service/pinpointsmsvoicev2/api_op_GetProtectConfigurationCountryRuleSet.go @@ -48,8 +48,8 @@ type GetProtectConfigurationCountryRuleSetOutput struct { // A map of ProtectConfigurationCountryRuleSetInformation objects that contain the // details for the requested NumberCapability. The Key is the two-letter ISO - // country code. For a list of supported ISO country codes, see [Supported countries and regions (SMS channel)]in the Amazon - // Pinpoint SMS user guide. + // country code. For a list of supported ISO country codes, see [Supported countries and regions (SMS channel)]in the AWS End + // User Messaging SMS User Guide. // // [Supported countries and regions (SMS channel)]: https://docs.aws.amazon.com/sms-voice/latest/userguide/phone-numbers-sms-by-country.html // diff --git a/service/pinpointsmsvoicev2/api_op_PutKeyword.go b/service/pinpointsmsvoicev2/api_op_PutKeyword.go index d13cc018bcc..6145f9d9103 100644 --- a/service/pinpointsmsvoicev2/api_op_PutKeyword.go +++ b/service/pinpointsmsvoicev2/api_op_PutKeyword.go @@ -17,8 +17,8 @@ import ( // A keyword is a word that you can search for on a particular phone number or // pool. It is also a specific word or phrase that an end user can send to your // number to elicit a response, such as an informational message or a special -// offer. When your number receives a message that begins with a keyword, Amazon -// Pinpoint responds with a customizable message. +// offer. When your number receives a message that begins with a keyword, AWS End +// User Messaging SMS and Voice responds with a customizable message. // // If you specify a keyword that isn't valid, an error is returned. func (c *Client) PutKeyword(ctx context.Context, params *PutKeywordInput, optFns ...func(*Options)) (*PutKeywordOutput, error) { diff --git a/service/pinpointsmsvoicev2/api_op_ReleasePhoneNumber.go b/service/pinpointsmsvoicev2/api_op_ReleasePhoneNumber.go index 6cee2a43349..d3ff91b61af 100644 --- a/service/pinpointsmsvoicev2/api_op_ReleasePhoneNumber.go +++ b/service/pinpointsmsvoicev2/api_op_ReleasePhoneNumber.go @@ -81,11 +81,11 @@ type ReleasePhoneNumberOutput struct { RegistrationId *string // By default this is set to false. When an end recipient sends a message that - // begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint - // automatically replies with a customizable message and adds the end recipient to - // the OptOutList. When set to true you're responsible for responding to HELP and - // STOP requests. You're also responsible for tracking and honoring opt-out - // requests. + // begins with HELP or STOP to one of your dedicated numbers, AWS End User + // Messaging SMS and Voice automatically replies with a customizable message and + // adds the end recipient to the OptOutList. When set to true you're responsible + // for responding to HELP and STOP requests. You're also responsible for tracking + // and honoring opt-out requests. SelfManagedOptOutsEnabled bool // The current status of the request. diff --git a/service/pinpointsmsvoicev2/api_op_RequestPhoneNumber.go b/service/pinpointsmsvoicev2/api_op_RequestPhoneNumber.go index 4d0d11e3222..b5e588c647b 100644 --- a/service/pinpointsmsvoicev2/api_op_RequestPhoneNumber.go +++ b/service/pinpointsmsvoicev2/api_op_RequestPhoneNumber.go @@ -13,9 +13,10 @@ import ( ) // Request an origination phone number for use in your account. For more -// information on phone number request see [Requesting a number]in the Amazon Pinpoint User Guide. +// information on phone number request see [Request a phone number]in the AWS End User Messaging SMS User +// Guide. // -// [Requesting a number]: https://docs.aws.amazon.com/pinpoint/latest/userguide/settings-sms-request-number.html +// [Request a phone number]: https://docs.aws.amazon.com/sms-voice/latest/userguide/phone-numbers-request.html func (c *Client) RequestPhoneNumber(ctx context.Context, params *RequestPhoneNumberInput, optFns ...func(*Options)) (*RequestPhoneNumberOutput, error) { if params == nil { params = &RequestPhoneNumberInput{} @@ -133,11 +134,11 @@ type RequestPhoneNumberOutput struct { RegistrationId *string // By default this is set to false. When an end recipient sends a message that - // begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint - // automatically replies with a customizable message and adds the end recipient to - // the OptOutList. When set to true you're responsible for responding to HELP and - // STOP requests. You're also responsible for tracking and honoring opt-out - // requests. + // begins with HELP or STOP to one of your dedicated numbers, AWS End User + // Messaging SMS and Voice automatically replies with a customizable message and + // adds the end recipient to the OptOutList. When set to true you're responsible + // for responding to HELP and STOP requests. You're also responsible for tracking + // and honoring opt-out requests. SelfManagedOptOutsEnabled bool // The current status of the request. diff --git a/service/pinpointsmsvoicev2/api_op_SendTextMessage.go b/service/pinpointsmsvoicev2/api_op_SendTextMessage.go index 5509bd3cda6..b5cd6b510f9 100644 --- a/service/pinpointsmsvoicev2/api_op_SendTextMessage.go +++ b/service/pinpointsmsvoicev2/api_op_SendTextMessage.go @@ -12,13 +12,15 @@ import ( ) // Creates a new text message and sends it to a recipient's phone number. +// SendTextMessage only sends an SMS message to one recipient each time it is +// invoked. // // SMS throughput limits are measured in Message Parts per Second (MPS). Your MPS // limit depends on the destination country of your messages, as well as the type // of phone number (origination number) that you use to send the message. For more -// information, see [Message Parts per Second (MPS) limits]in the Amazon Pinpoint User Guide. +// information about MPS, see [Message Parts per Second (MPS) limits]in the AWS End User Messaging SMS User Guide. // -// [Message Parts per Second (MPS) limits]: https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-limitations-mps.html +// [Message Parts per Second (MPS) limits]: https://docs.aws.amazon.com/sms-voice/latest/userguide/sms-limitations-mps.html func (c *Client) SendTextMessage(ctx context.Context, params *SendTextMessageInput, optFns ...func(*Options)) (*SendTextMessageOutput, error) { if params == nil { params = &SendTextMessageInput{} @@ -53,19 +55,37 @@ type SendTextMessageInput struct { // Currently, this setting is only used when you send messages to recipients in // India using a sender ID. For more information see [Special requirements for sending SMS messages to recipients in India]. // + // - IN_ENTITY_ID The entity ID or Principal Entity (PE) ID that you received + // after completing the sender ID registration process. + // + // - IN_TEMPLATE_ID The template ID that you received after completing the sender + // ID registration process. + // + // Make sure that the Template ID that you specify matches your message template + // exactly. If your message doesn't match the template that you provided during the + // registration process, the mobile carriers might reject your message. + // // [Special requirements for sending SMS messages to recipients in India]: https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-senderid-india.html DestinationCountryParameters map[string]string // When set to true, the message is checked and validated, but isn't sent to the - // end recipient. + // end recipient. You are not charged for using DryRun . + // + // The Message Parts per Second (MPS) limit when using DryRun is five. If your + // origination identity has a lower MPS limit then the lower MPS limit is used. For + // more information about MPS limits, see [Message Parts per Second (MPS) limits]in the AWS End User Messaging SMS User + // Guide.. + // + // [Message Parts per Second (MPS) limits]: https://docs.aws.amazon.com/sms-voice/latest/userguide/sms-limitations-mps.html DryRun bool // When you register a short code in the US, you must specify a program name. If // you don’t have a US short code, omit this attribute. Keyword *string - // The maximum amount that you want to spend, in US dollars, per each text message - // part. A text message can contain multiple parts. + // The maximum amount that you want to spend, in US dollars, per each text + // message. If the calculated amount to send the text message is greater than + // MaxPrice , the message is not sent and an error is returned. MaxPrice *string // The body of the text message. @@ -83,7 +103,9 @@ type SendTextMessageInput struct { // The unique identifier for the protect configuration. ProtectConfigurationId *string - // How long the text message is valid for. By default this is 72 hours. + // How long the text message is valid for, in seconds. By default this is 72 + // hours. If the messages isn't handed off before the TTL expires we stop + // attempting to hand off the message and return TTL_EXPIRED event. TimeToLive *int32 noSmithyDocumentSerde diff --git a/service/pinpointsmsvoicev2/api_op_SendVoiceMessage.go b/service/pinpointsmsvoicev2/api_op_SendVoiceMessage.go index fbfe939f954..51aca58dabf 100644 --- a/service/pinpointsmsvoicev2/api_op_SendVoiceMessage.go +++ b/service/pinpointsmsvoicev2/api_op_SendVoiceMessage.go @@ -11,8 +11,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Allows you to send a request that sends a voice message through Amazon -// Pinpoint. This operation uses [Amazon Polly]to convert a text script into a voice message. +// Allows you to send a request that sends a voice message. This operation uses [Amazon Polly] +// to convert a text script into a voice message. // // [Amazon Polly]: http://aws.amazon.com/polly/ func (c *Client) SendVoiceMessage(ctx context.Context, params *SendVoiceMessageInput, optFns ...func(*Options)) (*SendVoiceMessageOutput, error) { diff --git a/service/pinpointsmsvoicev2/api_op_TagResource.go b/service/pinpointsmsvoicev2/api_op_TagResource.go index 0be8fc540b4..01a12bc48e0 100644 --- a/service/pinpointsmsvoicev2/api_op_TagResource.go +++ b/service/pinpointsmsvoicev2/api_op_TagResource.go @@ -11,14 +11,13 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Adds or overwrites only the specified tags for the specified Amazon Pinpoint -// SMS Voice, version 2 resource. When you specify an existing tag key, the value -// is overwritten with the new value. Each resource can have a maximum of 50 tags. -// Each tag consists of a key and an optional value. Tag keys must be unique per -// resource. For more information about tags, see [Tagging Amazon Pinpoint resources]in the Amazon Pinpoint Developer -// Guide. +// Adds or overwrites only the specified tags for the specified resource. When you +// specify an existing tag key, the value is overwritten with the new value. Each +// resource can have a maximum of 50 tags. Each tag consists of a key and an +// optional value. Tag keys must be unique per resource. For more information about +// tags, see [Tags]in the AWS End User Messaging SMS User Guide. // -// [Tagging Amazon Pinpoint resources]: https://docs.aws.amazon.com/pinpoint/latest/developerguide/tagging-resources.html +// [Tags]: https://docs.aws.amazon.com/sms-voice/latest/userguide/phone-numbers-tags.html func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optFns ...func(*Options)) (*TagResourceOutput, error) { if params == nil { params = &TagResourceInput{} diff --git a/service/pinpointsmsvoicev2/api_op_UntagResource.go b/service/pinpointsmsvoicev2/api_op_UntagResource.go index 2d5285277e8..bddd22fdab7 100644 --- a/service/pinpointsmsvoicev2/api_op_UntagResource.go +++ b/service/pinpointsmsvoicev2/api_op_UntagResource.go @@ -10,11 +10,10 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Removes the association of the specified tags from an Amazon Pinpoint SMS Voice -// V2 resource. For more information on tags see [Tagging Amazon Pinpoint resources]in the Amazon Pinpoint Developer -// Guide. +// Removes the association of the specified tags from a resource. For more +// information on tags see [Tags]in the AWS End User Messaging SMS User Guide. // -// [Tagging Amazon Pinpoint resources]: https://docs.aws.amazon.com/pinpoint/latest/developerguide/tagging-resources.html +// [Tags]: https://docs.aws.amazon.com/sms-voice/latest/userguide/phone-numbers-tags.html func (c *Client) UntagResource(ctx context.Context, params *UntagResourceInput, optFns ...func(*Options)) (*UntagResourceOutput, error) { if params == nil { params = &UntagResourceInput{} diff --git a/service/pinpointsmsvoicev2/api_op_UpdateEventDestination.go b/service/pinpointsmsvoicev2/api_op_UpdateEventDestination.go index 366fd780e30..72bd6f86299 100644 --- a/service/pinpointsmsvoicev2/api_op_UpdateEventDestination.go +++ b/service/pinpointsmsvoicev2/api_op_UpdateEventDestination.go @@ -12,13 +12,12 @@ import ( ) // Updates an existing event destination in a configuration set. You can update -// the IAM role ARN for CloudWatch Logs and Kinesis Data Firehose. You can also -// enable or disable the event destination. +// the IAM role ARN for CloudWatch Logs and Firehose. You can also enable or +// disable the event destination. // // You may want to update an event destination to change its matching event types // or updating the destination resource ARN. You can't change an event -// destination's type between CloudWatch Logs, Kinesis Data Firehose, and Amazon -// SNS. +// destination's type between CloudWatch Logs, Firehose, and Amazon SNS. func (c *Client) UpdateEventDestination(ctx context.Context, params *UpdateEventDestinationInput, optFns ...func(*Options)) (*UpdateEventDestinationOutput, error) { if params == nil { params = &UpdateEventDestinationInput{} @@ -55,7 +54,7 @@ type UpdateEventDestinationInput struct { Enabled *bool // An object that contains information about an event destination for logging to - // Kinesis Data Firehose. + // Firehose. KinesisFirehoseDestination *types.KinesisFirehoseDestination // An array of event types that determine which events to log. diff --git a/service/pinpointsmsvoicev2/api_op_UpdatePhoneNumber.go b/service/pinpointsmsvoicev2/api_op_UpdatePhoneNumber.go index f0a686d472c..4d3314ef585 100644 --- a/service/pinpointsmsvoicev2/api_op_UpdatePhoneNumber.go +++ b/service/pinpointsmsvoicev2/api_op_UpdatePhoneNumber.go @@ -50,11 +50,11 @@ type UpdatePhoneNumberInput struct { OptOutListName *string // By default this is set to false. When an end recipient sends a message that - // begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint - // automatically replies with a customizable message and adds the end recipient to - // the OptOutList. When set to true you're responsible for responding to HELP and - // STOP requests. You're also responsible for tracking and honoring opt-out - // requests. + // begins with HELP or STOP to one of your dedicated numbers, AWS End User + // Messaging SMS and Voice automatically replies with a customizable message and + // adds the end recipient to the OptOutList. When set to true you're responsible + // for responding to HELP and STOP requests. You're also responsible for tracking + // and honoring opt-out requests. SelfManagedOptOutsEnabled *bool // The Amazon Resource Name (ARN) of the two way channel. diff --git a/service/pinpointsmsvoicev2/api_op_UpdatePool.go b/service/pinpointsmsvoicev2/api_op_UpdatePool.go index a951a9abc8a..ea0e04acad1 100644 --- a/service/pinpointsmsvoicev2/api_op_UpdatePool.go +++ b/service/pinpointsmsvoicev2/api_op_UpdatePool.go @@ -47,11 +47,11 @@ type UpdatePoolInput struct { OptOutListName *string // By default this is set to false. When an end recipient sends a message that - // begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint - // automatically replies with a customizable message and adds the end recipient to - // the OptOutList. When set to true you're responsible for responding to HELP and - // STOP requests. You're also responsible for tracking and honoring opt-out - // requests. + // begins with HELP or STOP to one of your dedicated numbers, AWS End User + // Messaging SMS and Voice automatically replies with a customizable message and + // adds the end recipient to the OptOutList. When set to true you're responsible + // for responding to HELP and STOP requests. You're also responsible for tracking + // and honoring opt-out requests. SelfManagedOptOutsEnabled *bool // Indicates whether shared routes are enabled for the pool. @@ -94,10 +94,10 @@ type UpdatePoolOutput struct { PoolId *string // When an end recipient sends a message that begins with HELP or STOP to one of - // your dedicated numbers, Amazon Pinpoint automatically replies with a - // customizable message and adds the end recipient to the OptOutList. When set to - // true you're responsible for responding to HELP and STOP requests. You're also - // responsible for tracking and honoring opt-out requests. + // your dedicated numbers, AWS End User Messaging SMS and Voice automatically + // replies with a customizable message and adds the end recipient to the + // OptOutList. When set to true you're responsible for responding to HELP and STOP + // requests. You're also responsible for tracking and honoring opt-out requests. SelfManagedOptOutsEnabled bool // Indicates whether shared routes are enabled for the pool. diff --git a/service/pinpointsmsvoicev2/api_op_UpdateProtectConfigurationCountryRuleSet.go b/service/pinpointsmsvoicev2/api_op_UpdateProtectConfigurationCountryRuleSet.go index 8cf6de5c085..3138d109f44 100644 --- a/service/pinpointsmsvoicev2/api_op_UpdateProtectConfigurationCountryRuleSet.go +++ b/service/pinpointsmsvoicev2/api_op_UpdateProtectConfigurationCountryRuleSet.go @@ -33,8 +33,8 @@ type UpdateProtectConfigurationCountryRuleSetInput struct { // A map of ProtectConfigurationCountryRuleSetInformation objects that contain the // details for the requested NumberCapability. The Key is the two-letter ISO - // country code. For a list of supported ISO country codes, see [Supported countries and regions (SMS channel)]in the Amazon - // Pinpoint SMS user guide. + // country code. For a list of supported ISO country codes, see [Supported countries and regions (SMS channel)]in the AWS End + // User Messaging SMS User Guide. // // [Supported countries and regions (SMS channel)]: https://docs.aws.amazon.com/sms-voice/latest/userguide/phone-numbers-sms-by-country.html // diff --git a/service/pinpointsmsvoicev2/doc.go b/service/pinpointsmsvoicev2/doc.go index d59c42dbd02..582eae3511b 100644 --- a/service/pinpointsmsvoicev2/doc.go +++ b/service/pinpointsmsvoicev2/doc.go @@ -3,29 +3,30 @@ // Package pinpointsmsvoicev2 provides the API client, operations, and parameter // types for Amazon Pinpoint SMS Voice V2. // -// Welcome to the Amazon Pinpoint SMS and Voice, version 2 API Reference. This -// guide provides information about Amazon Pinpoint SMS and Voice, version 2 API -// resources, including supported HTTP methods, parameters, and schemas. +// Welcome to the AWS End User Messaging SMS and Voice, version 2 API Reference. +// This guide provides information about AWS End User Messaging SMS and Voice, +// version 2 API resources, including supported HTTP methods, parameters, and +// schemas. // // Amazon Pinpoint is an Amazon Web Services service that you can use to engage -// with your recipients across multiple messaging channels. The Amazon Pinpoint SMS -// and Voice, version 2 API provides programmatic access to options that are unique -// to the SMS and voice channels. Amazon Pinpoint SMS and Voice, version 2 -// resources such as phone numbers, sender IDs, and opt-out lists can be used by -// the Amazon Pinpoint API. +// with your recipients across multiple messaging channels. The AWS End User +// Messaging SMS and Voice, version 2 API provides programmatic access to options +// that are unique to the SMS and voice channels. AWS End User Messaging SMS and +// Voice, version 2 resources such as phone numbers, sender IDs, and opt-out lists +// can be used by the Amazon Pinpoint API. // -// If you're new to Amazon Pinpoint SMS, it's also helpful to review the [Amazon Pinpoint SMS User Guide]. The -// Amazon Pinpoint Developer Guide provides tutorials, code samples, and procedures -// that demonstrate how to use Amazon Pinpoint SMS features programmatically and -// how to integrate Amazon Pinpoint functionality into mobile apps and other types -// of applications. The guide also provides key information, such as Amazon -// Pinpoint integration with other Amazon Web Services services, and the quotas -// that apply to use of the service. +// If you're new to AWS End User Messaging SMS and Voice, it's also helpful to +// review the [AWS End User Messaging SMS User Guide]. The AWS End User Messaging SMS User Guide provides tutorials, code +// samples, and procedures that demonstrate how to use AWS End User Messaging SMS +// and Voice features programmatically and how to integrate functionality into +// mobile apps and other types of applications. The guide also provides key +// information, such as AWS End User Messaging SMS and Voice integration with other +// Amazon Web Services services, and the quotas that apply to use of the service. // // # Regional availability // -// The Amazon Pinpoint SMS and Voice, version 2 API Reference is available in -// several Amazon Web Services Regions and it provides an endpoint for each of +// The AWS End User Messaging SMS and Voice version 2 API Reference is available +// in several Amazon Web Services Regions and it provides an endpoint for each of // these Regions. For a list of all the Regions and endpoints where the API is // currently available, see [Amazon Web Services Service Endpoints]and [Amazon Pinpoint endpoints and quotas] in the Amazon Web Services General Reference. To // learn more about Amazon Web Services Regions, see [Managing Amazon Web Services Regions]in the Amazon Web Services @@ -41,6 +42,6 @@ // [Managing Amazon Web Services Regions]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html // [Amazon Web Services Global Infrastructure.]: https://aws.amazon.com/about-aws/global-infrastructure/ // [Amazon Pinpoint endpoints and quotas]: https://docs.aws.amazon.com/general/latest/gr/pinpoint.html -// [Amazon Pinpoint SMS User Guide]: https://docs.aws.amazon.com/sms-voice/latest/userguide/what-is-service.html // [Amazon Web Services Service Endpoints]: https://docs.aws.amazon.com/general/latest/gr/rande.html#pinpoint_region +// [AWS End User Messaging SMS User Guide]: https://docs.aws.amazon.com/sms-voice/latest/userguide/what-is-service.html package pinpointsmsvoicev2 diff --git a/service/pinpointsmsvoicev2/types/types.go b/service/pinpointsmsvoicev2/types/types.go index 0d353001640..2ba8cd2d838 100644 --- a/service/pinpointsmsvoicev2/types/types.go +++ b/service/pinpointsmsvoicev2/types/types.go @@ -122,8 +122,7 @@ type ConfigurationSetInformation struct { // Contains information about an event destination. // // Event destinations are associated with configuration sets, which enable you to -// publish message sending events to CloudWatch, Kinesis Data Firehose, or Amazon -// SNS. +// publish message sending events to CloudWatch, Firehose, or Amazon SNS. type EventDestination struct { // When set to true events will be logged. @@ -148,7 +147,7 @@ type EventDestination struct { CloudWatchLogsDestination *CloudWatchLogsDestination // An object that contains information about an event destination for logging to - // Amazon Kinesis Data Firehose. + // Amazon Data Firehose. KinesisFirehoseDestination *KinesisFirehoseDestination // An object that contains information about an event destination that sends @@ -196,11 +195,11 @@ type KeywordInformation struct { } // Contains the delivery stream Amazon Resource Name (ARN), and the ARN of the -// Identity and Access Management (IAM) role associated with a Kinesis Data -// Firehose event destination. +// Identity and Access Management (IAM) role associated with a Firehose event +// destination. // -// Event destinations, such as Kinesis Data Firehose, are associated with -// configuration sets, which enable you to publish message sending events. +// Event destinations, such as Firehose, are associated with configuration sets, +// which enable you to publish message sending events. type KinesisFirehoseDestination struct { // The Amazon Resource Name (ARN) of the delivery stream. @@ -209,7 +208,7 @@ type KinesisFirehoseDestination struct { DeliveryStreamArn *string // The ARN of an Identity and Access Management role that is able to write event - // data to an Amazon Kinesis Data Firehose destination. + // data to an Amazon Data Firehose destination. // // This member is required. IamRoleArn *string @@ -387,11 +386,11 @@ type PhoneNumberInformation struct { PhoneNumberArn *string // When set to false an end recipient sends a message that begins with HELP or - // STOP to one of your dedicated numbers, Amazon Pinpoint automatically replies - // with a customizable message and adds the end recipient to the OptOutList. When - // set to true you're responsible for responding to HELP and STOP requests. You're - // also responsible for tracking and honoring opt-out request. For more information - // see [Self-managed opt-outs] + // STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice + // automatically replies with a customizable message and adds the end recipient to + // the OptOutList. When set to true you're responsible for responding to HELP and + // STOP requests. You're also responsible for tracking and honoring opt-out + // request. For more information see [Self-managed opt-outs] // // [Self-managed opt-outs]: https://docs.aws.amazon.com/pinpoint/latest/userguide/settings-sms-managing.html#settings-account-sms-self-managed-opt-out // @@ -482,11 +481,11 @@ type PoolInformation struct { PoolId *string // When set to false, an end recipient sends a message that begins with HELP or - // STOP to one of your dedicated numbers, Amazon Pinpoint automatically replies - // with a customizable message and adds the end recipient to the OptOutList. When - // set to true you're responsible for responding to HELP and STOP requests. You're - // also responsible for tracking and honoring opt-out requests. For more - // information see [Self-managed opt-outs] + // STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice + // automatically replies with a customizable message and adds the end recipient to + // the OptOutList. When set to true you're responsible for responding to HELP and + // STOP requests. You're also responsible for tracking and honoring opt-out + // requests. For more information see [Self-managed opt-outs] // // [Self-managed opt-outs]: https://docs.aws.amazon.com/pinpoint/latest/userguide/settings-sms-managing.html#settings-account-sms-self-managed-opt-out // @@ -497,9 +496,9 @@ type PoolInformation struct { // // By default, this is set to False . If you set this value to True , your messages // are sent using phone numbers or sender IDs (depending on the country) that are - // shared with other Amazon Pinpoint users. In some countries, such as the United - // States, senders aren't allowed to use shared routes and must use a dedicated - // phone number or short code. + // shared with other users. In some countries, such as the United States, senders + // aren't allowed to use shared routes and must use a dedicated phone number or + // short code. // // This member is required. SharedRoutesEnabled bool @@ -1161,9 +1160,10 @@ type SelectValidation struct { // The alphanumeric sender ID in a specific country that you want to describe. // -// For more information on sender IDs see [Requesting sender IDs for SMS messaging with Amazon Pinpoint]in the Amazon Pinpoint User Guide. +// For more information on sender IDs see [Requesting sender IDs]in the AWS End User Messaging SMS User +// Guide. // -// [Requesting sender IDs for SMS messaging with Amazon Pinpoint]: https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-awssupport-sender-id.html +// [Requesting sender IDs]: https://docs.aws.amazon.com/sms-voice/latest/userguide/sender-id-request.html type SenderIdAndCountry struct { // The two-character code, in ISO 3166-1 alpha-2 format, for the country or @@ -1257,11 +1257,11 @@ type SnsDestination struct { noSmithyDocumentSerde } -// Describes the current Amazon Pinpoint monthly spend limits for sending voice -// and text messages. For more information on increasing your monthly spend limit, -// see [Requesting increases to your monthly SMS spending quota for Amazon Pinpoint]in the Amazon Pinpoint User Guide. +// Describes the current monthly spend limits for sending voice and text messages. +// For more information on increasing your monthly spend limit, see [Requesting a spending quota increase]in the AWS End +// User Messaging SMS User Guide. // -// [Requesting increases to your monthly SMS spending quota for Amazon Pinpoint]: https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-awssupport-spend-threshold.html +// [Requesting a spending quota increase]: https://docs.aws.amazon.com/sms-voice/latest/userguide/awssupport-spend-threshold.html type SpendLimit struct { // The maximum amount of money, in US dollars, that you want to be able to spend