From 4034d37dc13cbebdd8229f4c9ba704eeff69e168 Mon Sep 17 00:00:00 2001 From: Sean McGrail Date: Fri, 5 Nov 2021 04:33:09 +0000 Subject: [PATCH] AWS Event Stream Protocol Support (#1454) --- .../41575353444b40ffbf474f4155544f00.json | 8 + aws/logging.go | 22 + aws/logging_generate.go | 2 + aws/middleware/metadata.go | 13 + aws/protocol/eventstream/LICENSE.txt | 202 ++ aws/protocol/eventstream/debug.go | 144 + aws/protocol/eventstream/decode.go | 218 ++ aws/protocol/eventstream/decode_test.go | 174 ++ aws/protocol/eventstream/encode.go | 167 ++ aws/protocol/eventstream/encode_test.go | 50 + aws/protocol/eventstream/error.go | 23 + .../eventstream/eventstreamapi/headers.go | 24 + .../eventstream/eventstreamapi/middleware.go | 71 + .../eventstream/eventstreamapi/transport.go | 13 + .../eventstreamapi/transport_go117.go | 12 + aws/protocol/eventstream/go.mod | 10 + aws/protocol/eventstream/go.sum | 7 + .../eventstream/go_module_metadata.go | 6 + aws/protocol/eventstream/header.go | 175 ++ aws/protocol/eventstream/header_test.go | 66 + aws/protocol/eventstream/header_value.go | 521 ++++ aws/protocol/eventstream/header_value_test.go | 203 ++ aws/protocol/eventstream/message.go | 117 + aws/protocol/eventstream/shared_test.go | 152 + .../decoded/negative/corrupted_header_len | 1 + .../decoded/negative/corrupted_headers | 1 + .../decoded/negative/corrupted_length | 1 + .../decoded/negative/corrupted_payload | 1 + .../testdata/decoded/positive/all_headers | 58 + .../testdata/decoded/positive/empty_message | 8 + .../testdata/decoded/positive/int32_header | 13 + .../decoded/positive/payload_no_headers | 8 + .../decoded/positive/payload_one_str_header | 13 + .../encoded/negative/corrupted_header_len | Bin 0 -> 61 bytes .../encoded/negative/corrupted_headers | Bin 0 -> 61 bytes .../encoded/negative/corrupted_length | Bin 0 -> 61 bytes .../encoded/negative/corrupted_payload | Bin 0 -> 29 bytes .../testdata/encoded/positive/all_headers | Bin 0 -> 204 bytes .../testdata/encoded/positive/empty_message | Bin 0 -> 16 bytes .../testdata/encoded/positive/int32_header | Bin 0 -> 45 bytes .../encoded/positive/payload_no_headers | Bin 0 -> 29 bytes .../encoded/positive/payload_one_str_header | Bin 0 -> 61 bytes aws/signer/internal/v4/const.go | 4 + aws/signer/internal/v4/scope.go | 13 + aws/signer/v4/middleware.go | 55 + aws/signer/v4/stream.go | 86 + aws/signer/v4/v4.go | 7 +- .../transcribestreaming.2017-10-26.json | 1474 +++++++++ .../go/codegen/AssembleMiddlewareStack.java | 79 +- .../go/codegen/AwsEventStreamIntegration.java | 82 + .../aws/go/codegen/AwsEventStreamUtils.java | 1926 ++++++++++++ .../aws/go/codegen/AwsGoDependency.java | 5 + .../aws/go/codegen/AwsProtocolUtils.java | 66 + .../smithy/aws/go/codegen/AwsQuery.java | 31 + ...amingOperations.java => FilterShapes.java} | 39 +- .../go/codegen/JsonRpcProtocolGenerator.java | 191 +- .../aws/go/codegen/JsonShapeDeserVisitor.java | 20 +- .../aws/go/codegen/JsonShapeSerVisitor.java | 20 +- .../go/codegen/RestJsonProtocolGenerator.java | 171 +- .../go/codegen/RestXmlProtocolGenerator.java | 283 +- .../aws/go/codegen/XmlProtocolUtils.java | 12 +- ...mithy.go.codegen.integration.GoIntegration | 3 +- config/go.mod | 2 +- config/go.sum | 4 +- credentials/go.mod | 2 +- credentials/go.sum | 4 +- example/service/s3/listObjects/go.mod | 2 + example/service/s3/listObjects/go.sum | 4 +- example/service/s3/usingPrivateLink/go.mod | 2 + example/service/s3/usingPrivateLink/go.sum | 4 +- feature/cloudfront/sign/go.sum | 4 +- feature/dynamodb/attributevalue/go.mod | 2 +- feature/dynamodb/attributevalue/go.sum | 4 +- feature/dynamodb/expression/go.sum | 4 +- feature/dynamodbstreams/attributevalue/go.mod | 2 +- feature/dynamodbstreams/attributevalue/go.sum | 4 +- feature/ec2/imds/go.mod | 2 +- feature/ec2/imds/go.sum | 4 +- .../ec2/imds/internal/configtesting/go.sum | 4 +- feature/rds/auth/go.sum | 4 +- feature/s3/manager/go.mod | 4 +- feature/s3/manager/go.sum | 4 +- go.mod | 2 +- go.sum | 4 +- internal/configsources/configtesting/go.sum | 4 +- internal/configsources/go.sum | 4 +- internal/endpoints/v2/go.mod | 2 +- internal/endpoints/v2/go.sum | 4 +- internal/ini/go.sum | 2 +- internal/protocoltest/awsrestjson/go.mod | 2 +- internal/protocoltest/awsrestjson/go.sum | 4 +- .../protocoltest/awsrestjson/types/types.go | 58 +- internal/protocoltest/ec2query/go.mod | 2 +- internal/protocoltest/ec2query/go.sum | 4 +- internal/protocoltest/jsonrpc/go.mod | 2 +- internal/protocoltest/jsonrpc/go.sum | 4 +- internal/protocoltest/jsonrpc/types/types.go | 56 +- internal/protocoltest/jsonrpc10/go.mod | 2 +- internal/protocoltest/jsonrpc10/go.sum | 4 +- .../protocoltest/jsonrpc10/types/types.go | 56 +- internal/protocoltest/query/go.mod | 2 +- internal/protocoltest/query/go.sum | 4 +- internal/protocoltest/restxml/go.mod | 2 +- internal/protocoltest/restxml/go.sum | 4 +- internal/protocoltest/restxml/types/types.go | 56 +- .../protocoltest/restxmlwithnamespace/go.mod | 2 +- .../protocoltest/restxmlwithnamespace/go.sum | 4 +- modman.toml | 2 +- service/accessanalyzer/go.mod | 2 +- service/accessanalyzer/go.sum | 4 +- service/accessanalyzer/types/types.go | 40 +- service/account/go.mod | 2 +- service/account/go.sum | 4 +- service/acm/go.mod | 2 +- service/acm/go.sum | 4 +- service/acmpca/go.mod | 2 +- service/acmpca/go.sum | 4 +- service/alexaforbusiness/go.mod | 2 +- service/alexaforbusiness/go.sum | 4 +- service/amp/go.mod | 2 +- service/amp/go.sum | 4 +- service/amplify/go.mod | 2 +- service/amplify/go.sum | 4 +- service/amplifybackend/go.mod | 2 +- service/amplifybackend/go.sum | 4 +- service/apigateway/go.mod | 2 +- service/apigateway/go.sum | 4 +- service/apigatewaymanagementapi/go.mod | 2 +- service/apigatewaymanagementapi/go.sum | 4 +- service/apigatewayv2/go.mod | 2 +- service/apigatewayv2/go.sum | 4 +- service/appconfig/go.mod | 2 +- service/appconfig/go.sum | 4 +- service/appflow/go.mod | 2 +- service/appflow/go.sum | 4 +- service/appintegrations/go.mod | 2 +- service/appintegrations/go.sum | 4 +- service/applicationautoscaling/go.mod | 2 +- service/applicationautoscaling/go.sum | 4 +- service/applicationcostprofiler/go.mod | 2 +- service/applicationcostprofiler/go.sum | 4 +- service/applicationdiscoveryservice/go.mod | 2 +- service/applicationdiscoveryservice/go.sum | 4 +- service/applicationinsights/go.mod | 2 +- service/applicationinsights/go.sum | 4 +- service/appmesh/go.mod | 2 +- service/appmesh/go.sum | 4 +- service/appmesh/types/types.go | 118 +- service/apprunner/go.mod | 2 +- service/apprunner/go.sum | 4 +- service/appstream/go.mod | 2 +- service/appstream/go.sum | 4 +- service/appsync/go.mod | 2 +- service/appsync/go.sum | 4 +- service/athena/go.mod | 2 +- service/athena/go.sum | 4 +- service/auditmanager/go.mod | 2 +- service/auditmanager/go.sum | 4 +- service/autoscaling/go.mod | 2 +- service/autoscaling/go.sum | 4 +- service/autoscalingplans/go.mod | 2 +- service/autoscalingplans/go.sum | 4 +- service/backup/go.mod | 2 +- service/backup/go.sum | 4 +- service/batch/go.mod | 2 +- service/batch/go.sum | 4 +- service/braket/go.mod | 2 +- service/braket/go.sum | 4 +- service/budgets/go.mod | 2 +- service/budgets/go.sum | 4 +- service/chime/go.mod | 2 +- service/chime/go.sum | 4 +- service/chimesdkidentity/go.mod | 2 +- service/chimesdkidentity/go.sum | 4 +- service/chimesdkmessaging/go.mod | 2 +- service/chimesdkmessaging/go.sum | 4 +- service/cloud9/go.mod | 2 +- service/cloud9/go.sum | 4 +- service/cloudcontrol/go.mod | 2 +- service/cloudcontrol/go.sum | 4 +- service/clouddirectory/go.mod | 2 +- service/clouddirectory/go.sum | 4 +- service/clouddirectory/types/types.go | 30 +- service/cloudformation/go.mod | 2 +- service/cloudformation/go.sum | 4 +- service/cloudfront/go.mod | 2 +- service/cloudfront/go.sum | 4 +- service/cloudhsm/go.mod | 2 +- service/cloudhsm/go.sum | 4 +- service/cloudhsmv2/go.mod | 2 +- service/cloudhsmv2/go.sum | 4 +- service/cloudsearch/go.mod | 2 +- service/cloudsearch/go.sum | 4 +- service/cloudsearchdomain/go.mod | 2 +- service/cloudsearchdomain/go.sum | 4 +- service/cloudtrail/go.mod | 2 +- service/cloudtrail/go.sum | 4 +- service/cloudwatch/go.mod | 2 +- service/cloudwatch/go.sum | 4 +- service/cloudwatchevents/go.mod | 2 +- service/cloudwatchevents/go.sum | 4 +- service/cloudwatchlogs/go.mod | 2 +- service/cloudwatchlogs/go.sum | 4 +- service/codeartifact/go.mod | 2 +- service/codeartifact/go.sum | 4 +- service/codebuild/go.mod | 2 +- service/codebuild/go.sum | 4 +- service/codecommit/go.mod | 2 +- service/codecommit/go.sum | 4 +- service/codedeploy/go.mod | 2 +- service/codedeploy/go.sum | 4 +- service/codeguruprofiler/go.mod | 2 +- service/codeguruprofiler/go.sum | 4 +- service/codegurureviewer/go.mod | 2 +- service/codegurureviewer/go.sum | 4 +- service/codepipeline/go.mod | 2 +- service/codepipeline/go.sum | 4 +- service/codestar/go.mod | 2 +- service/codestar/go.sum | 4 +- service/codestarconnections/go.mod | 2 +- service/codestarconnections/go.sum | 4 +- service/codestarnotifications/go.mod | 2 +- service/codestarnotifications/go.sum | 4 +- service/cognitoidentity/go.mod | 2 +- service/cognitoidentity/go.sum | 4 +- service/cognitoidentityprovider/go.mod | 2 +- service/cognitoidentityprovider/go.sum | 4 +- service/cognitosync/go.mod | 2 +- service/cognitosync/go.sum | 4 +- service/comprehend/go.mod | 2 +- service/comprehend/go.sum | 4 +- service/comprehendmedical/go.mod | 2 +- service/comprehendmedical/go.sum | 4 +- service/computeoptimizer/go.mod | 2 +- service/computeoptimizer/go.sum | 4 +- service/configservice/go.mod | 2 +- service/configservice/go.sum | 4 +- service/connect/go.mod | 2 +- service/connect/go.sum | 4 +- service/connectcontactlens/go.mod | 2 +- service/connectcontactlens/go.sum | 4 +- service/connectparticipant/go.mod | 2 +- service/connectparticipant/go.sum | 4 +- service/costandusagereportservice/go.mod | 2 +- service/costandusagereportservice/go.sum | 4 +- service/costexplorer/go.mod | 2 +- service/costexplorer/go.sum | 4 +- service/customerprofiles/go.mod | 2 +- service/customerprofiles/go.sum | 4 +- service/databasemigrationservice/go.mod | 2 +- service/databasemigrationservice/go.sum | 4 +- service/databrew/go.mod | 2 +- service/databrew/go.sum | 4 +- service/dataexchange/go.mod | 2 +- service/dataexchange/go.sum | 4 +- service/datapipeline/go.mod | 2 +- service/datapipeline/go.sum | 4 +- service/datasync/go.mod | 2 +- service/datasync/go.sum | 4 +- service/dax/go.mod | 2 +- service/dax/go.sum | 4 +- service/detective/go.mod | 2 +- service/detective/go.sum | 4 +- service/devicefarm/go.mod | 2 +- service/devicefarm/go.sum | 4 +- service/devopsguru/go.mod | 2 +- service/devopsguru/go.sum | 4 +- service/directconnect/go.mod | 2 +- service/directconnect/go.sum | 4 +- service/directoryservice/go.mod | 2 +- service/directoryservice/go.sum | 4 +- service/dlm/go.mod | 2 +- service/dlm/go.sum | 4 +- service/docdb/go.mod | 2 +- service/docdb/go.sum | 4 +- service/dynamodb/go.mod | 2 +- service/dynamodb/go.sum | 4 +- service/dynamodb/types/types.go | 106 +- service/dynamodbstreams/go.mod | 2 +- service/dynamodbstreams/go.sum | 4 +- service/dynamodbstreams/types/types.go | 106 +- service/ebs/go.mod | 2 +- service/ebs/go.sum | 4 +- service/ec2/go.mod | 2 +- service/ec2/go.sum | 4 +- service/ec2instanceconnect/go.mod | 2 +- service/ec2instanceconnect/go.sum | 4 +- service/ecr/go.mod | 2 +- service/ecr/go.sum | 4 +- service/ecrpublic/go.mod | 2 +- service/ecrpublic/go.sum | 4 +- service/ecs/go.mod | 2 +- service/ecs/go.sum | 4 +- service/efs/go.mod | 2 +- service/efs/go.sum | 4 +- service/eks/go.mod | 2 +- service/eks/go.sum | 4 +- service/elasticache/go.mod | 2 +- service/elasticache/go.sum | 4 +- service/elasticbeanstalk/go.mod | 2 +- service/elasticbeanstalk/go.sum | 4 +- service/elasticinference/go.mod | 2 +- service/elasticinference/go.sum | 4 +- service/elasticloadbalancing/go.mod | 2 +- service/elasticloadbalancing/go.sum | 4 +- service/elasticloadbalancingv2/go.mod | 2 +- service/elasticloadbalancingv2/go.sum | 4 +- service/elasticsearchservice/go.mod | 2 +- service/elasticsearchservice/go.sum | 4 +- service/elastictranscoder/go.mod | 2 +- service/elastictranscoder/go.sum | 4 +- service/emr/go.mod | 2 +- service/emr/go.sum | 4 +- service/emrcontainers/go.mod | 2 +- service/emrcontainers/go.sum | 4 +- service/eventbridge/go.mod | 2 +- service/eventbridge/go.sum | 4 +- service/finspace/go.mod | 2 +- service/finspace/go.sum | 4 +- service/finspacedata/go.mod | 2 +- service/finspacedata/go.sum | 4 +- service/firehose/go.mod | 2 +- service/firehose/go.sum | 4 +- service/fis/go.mod | 2 +- service/fis/go.sum | 4 +- service/fms/go.mod | 2 +- service/fms/go.sum | 4 +- service/forecast/go.mod | 2 +- service/forecast/go.sum | 4 +- service/forecastquery/go.mod | 2 +- service/forecastquery/go.sum | 4 +- service/frauddetector/go.mod | 2 +- service/frauddetector/go.sum | 4 +- service/fsx/go.mod | 2 +- service/fsx/go.sum | 4 +- service/gamelift/go.mod | 2 +- service/gamelift/go.sum | 4 +- service/glacier/go.mod | 2 +- service/glacier/go.sum | 4 +- service/globalaccelerator/go.mod | 2 +- service/globalaccelerator/go.sum | 4 +- service/glue/go.mod | 2 +- service/glue/go.sum | 4 +- service/grafana/go.mod | 2 +- service/grafana/go.sum | 4 +- service/greengrass/go.mod | 2 +- service/greengrass/go.sum | 4 +- service/greengrassv2/go.mod | 2 +- service/greengrassv2/go.sum | 4 +- service/groundstation/go.mod | 2 +- service/groundstation/go.sum | 4 +- service/groundstation/types/types.go | 72 +- service/guardduty/go.mod | 2 +- service/guardduty/go.sum | 4 +- service/health/go.mod | 2 +- service/health/go.sum | 4 +- service/healthlake/go.mod | 2 +- service/healthlake/go.sum | 4 +- service/honeycode/go.mod | 2 +- service/honeycode/go.sum | 4 +- service/iam/go.mod | 2 +- service/iam/go.sum | 4 +- service/identitystore/go.mod | 2 +- service/identitystore/go.sum | 4 +- service/imagebuilder/go.mod | 2 +- service/imagebuilder/go.sum | 4 +- service/inspector/go.mod | 2 +- service/inspector/go.sum | 4 +- service/internal/accept-encoding/go.mod | 2 +- service/internal/accept-encoding/go.sum | 4 +- service/internal/benchmark/go.mod | 2 +- service/internal/benchmark/go.sum | 4 +- service/internal/endpoint-discovery/go.mod | 2 +- service/internal/endpoint-discovery/go.sum | 4 +- .../internal/eventstreamtesting/LICENSE.txt | 202 ++ service/internal/eventstreamtesting/go.mod | 28 + service/internal/eventstreamtesting/go.sum | 22 + .../eventstreamtesting/go_module_metadata.go | 6 + service/internal/eventstreamtesting/server.go | 283 ++ service/internal/integrationtest/go.mod | 7 +- service/internal/integrationtest/go.sum | 4 +- .../transcribestreaming/eventstream_test.go | 199 ++ service/internal/presigned-url/go.mod | 2 +- service/internal/presigned-url/go.sum | 4 +- service/internal/s3shared/go.mod | 2 +- service/internal/s3shared/go.sum | 4 +- service/iot/go.mod | 2 +- service/iot/go.sum | 4 +- service/iot/types/types.go | 32 +- service/iot1clickdevicesservice/go.mod | 2 +- service/iot1clickdevicesservice/go.sum | 4 +- service/iot1clickprojects/go.mod | 2 +- service/iot1clickprojects/go.sum | 4 +- service/iotanalytics/go.mod | 2 +- service/iotanalytics/go.sum | 4 +- service/iotanalytics/types/types.go | 22 +- service/iotdataplane/go.mod | 2 +- service/iotdataplane/go.sum | 4 +- service/iotdeviceadvisor/go.mod | 2 +- service/iotdeviceadvisor/go.sum | 4 +- service/iotevents/go.mod | 2 +- service/iotevents/go.sum | 4 +- service/ioteventsdata/go.mod | 2 +- service/ioteventsdata/go.sum | 4 +- service/iotfleethub/go.mod | 2 +- service/iotfleethub/go.sum | 4 +- service/iotjobsdataplane/go.mod | 2 +- service/iotjobsdataplane/go.sum | 4 +- service/iotsecuretunneling/go.mod | 2 +- service/iotsecuretunneling/go.sum | 4 +- service/iotsitewise/go.mod | 2 +- service/iotsitewise/go.sum | 4 +- service/iotthingsgraph/go.mod | 2 +- service/iotthingsgraph/go.sum | 4 +- service/iotwireless/go.mod | 2 +- service/iotwireless/go.sum | 4 +- service/ivs/go.mod | 2 +- service/ivs/go.sum | 4 +- service/kafka/go.mod | 2 +- service/kafka/go.sum | 4 +- service/kafkaconnect/go.mod | 2 +- service/kafkaconnect/go.sum | 4 +- service/kendra/go.mod | 2 +- service/kendra/go.sum | 4 +- service/kendra/types/types.go | 44 +- service/kinesis/api_client.go | 2 + service/kinesis/api_op_SubscribeToShard.go | 253 ++ service/kinesis/deserializers.go | 2202 +++++++++----- service/kinesis/eventstream.go | 342 +++ service/kinesis/generated.json | 4 + service/kinesis/go.mod | 5 +- service/kinesis/go.sum | 4 +- service/kinesis/internal/testing/LICENSE.txt | 202 ++ .../internal/testing/eventstream_test.go | 487 +++ service/kinesis/internal/testing/go.mod | 34 + service/kinesis/internal/testing/go.sum | 30 + .../internal/testing/go_module_metadata.go | 6 + service/kinesis/serializers.go | 93 + service/kinesis/types/errors.go | 20 + service/kinesis/types/types.go | 94 + service/kinesis/types/types_exported_test.go | 26 + service/kinesis/validators.go | 64 + service/kinesisanalytics/go.mod | 2 +- service/kinesisanalytics/go.sum | 4 +- service/kinesisanalyticsv2/go.mod | 2 +- service/kinesisanalyticsv2/go.sum | 4 +- service/kinesisvideo/go.mod | 2 +- service/kinesisvideo/go.sum | 4 +- service/kinesisvideoarchivedmedia/go.mod | 2 +- service/kinesisvideoarchivedmedia/go.sum | 4 +- service/kinesisvideomedia/go.mod | 2 +- service/kinesisvideomedia/go.sum | 4 +- service/kinesisvideosignaling/go.mod | 2 +- service/kinesisvideosignaling/go.sum | 4 +- service/kms/go.mod | 2 +- service/kms/go.sum | 4 +- service/lakeformation/go.mod | 2 +- service/lakeformation/go.sum | 4 +- service/lambda/go.mod | 2 +- service/lambda/go.sum | 4 +- service/lexmodelbuildingservice/go.mod | 2 +- service/lexmodelbuildingservice/go.sum | 4 +- service/lexmodelsv2/go.mod | 2 +- service/lexmodelsv2/go.sum | 4 +- service/lexruntimeservice/go.mod | 2 +- service/lexruntimeservice/go.sum | 4 +- service/lexruntimev2/go.mod | 2 +- service/lexruntimev2/go.sum | 4 +- service/licensemanager/go.mod | 2 +- service/licensemanager/go.sum | 4 +- service/lightsail/go.mod | 2 +- service/lightsail/go.sum | 4 +- service/location/go.mod | 2 +- service/location/go.sum | 4 +- service/lookoutequipment/go.mod | 2 +- service/lookoutequipment/go.sum | 4 +- service/lookoutmetrics/go.mod | 2 +- service/lookoutmetrics/go.sum | 4 +- service/lookoutvision/go.mod | 2 +- service/lookoutvision/go.sum | 4 +- service/machinelearning/go.mod | 2 +- service/machinelearning/go.sum | 4 +- service/macie/go.mod | 2 +- service/macie/go.sum | 4 +- service/macie2/go.mod | 2 +- service/macie2/go.sum | 4 +- service/managedblockchain/go.mod | 2 +- service/managedblockchain/go.sum | 4 +- service/marketplacecatalog/go.mod | 2 +- service/marketplacecatalog/go.sum | 4 +- service/marketplacecommerceanalytics/go.mod | 2 +- service/marketplacecommerceanalytics/go.sum | 4 +- service/marketplaceentitlementservice/go.mod | 2 +- service/marketplaceentitlementservice/go.sum | 4 +- .../types/types.go | 24 +- service/marketplacemetering/go.mod | 2 +- service/marketplacemetering/go.sum | 4 +- service/mediaconnect/go.mod | 2 +- service/mediaconnect/go.sum | 4 +- service/mediaconvert/go.mod | 2 +- service/mediaconvert/go.sum | 4 +- service/medialive/go.mod | 2 +- service/medialive/go.sum | 4 +- service/mediapackage/go.mod | 2 +- service/mediapackage/go.sum | 4 +- service/mediapackagevod/go.mod | 2 +- service/mediapackagevod/go.sum | 4 +- service/mediastore/go.mod | 2 +- service/mediastore/go.sum | 4 +- service/mediastoredata/go.mod | 2 +- service/mediastoredata/go.sum | 4 +- service/mediatailor/go.mod | 2 +- service/mediatailor/go.sum | 4 +- service/memorydb/go.mod | 2 +- service/memorydb/go.sum | 4 +- service/mgn/go.mod | 2 +- service/mgn/go.sum | 4 +- service/migrationhub/go.mod | 2 +- service/migrationhub/go.sum | 4 +- service/migrationhubconfig/go.mod | 2 +- service/migrationhubconfig/go.sum | 4 +- service/mobile/go.mod | 2 +- service/mobile/go.sum | 4 +- service/mq/go.mod | 2 +- service/mq/go.sum | 4 +- service/mturk/go.mod | 2 +- service/mturk/go.sum | 4 +- service/mwaa/go.mod | 2 +- service/mwaa/go.sum | 4 +- service/neptune/go.mod | 2 +- service/neptune/go.sum | 4 +- service/networkfirewall/go.mod | 2 +- service/networkfirewall/go.sum | 4 +- service/networkmanager/go.mod | 2 +- service/networkmanager/go.sum | 4 +- service/nimble/go.mod | 2 +- service/nimble/go.sum | 4 +- service/opensearch/go.mod | 2 +- service/opensearch/go.sum | 4 +- service/opsworks/go.mod | 2 +- service/opsworks/go.sum | 4 +- service/opsworkscm/go.mod | 2 +- service/opsworkscm/go.sum | 4 +- service/organizations/go.mod | 2 +- service/organizations/go.sum | 4 +- service/outposts/go.mod | 2 +- service/outposts/go.sum | 4 +- service/panorama/go.mod | 2 +- service/panorama/go.sum | 4 +- service/personalize/go.mod | 2 +- service/personalize/go.sum | 4 +- service/personalizeevents/go.mod | 2 +- service/personalizeevents/go.sum | 4 +- service/personalizeruntime/go.mod | 2 +- service/personalizeruntime/go.sum | 4 +- service/pi/go.mod | 2 +- service/pi/go.sum | 4 +- service/pinpoint/go.mod | 2 +- service/pinpoint/go.sum | 4 +- service/pinpointemail/go.mod | 2 +- service/pinpointemail/go.sum | 4 +- service/pinpointsmsvoice/go.mod | 2 +- service/pinpointsmsvoice/go.sum | 4 +- service/polly/go.mod | 2 +- service/polly/go.sum | 4 +- service/pricing/go.mod | 2 +- service/pricing/go.sum | 4 +- service/proton/go.mod | 2 +- service/proton/go.sum | 4 +- service/qldb/go.mod | 2 +- service/qldb/go.sum | 4 +- service/qldbsession/go.mod | 2 +- service/qldbsession/go.sum | 4 +- service/quicksight/go.mod | 2 +- service/quicksight/go.sum | 4 +- service/quicksight/types/types.go | 80 +- service/ram/go.mod | 2 +- service/ram/go.sum | 4 +- service/rds/go.mod | 2 +- service/rds/go.sum | 4 +- service/rdsdata/go.mod | 2 +- service/rdsdata/go.sum | 4 +- service/rdsdata/types/types.go | 162 +- service/redshift/go.mod | 2 +- service/redshift/go.sum | 4 +- service/redshiftdata/go.mod | 2 +- service/redshiftdata/go.sum | 4 +- service/redshiftdata/types/types.go | 46 +- service/rekognition/go.mod | 2 +- service/rekognition/go.sum | 4 +- service/resourcegroups/go.mod | 2 +- service/resourcegroups/go.sum | 4 +- service/resourcegroupstaggingapi/go.mod | 2 +- service/resourcegroupstaggingapi/go.sum | 4 +- service/robomaker/go.mod | 2 +- service/robomaker/go.sum | 4 +- service/route53/go.mod | 2 +- service/route53/go.sum | 4 +- service/route53domains/go.mod | 2 +- service/route53domains/go.sum | 4 +- service/route53recoverycluster/go.mod | 2 +- service/route53recoverycluster/go.sum | 4 +- service/route53recoverycontrolconfig/go.mod | 2 +- service/route53recoverycontrolconfig/go.sum | 4 +- service/route53recoveryreadiness/go.mod | 2 +- service/route53recoveryreadiness/go.sum | 4 +- service/route53resolver/go.mod | 2 +- service/route53resolver/go.sum | 4 +- service/s3/api_client.go | 2 + service/s3/api_op_SelectObjectContent.go | 417 +++ service/s3/deserializers.go | 581 ++++ service/s3/eventstream.go | 281 ++ service/s3/generated.json | 3 + service/s3/go.mod | 5 +- service/s3/go.sum | 4 +- service/s3/internal/configtesting/go.sum | 4 +- service/s3/serializers.go | 227 ++ service/s3/types/types.go | 284 +- service/s3/types/types_exported_test.go | 34 + service/s3/validators.go | 54 + service/s3control/go.mod | 2 +- service/s3control/go.sum | 4 +- service/s3outposts/go.mod | 2 +- service/s3outposts/go.sum | 4 +- service/sagemaker/go.mod | 2 +- service/sagemaker/go.sum | 4 +- service/sagemaker/types/types.go | 22 +- service/sagemakera2iruntime/go.mod | 2 +- service/sagemakera2iruntime/go.sum | 4 +- service/sagemakeredge/go.mod | 2 +- service/sagemakeredge/go.sum | 4 +- service/sagemakerfeaturestoreruntime/go.mod | 2 +- service/sagemakerfeaturestoreruntime/go.sum | 4 +- service/sagemakerruntime/go.mod | 2 +- service/sagemakerruntime/go.sum | 4 +- service/savingsplans/go.mod | 2 +- service/savingsplans/go.sum | 4 +- service/schemas/go.mod | 2 +- service/schemas/go.sum | 4 +- service/secretsmanager/go.mod | 2 +- service/secretsmanager/go.sum | 4 +- service/securityhub/go.mod | 2 +- service/securityhub/go.sum | 4 +- .../serverlessapplicationrepository/go.mod | 2 +- .../serverlessapplicationrepository/go.sum | 4 +- service/servicecatalog/go.mod | 2 +- service/servicecatalog/go.sum | 4 +- service/servicecatalogappregistry/go.mod | 2 +- service/servicecatalogappregistry/go.sum | 4 +- service/servicediscovery/go.mod | 2 +- service/servicediscovery/go.sum | 4 +- service/servicequotas/go.mod | 2 +- service/servicequotas/go.sum | 4 +- service/ses/go.mod | 2 +- service/ses/go.sum | 4 +- service/sesv2/go.mod | 2 +- service/sesv2/go.sum | 4 +- service/sfn/go.mod | 2 +- service/sfn/go.sum | 4 +- service/shield/go.mod | 2 +- service/shield/go.sum | 4 +- service/signer/go.mod | 2 +- service/signer/go.sum | 4 +- service/sms/go.mod | 2 +- service/sms/go.sum | 4 +- service/snowball/go.mod | 2 +- service/snowball/go.sum | 4 +- service/snowdevicemanagement/go.mod | 2 +- service/snowdevicemanagement/go.sum | 4 +- service/snowdevicemanagement/types/types.go | 18 +- service/sns/go.mod | 2 +- service/sns/go.sum | 4 +- service/sqs/go.mod | 2 +- service/sqs/go.sum | 4 +- service/ssm/go.mod | 2 +- service/ssm/go.sum | 4 +- service/ssmcontacts/go.mod | 2 +- service/ssmcontacts/go.sum | 4 +- service/ssmincidents/go.mod | 2 +- service/ssmincidents/go.sum | 4 +- service/ssmincidents/types/types.go | 66 +- service/sso/go.mod | 2 +- service/sso/go.sum | 4 +- service/ssoadmin/go.mod | 2 +- service/ssoadmin/go.sum | 4 +- service/ssooidc/go.mod | 2 +- service/ssooidc/go.sum | 4 +- service/storagegateway/go.mod | 2 +- service/storagegateway/go.sum | 4 +- service/sts/go.mod | 2 +- service/sts/go.sum | 4 +- service/support/go.mod | 2 +- service/support/go.sum | 4 +- service/swf/go.mod | 2 +- service/swf/go.sum | 4 +- service/synthetics/go.mod | 2 +- service/synthetics/go.sum | 4 +- service/textract/go.mod | 2 +- service/textract/go.sum | 4 +- service/timestreamquery/go.mod | 2 +- service/timestreamquery/go.sum | 4 +- service/timestreamwrite/go.mod | 2 +- service/timestreamwrite/go.sum | 4 +- service/transcribe/go.mod | 2 +- service/transcribe/go.sum | 4 +- service/transcribe/types/types.go | 32 +- service/transcribestreaming/LICENSE.txt | 202 ++ service/transcribestreaming/api_client.go | 299 ++ .../api_op_StartMedicalStreamTranscription.go | 363 +++ .../api_op_StartStreamTranscription.go | 418 +++ service/transcribestreaming/deserializers.go | 2643 +++++++++++++++++ service/transcribestreaming/doc.go | 7 + service/transcribestreaming/endpoints.go | 200 ++ service/transcribestreaming/eventstream.go | 797 +++++ service/transcribestreaming/generated.json | 31 + service/transcribestreaming/go.mod | 19 + service/transcribestreaming/go.sum | 14 + .../transcribestreaming/go_module_metadata.go | 6 + .../internal/endpoints/endpoints.go | 406 +++ .../internal/endpoints/endpoints_test.go | 11 + .../internal/testing/LICENSE.txt | 202 ++ .../internal/testing/eventstream_test.go | 660 ++++ .../internal/testing/go.mod | 34 + .../internal/testing/go.sum | 22 + .../internal/testing/go_module_metadata.go | 6 + .../internal/testing/testing.go | 2 + service/transcribestreaming/protocol_test.go | 3 + service/transcribestreaming/serializers.go | 280 ++ service/transcribestreaming/types/enums.go | 212 ++ service/transcribestreaming/types/errors.go | 111 + service/transcribestreaming/types/types.go | 370 +++ .../types/types_exported_test.go | 62 + service/transcribestreaming/validators.go | 106 + service/transfer/go.mod | 2 +- service/transfer/go.sum | 4 +- service/translate/go.mod | 2 +- service/translate/go.sum | 4 +- service/voiceid/go.mod | 2 +- service/voiceid/go.sum | 4 +- service/waf/go.mod | 2 +- service/waf/go.sum | 4 +- service/wafregional/go.mod | 2 +- service/wafregional/go.sum | 4 +- service/wafv2/go.mod | 2 +- service/wafv2/go.sum | 4 +- service/wellarchitected/go.mod | 2 +- service/wellarchitected/go.sum | 4 +- service/wisdom/go.mod | 2 +- service/wisdom/go.sum | 4 +- service/workdocs/go.mod | 2 +- service/workdocs/go.sum | 4 +- service/worklink/go.mod | 2 +- service/worklink/go.sum | 4 +- service/workmail/go.mod | 2 +- service/workmail/go.sum | 4 +- service/workmailmessageflow/go.mod | 2 +- service/workmailmessageflow/go.sum | 4 +- service/workspaces/go.mod | 2 +- service/workspaces/go.sum | 4 +- service/xray/go.mod | 2 +- service/xray/go.sum | 4 +- service/xray/types/types.go | 18 +- 762 files changed, 21724 insertions(+), 2460 deletions(-) create mode 100644 .changelog/41575353444b40ffbf474f4155544f00.json create mode 100644 aws/protocol/eventstream/LICENSE.txt create mode 100644 aws/protocol/eventstream/debug.go create mode 100644 aws/protocol/eventstream/decode.go create mode 100644 aws/protocol/eventstream/decode_test.go create mode 100644 aws/protocol/eventstream/encode.go create mode 100644 aws/protocol/eventstream/encode_test.go create mode 100644 aws/protocol/eventstream/error.go create mode 100644 aws/protocol/eventstream/eventstreamapi/headers.go create mode 100644 aws/protocol/eventstream/eventstreamapi/middleware.go create mode 100644 aws/protocol/eventstream/eventstreamapi/transport.go create mode 100644 aws/protocol/eventstream/eventstreamapi/transport_go117.go create mode 100644 aws/protocol/eventstream/go.mod create mode 100644 aws/protocol/eventstream/go.sum create mode 100644 aws/protocol/eventstream/go_module_metadata.go create mode 100644 aws/protocol/eventstream/header.go create mode 100644 aws/protocol/eventstream/header_test.go create mode 100644 aws/protocol/eventstream/header_value.go create mode 100644 aws/protocol/eventstream/header_value_test.go create mode 100644 aws/protocol/eventstream/message.go create mode 100644 aws/protocol/eventstream/shared_test.go create mode 100644 aws/protocol/eventstream/testdata/decoded/negative/corrupted_header_len create mode 100644 aws/protocol/eventstream/testdata/decoded/negative/corrupted_headers create mode 100644 aws/protocol/eventstream/testdata/decoded/negative/corrupted_length create mode 100644 aws/protocol/eventstream/testdata/decoded/negative/corrupted_payload create mode 100644 aws/protocol/eventstream/testdata/decoded/positive/all_headers create mode 100644 aws/protocol/eventstream/testdata/decoded/positive/empty_message create mode 100644 aws/protocol/eventstream/testdata/decoded/positive/int32_header create mode 100644 aws/protocol/eventstream/testdata/decoded/positive/payload_no_headers create mode 100644 aws/protocol/eventstream/testdata/decoded/positive/payload_one_str_header create mode 100644 aws/protocol/eventstream/testdata/encoded/negative/corrupted_header_len create mode 100644 aws/protocol/eventstream/testdata/encoded/negative/corrupted_headers create mode 100644 aws/protocol/eventstream/testdata/encoded/negative/corrupted_length create mode 100644 aws/protocol/eventstream/testdata/encoded/negative/corrupted_payload create mode 100644 aws/protocol/eventstream/testdata/encoded/positive/all_headers create mode 100644 aws/protocol/eventstream/testdata/encoded/positive/empty_message create mode 100644 aws/protocol/eventstream/testdata/encoded/positive/int32_header create mode 100644 aws/protocol/eventstream/testdata/encoded/positive/payload_no_headers create mode 100644 aws/protocol/eventstream/testdata/encoded/positive/payload_one_str_header create mode 100644 aws/signer/internal/v4/scope.go create mode 100644 aws/signer/v4/stream.go create mode 100644 codegen/sdk-codegen/aws-models/transcribestreaming.2017-10-26.json create mode 100644 codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsEventStreamIntegration.java create mode 100644 codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsEventStreamUtils.java rename codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/{FilterStreamingOperations.java => FilterShapes.java} (57%) create mode 100644 service/internal/eventstreamtesting/LICENSE.txt create mode 100644 service/internal/eventstreamtesting/go.mod create mode 100644 service/internal/eventstreamtesting/go.sum create mode 100644 service/internal/eventstreamtesting/go_module_metadata.go create mode 100644 service/internal/eventstreamtesting/server.go create mode 100644 service/internal/integrationtest/transcribestreaming/eventstream_test.go create mode 100644 service/kinesis/api_op_SubscribeToShard.go create mode 100644 service/kinesis/eventstream.go create mode 100644 service/kinesis/internal/testing/LICENSE.txt create mode 100644 service/kinesis/internal/testing/eventstream_test.go create mode 100644 service/kinesis/internal/testing/go.mod create mode 100644 service/kinesis/internal/testing/go.sum create mode 100644 service/kinesis/internal/testing/go_module_metadata.go create mode 100644 service/kinesis/types/types_exported_test.go create mode 100644 service/s3/api_op_SelectObjectContent.go create mode 100644 service/s3/eventstream.go create mode 100644 service/transcribestreaming/LICENSE.txt create mode 100644 service/transcribestreaming/api_client.go create mode 100644 service/transcribestreaming/api_op_StartMedicalStreamTranscription.go create mode 100644 service/transcribestreaming/api_op_StartStreamTranscription.go create mode 100644 service/transcribestreaming/deserializers.go create mode 100644 service/transcribestreaming/doc.go create mode 100644 service/transcribestreaming/endpoints.go create mode 100644 service/transcribestreaming/eventstream.go create mode 100644 service/transcribestreaming/generated.json create mode 100644 service/transcribestreaming/go.mod create mode 100644 service/transcribestreaming/go.sum create mode 100644 service/transcribestreaming/go_module_metadata.go create mode 100644 service/transcribestreaming/internal/endpoints/endpoints.go create mode 100644 service/transcribestreaming/internal/endpoints/endpoints_test.go create mode 100644 service/transcribestreaming/internal/testing/LICENSE.txt create mode 100644 service/transcribestreaming/internal/testing/eventstream_test.go create mode 100644 service/transcribestreaming/internal/testing/go.mod create mode 100644 service/transcribestreaming/internal/testing/go.sum create mode 100644 service/transcribestreaming/internal/testing/go_module_metadata.go create mode 100644 service/transcribestreaming/internal/testing/testing.go create mode 100644 service/transcribestreaming/protocol_test.go create mode 100644 service/transcribestreaming/serializers.go create mode 100644 service/transcribestreaming/types/enums.go create mode 100644 service/transcribestreaming/types/errors.go create mode 100644 service/transcribestreaming/types/types.go create mode 100644 service/transcribestreaming/types/types_exported_test.go create mode 100644 service/transcribestreaming/validators.go diff --git a/.changelog/41575353444b40ffbf474f4155544f00.json b/.changelog/41575353444b40ffbf474f4155544f00.json new file mode 100644 index 00000000000..451c1665490 --- /dev/null +++ b/.changelog/41575353444b40ffbf474f4155544f00.json @@ -0,0 +1,8 @@ +{ + "id": "41575353-444b-40ff-bf47-4f4155544f00", + "type": "release", + "description": "New AWS service client module", + "modules": [ + "service/transcribestreaming" + ] +} \ No newline at end of file diff --git a/aws/logging.go b/aws/logging.go index 15dec79b9c1..9e34d26f215 100644 --- a/aws/logging.go +++ b/aws/logging.go @@ -22,6 +22,8 @@ const ( LogResponse LogResponseWithBody LogDeprecatedUsage + LogRequestEventMessage + LogResponseEventMessage ) // IsSigning returns whether the Signing logging mode bit is set @@ -59,6 +61,16 @@ func (m ClientLogMode) IsDeprecatedUsage() bool { return m&LogDeprecatedUsage != 0 } +// IsRequestEventMessage returns whether the RequestEventMessage logging mode bit is set +func (m ClientLogMode) IsRequestEventMessage() bool { + return m&LogRequestEventMessage != 0 +} + +// IsResponseEventMessage returns whether the ResponseEventMessage logging mode bit is set +func (m ClientLogMode) IsResponseEventMessage() bool { + return m&LogResponseEventMessage != 0 +} + // ClearSigning clears the Signing logging mode bit func (m *ClientLogMode) ClearSigning() { *m &^= LogSigning @@ -93,3 +105,13 @@ func (m *ClientLogMode) ClearResponseWithBody() { func (m *ClientLogMode) ClearDeprecatedUsage() { *m &^= LogDeprecatedUsage } + +// ClearRequestEventMessage clears the RequestEventMessage logging mode bit +func (m *ClientLogMode) ClearRequestEventMessage() { + *m &^= LogRequestEventMessage +} + +// ClearResponseEventMessage clears the ResponseEventMessage logging mode bit +func (m *ClientLogMode) ClearResponseEventMessage() { + *m &^= LogResponseEventMessage +} diff --git a/aws/logging_generate.go b/aws/logging_generate.go index 1e02e6749b4..6ecc2231a12 100644 --- a/aws/logging_generate.go +++ b/aws/logging_generate.go @@ -23,6 +23,8 @@ var config = struct { "Response", "ResponseWithBody", "DeprecatedUsage", + "RequestEventMessage", + "ResponseEventMessage", }, } diff --git a/aws/middleware/metadata.go b/aws/middleware/metadata.go index 28201217406..e6e87ac7776 100644 --- a/aws/middleware/metadata.go +++ b/aws/middleware/metadata.go @@ -165,3 +165,16 @@ func GetEndpointSource(ctx context.Context) (v aws.EndpointSource) { func SetEndpointSource(ctx context.Context, value aws.EndpointSource) context.Context { return middleware.WithStackValue(ctx, endpointSourceKey{}, value) } + +type signingCredentialsKey struct{} + +// GetSigningCredentials returns the credentials that were used for signing if set on context. +func GetSigningCredentials(ctx context.Context) (v aws.Credentials) { + v, _ = middleware.GetStackValue(ctx, signingCredentialsKey{}).(aws.Credentials) + return v +} + +// SetSigningCredentials sets the credentails used for signing on the context. +func SetSigningCredentials(ctx context.Context, value aws.Credentials) context.Context { + return middleware.WithStackValue(ctx, signingCredentialsKey{}, value) +} diff --git a/aws/protocol/eventstream/LICENSE.txt b/aws/protocol/eventstream/LICENSE.txt new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/aws/protocol/eventstream/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/aws/protocol/eventstream/debug.go b/aws/protocol/eventstream/debug.go new file mode 100644 index 00000000000..151054971a5 --- /dev/null +++ b/aws/protocol/eventstream/debug.go @@ -0,0 +1,144 @@ +package eventstream + +import ( + "bytes" + "encoding/base64" + "encoding/json" + "fmt" + "strconv" +) + +type decodedMessage struct { + rawMessage + Headers decodedHeaders `json:"headers"` +} +type jsonMessage struct { + Length json.Number `json:"total_length"` + HeadersLen json.Number `json:"headers_length"` + PreludeCRC json.Number `json:"prelude_crc"` + Headers decodedHeaders `json:"headers"` + Payload []byte `json:"payload"` + CRC json.Number `json:"message_crc"` +} + +func (d *decodedMessage) UnmarshalJSON(b []byte) (err error) { + var jsonMsg jsonMessage + if err = json.Unmarshal(b, &jsonMsg); err != nil { + return err + } + + d.Length, err = numAsUint32(jsonMsg.Length) + if err != nil { + return err + } + d.HeadersLen, err = numAsUint32(jsonMsg.HeadersLen) + if err != nil { + return err + } + d.PreludeCRC, err = numAsUint32(jsonMsg.PreludeCRC) + if err != nil { + return err + } + d.Headers = jsonMsg.Headers + d.Payload = jsonMsg.Payload + d.CRC, err = numAsUint32(jsonMsg.CRC) + if err != nil { + return err + } + + return nil +} + +func (d *decodedMessage) MarshalJSON() ([]byte, error) { + jsonMsg := jsonMessage{ + Length: json.Number(strconv.Itoa(int(d.Length))), + HeadersLen: json.Number(strconv.Itoa(int(d.HeadersLen))), + PreludeCRC: json.Number(strconv.Itoa(int(d.PreludeCRC))), + Headers: d.Headers, + Payload: d.Payload, + CRC: json.Number(strconv.Itoa(int(d.CRC))), + } + + return json.Marshal(jsonMsg) +} + +func numAsUint32(n json.Number) (uint32, error) { + v, err := n.Int64() + if err != nil { + return 0, fmt.Errorf("failed to get int64 json number, %v", err) + } + + return uint32(v), nil +} + +func (d decodedMessage) Message() Message { + return Message{ + Headers: Headers(d.Headers), + Payload: d.Payload, + } +} + +type decodedHeaders Headers + +func (hs *decodedHeaders) UnmarshalJSON(b []byte) error { + var jsonHeaders []struct { + Name string `json:"name"` + Type valueType `json:"type"` + Value interface{} `json:"value"` + } + + decoder := json.NewDecoder(bytes.NewReader(b)) + decoder.UseNumber() + if err := decoder.Decode(&jsonHeaders); err != nil { + return err + } + + var headers Headers + for _, h := range jsonHeaders { + value, err := valueFromType(h.Type, h.Value) + if err != nil { + return err + } + headers.Set(h.Name, value) + } + *hs = decodedHeaders(headers) + + return nil +} + +func valueFromType(typ valueType, val interface{}) (Value, error) { + switch typ { + case trueValueType: + return BoolValue(true), nil + case falseValueType: + return BoolValue(false), nil + case int8ValueType: + v, err := val.(json.Number).Int64() + return Int8Value(int8(v)), err + case int16ValueType: + v, err := val.(json.Number).Int64() + return Int16Value(int16(v)), err + case int32ValueType: + v, err := val.(json.Number).Int64() + return Int32Value(int32(v)), err + case int64ValueType: + v, err := val.(json.Number).Int64() + return Int64Value(v), err + case bytesValueType: + v, err := base64.StdEncoding.DecodeString(val.(string)) + return BytesValue(v), err + case stringValueType: + v, err := base64.StdEncoding.DecodeString(val.(string)) + return StringValue(string(v)), err + case timestampValueType: + v, err := val.(json.Number).Int64() + return TimestampValue(timeFromEpochMilli(v)), err + case uuidValueType: + v, err := base64.StdEncoding.DecodeString(val.(string)) + var tv UUIDValue + copy(tv[:], v) + return tv, err + default: + panic(fmt.Sprintf("unknown type, %s, %T", typ.String(), val)) + } +} diff --git a/aws/protocol/eventstream/decode.go b/aws/protocol/eventstream/decode.go new file mode 100644 index 00000000000..d9ab7652f4a --- /dev/null +++ b/aws/protocol/eventstream/decode.go @@ -0,0 +1,218 @@ +package eventstream + +import ( + "bytes" + "encoding/binary" + "encoding/hex" + "encoding/json" + "fmt" + "github.com/aws/smithy-go/logging" + "hash" + "hash/crc32" + "io" +) + +// DecoderOptions is the Decoder configuration options. +type DecoderOptions struct { + Logger logging.Logger + LogMessages bool +} + +// Decoder provides decoding of an Event Stream messages. +type Decoder struct { + options DecoderOptions +} + +// NewDecoder initializes and returns a Decoder for decoding event +// stream messages from the reader provided. +func NewDecoder(optFns ...func(*DecoderOptions)) *Decoder { + options := DecoderOptions{} + + for _, fn := range optFns { + fn(&options) + } + + return &Decoder{ + options: options, + } +} + +// Decode attempts to decode a single message from the event stream reader. +// Will return the event stream message, or error if decodeMessage fails to read +// the message from the stream. +// +// payloadBuf is a byte slice that will be used in the returned Message.Payload. Callers +// must ensure that the Message.Payload from a previous decode has been consumed before passing in the same underlying +// payloadBuf byte slice. +func (d *Decoder) Decode(reader io.Reader, payloadBuf []byte) (m Message, err error) { + if d.options.Logger != nil && d.options.LogMessages { + debugMsgBuf := bytes.NewBuffer(nil) + reader = io.TeeReader(reader, debugMsgBuf) + defer func() { + logMessageDecode(d.options.Logger, debugMsgBuf, m, err) + }() + } + + m, err = decodeMessage(reader, payloadBuf) + + return m, err +} + +// decodeMessage attempts to decode a single message from the event stream reader. +// Will return the event stream message, or error if decodeMessage fails to read +// the message from the reader. +func decodeMessage(reader io.Reader, payloadBuf []byte) (m Message, err error) { + crc := crc32.New(crc32IEEETable) + hashReader := io.TeeReader(reader, crc) + + prelude, err := decodePrelude(hashReader, crc) + if err != nil { + return Message{}, err + } + + if prelude.HeadersLen > 0 { + lr := io.LimitReader(hashReader, int64(prelude.HeadersLen)) + m.Headers, err = decodeHeaders(lr) + if err != nil { + return Message{}, err + } + } + + if payloadLen := prelude.PayloadLen(); payloadLen > 0 { + buf, err := decodePayload(payloadBuf, io.LimitReader(hashReader, int64(payloadLen))) + if err != nil { + return Message{}, err + } + m.Payload = buf + } + + msgCRC := crc.Sum32() + if err := validateCRC(reader, msgCRC); err != nil { + return Message{}, err + } + + return m, nil +} + +func logMessageDecode(logger logging.Logger, msgBuf *bytes.Buffer, msg Message, decodeErr error) { + w := bytes.NewBuffer(nil) + defer func() { logger.Logf(logging.Debug, w.String()) }() + + fmt.Fprintf(w, "Raw message:\n%s\n", + hex.Dump(msgBuf.Bytes())) + + if decodeErr != nil { + fmt.Fprintf(w, "decodeMessage error: %v\n", decodeErr) + return + } + + rawMsg, err := msg.rawMessage() + if err != nil { + fmt.Fprintf(w, "failed to create raw message, %v\n", err) + return + } + + decodedMsg := decodedMessage{ + rawMessage: rawMsg, + Headers: decodedHeaders(msg.Headers), + } + + fmt.Fprintf(w, "Decoded message:\n") + encoder := json.NewEncoder(w) + if err := encoder.Encode(decodedMsg); err != nil { + fmt.Fprintf(w, "failed to generate decoded message, %v\n", err) + } +} + +func decodePrelude(r io.Reader, crc hash.Hash32) (messagePrelude, error) { + var p messagePrelude + + var err error + p.Length, err = decodeUint32(r) + if err != nil { + return messagePrelude{}, err + } + + p.HeadersLen, err = decodeUint32(r) + if err != nil { + return messagePrelude{}, err + } + + if err := p.ValidateLens(); err != nil { + return messagePrelude{}, err + } + + preludeCRC := crc.Sum32() + if err := validateCRC(r, preludeCRC); err != nil { + return messagePrelude{}, err + } + + p.PreludeCRC = preludeCRC + + return p, nil +} + +func decodePayload(buf []byte, r io.Reader) ([]byte, error) { + w := bytes.NewBuffer(buf[0:0]) + + _, err := io.Copy(w, r) + return w.Bytes(), err +} + +func decodeUint8(r io.Reader) (uint8, error) { + type byteReader interface { + ReadByte() (byte, error) + } + + if br, ok := r.(byteReader); ok { + v, err := br.ReadByte() + return v, err + } + + var b [1]byte + _, err := io.ReadFull(r, b[:]) + return b[0], err +} + +func decodeUint16(r io.Reader) (uint16, error) { + var b [2]byte + bs := b[:] + _, err := io.ReadFull(r, bs) + if err != nil { + return 0, err + } + return binary.BigEndian.Uint16(bs), nil +} + +func decodeUint32(r io.Reader) (uint32, error) { + var b [4]byte + bs := b[:] + _, err := io.ReadFull(r, bs) + if err != nil { + return 0, err + } + return binary.BigEndian.Uint32(bs), nil +} + +func decodeUint64(r io.Reader) (uint64, error) { + var b [8]byte + bs := b[:] + _, err := io.ReadFull(r, bs) + if err != nil { + return 0, err + } + return binary.BigEndian.Uint64(bs), nil +} + +func validateCRC(r io.Reader, expect uint32) error { + msgCRC, err := decodeUint32(r) + if err != nil { + return err + } + + if msgCRC != expect { + return ChecksumError{} + } + + return nil +} diff --git a/aws/protocol/eventstream/decode_test.go b/aws/protocol/eventstream/decode_test.go new file mode 100644 index 00000000000..2654fc6f34d --- /dev/null +++ b/aws/protocol/eventstream/decode_test.go @@ -0,0 +1,174 @@ +package eventstream + +import ( + "bytes" + "encoding/hex" + "io/ioutil" + "os" + "reflect" + "testing" +) + +func TestWriteEncodedFromDecoded(t *testing.T) { + cases, err := readPositiveTests("testdata") + if err != nil { + t.Fatalf("failed to load positive tests, %v", err) + } + + for _, c := range cases { + f, err := ioutil.TempFile(os.TempDir(), "encoded_positive_"+c.Name) + if err != nil { + t.Fatalf("failed to open %q, %v", c.Name, err) + } + + encoder := NewEncoder() + + msg := c.Decoded.Message() + if err := encoder.Encode(f, msg); err != nil { + t.Errorf("failed to encode %q, %v", c.Name, err) + } + + if err = f.Close(); err != nil { + t.Errorf("expected %v, got %v", "no error", err) + } + if err = os.Remove(f.Name()); err != nil { + t.Errorf("expected %v, got %v", "no error", err) + } + } +} + +func TestDecoder_Decode(t *testing.T) { + cases, err := readPositiveTests("testdata") + if err != nil { + t.Fatalf("failed to load positive tests, %v", err) + } + + for _, c := range cases { + decoder := NewDecoder() + + msg, err := decoder.Decode(bytes.NewBuffer(c.Encoded), nil) + if err != nil { + t.Fatalf("%s, expect no decode error, got %v", c.Name, err) + } + + raw, err := msg.rawMessage() // rawMessage will fail if payload read CRC fails + if err != nil { + t.Fatalf("%s, failed to get raw decoded message %v", c.Name, err) + } + + if e, a := c.Decoded.Length, raw.Length; e != a { + t.Errorf("%s, expect %v length, got %v", c.Name, e, a) + } + if e, a := c.Decoded.HeadersLen, raw.HeadersLen; e != a { + t.Errorf("%s, expect %v HeadersLen, got %v", c.Name, e, a) + } + if e, a := c.Decoded.PreludeCRC, raw.PreludeCRC; e != a { + t.Errorf("%s, expect %v PreludeCRC, got %v", c.Name, e, a) + } + if e, a := Headers(c.Decoded.Headers), msg.Headers; !reflect.DeepEqual(e, a) { + t.Errorf("%s, expect %v headers, got %v", c.Name, e, a) + } + if e, a := c.Decoded.Payload, raw.Payload; !bytes.Equal(e, a) { + t.Errorf("%s, expect %v payload, got %v", c.Name, e, a) + } + if e, a := c.Decoded.CRC, raw.CRC; e != a { + t.Errorf("%s, expect %v CRC, got %v", c.Name, e, a) + } + } +} + +func TestDecoder_Decode_Negative(t *testing.T) { + cases, err := readNegativeTests("testdata") + if err != nil { + t.Fatalf("failed to load negative tests, %v", err) + } + + for _, c := range cases { + decoder := NewDecoder() + + msg, err := decoder.Decode(bytes.NewBuffer(c.Encoded), nil) + if err == nil { + rawMsg, rawMsgErr := msg.rawMessage() + t.Fatalf("%s, expect error, got none, %s,\n%s\n%#v, %v\n", c.Name, + c.Err, hex.Dump(c.Encoded), rawMsg, rawMsgErr) + } + } +} + +var testEncodedMsg = []byte{0, 0, 0, 61, 0, 0, 0, 32, 7, 253, 131, 150, 12, 99, 111, 110, 116, 101, 110, 116, 45, 116, 121, 112, 101, 7, 0, 16, 97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 123, 39, 102, 111, 111, 39, 58, 39, 98, 97, 114, 39, 125, 141, 156, 8, 177} + +func TestDecoder_DecodeMultipleMessages(t *testing.T) { + const ( + expectMsgCount = 10 + expectPayloadLen = 13 + ) + + r := bytes.NewBuffer(nil) + for i := 0; i < expectMsgCount; i++ { + r.Write(testEncodedMsg) + } + + decoder := NewDecoder() + + var err error + var msg Message + var count int + for { + msg, err = decoder.Decode(r, nil) + if err != nil { + break + } + count++ + + if e, a := expectPayloadLen, len(msg.Payload); e != a { + t.Errorf("expect %v payload len, got %v", e, a) + } + + if e, a := []byte(`{'foo':'bar'}`), msg.Payload; !bytes.Equal(e, a) { + t.Errorf("expect %v payload, got %v", e, a) + } + } + + type causer interface { + Cause() error + } + if err != nil && count != expectMsgCount { + t.Fatalf("expect, no error, got %v", err) + } + + if e, a := expectMsgCount, count; e != a { + t.Errorf("expect %v messages read, got %v", e, a) + } +} + +func BenchmarkDecode(b *testing.B) { + r := bytes.NewReader(testEncodedMsg) + decoder := NewDecoder() + payloadBuf := make([]byte, 0, 5*1024) + b.ResetTimer() + + for i := 0; i < b.N; i++ { + msg, err := decoder.Decode(r, payloadBuf) + if err != nil { + b.Fatal(err) + } + + // Release the payload buffer + payloadBuf = msg.Payload[0:0] + r.Seek(0, 0) + } +} + +func BenchmarkDecode_NoPayloadBuf(b *testing.B) { + r := bytes.NewReader(testEncodedMsg) + decoder := NewDecoder() + b.ResetTimer() + + for i := 0; i < b.N; i++ { + _, err := decoder.Decode(r, nil) + if err != nil { + b.Fatal(err) + } + r.Seek(0, 0) + } +} diff --git a/aws/protocol/eventstream/encode.go b/aws/protocol/eventstream/encode.go new file mode 100644 index 00000000000..f03ee4b934b --- /dev/null +++ b/aws/protocol/eventstream/encode.go @@ -0,0 +1,167 @@ +package eventstream + +import ( + "bytes" + "encoding/binary" + "encoding/hex" + "encoding/json" + "fmt" + "github.com/aws/smithy-go/logging" + "hash" + "hash/crc32" + "io" +) + +// EncoderOptions is the configuration options for Encoder. +type EncoderOptions struct { + Logger logging.Logger + LogMessages bool +} + +// Encoder provides EventStream message encoding. +type Encoder struct { + options EncoderOptions + + headersBuf *bytes.Buffer + messageBuf *bytes.Buffer +} + +// NewEncoder initializes and returns an Encoder to encode Event Stream +// messages. +func NewEncoder(optFns ...func(*EncoderOptions)) *Encoder { + o := EncoderOptions{} + + for _, fn := range optFns { + fn(&o) + } + + return &Encoder{ + options: o, + headersBuf: bytes.NewBuffer(nil), + messageBuf: bytes.NewBuffer(nil), + } +} + +// Encode encodes a single EventStream message to the io.Writer the Encoder +// was created with. An error is returned if writing the message fails. +func (e *Encoder) Encode(w io.Writer, msg Message) (err error) { + e.headersBuf.Reset() + e.messageBuf.Reset() + + var writer io.Writer = e.messageBuf + if e.options.Logger != nil && e.options.LogMessages { + encodeMsgBuf := bytes.NewBuffer(nil) + writer = io.MultiWriter(writer, encodeMsgBuf) + defer func() { + logMessageEncode(e.options.Logger, encodeMsgBuf, msg, err) + }() + } + + if err = EncodeHeaders(e.headersBuf, msg.Headers); err != nil { + return err + } + + crc := crc32.New(crc32IEEETable) + hashWriter := io.MultiWriter(writer, crc) + + headersLen := uint32(e.headersBuf.Len()) + payloadLen := uint32(len(msg.Payload)) + + if err = encodePrelude(hashWriter, crc, headersLen, payloadLen); err != nil { + return err + } + + if headersLen > 0 { + if _, err = io.Copy(hashWriter, e.headersBuf); err != nil { + return err + } + } + + if payloadLen > 0 { + if _, err = hashWriter.Write(msg.Payload); err != nil { + return err + } + } + + msgCRC := crc.Sum32() + if err := binary.Write(writer, binary.BigEndian, msgCRC); err != nil { + return err + } + + _, err = io.Copy(w, e.messageBuf) + + return err +} + +func logMessageEncode(logger logging.Logger, msgBuf *bytes.Buffer, msg Message, encodeErr error) { + w := bytes.NewBuffer(nil) + defer func() { logger.Logf(logging.Debug, w.String()) }() + + fmt.Fprintf(w, "Message to encode:\n") + encoder := json.NewEncoder(w) + if err := encoder.Encode(msg); err != nil { + fmt.Fprintf(w, "Failed to get encoded message, %v\n", err) + } + + if encodeErr != nil { + fmt.Fprintf(w, "Encode error: %v\n", encodeErr) + return + } + + fmt.Fprintf(w, "Raw message:\n%s\n", hex.Dump(msgBuf.Bytes())) +} + +func encodePrelude(w io.Writer, crc hash.Hash32, headersLen, payloadLen uint32) error { + p := messagePrelude{ + Length: minMsgLen + headersLen + payloadLen, + HeadersLen: headersLen, + } + if err := p.ValidateLens(); err != nil { + return err + } + + err := binaryWriteFields(w, binary.BigEndian, + p.Length, + p.HeadersLen, + ) + if err != nil { + return err + } + + p.PreludeCRC = crc.Sum32() + err = binary.Write(w, binary.BigEndian, p.PreludeCRC) + if err != nil { + return err + } + + return nil +} + +// EncodeHeaders writes the header values to the writer encoded in the event +// stream format. Returns an error if a header fails to encode. +func EncodeHeaders(w io.Writer, headers Headers) error { + for _, h := range headers { + hn := headerName{ + Len: uint8(len(h.Name)), + } + copy(hn.Name[:hn.Len], h.Name) + if err := hn.encode(w); err != nil { + return err + } + + if err := h.Value.encode(w); err != nil { + return err + } + } + + return nil +} + +func binaryWriteFields(w io.Writer, order binary.ByteOrder, vs ...interface{}) error { + for _, v := range vs { + if err := binary.Write(w, order, v); err != nil { + return err + } + } + return nil +} diff --git a/aws/protocol/eventstream/encode_test.go b/aws/protocol/eventstream/encode_test.go new file mode 100644 index 00000000000..2426d93d7c5 --- /dev/null +++ b/aws/protocol/eventstream/encode_test.go @@ -0,0 +1,50 @@ +package eventstream + +import ( + "bytes" + "encoding/hex" + "reflect" + "testing" +) + +func TestEncoder_Encode(t *testing.T) { + cases, err := readPositiveTests("testdata") + if err != nil { + t.Fatalf("failed to load positive tests, %v", err) + } + + for _, c := range cases { + var w bytes.Buffer + encoder := NewEncoder() + + err = encoder.Encode(&w, c.Decoded.Message()) + if err != nil { + t.Fatalf("%s, failed to encode message, %v", c.Name, err) + } + + if e, a := c.Encoded, w.Bytes(); !reflect.DeepEqual(e, a) { + t.Errorf("%s, expect:\n%v\nactual:\n%v\n", c.Name, + hex.Dump(e), hex.Dump(a)) + } + } +} + +func BenchmarkEncode(b *testing.B) { + var w bytes.Buffer + encoder := NewEncoder() + msg := Message{ + Headers: Headers{ + {Name: "event-id", Value: Int16Value(123)}, + }, + Payload: []byte(`{"abc":123}`), + } + + b.ResetTimer() + + for i := 0; i < b.N; i++ { + err := encoder.Encode(&w, msg) + if err != nil { + b.Fatal(err) + } + } +} diff --git a/aws/protocol/eventstream/error.go b/aws/protocol/eventstream/error.go new file mode 100644 index 00000000000..5481ef30796 --- /dev/null +++ b/aws/protocol/eventstream/error.go @@ -0,0 +1,23 @@ +package eventstream + +import "fmt" + +// LengthError provides the error for items being larger than a maximum length. +type LengthError struct { + Part string + Want int + Have int + Value interface{} +} + +func (e LengthError) Error() string { + return fmt.Sprintf("%s length invalid, %d/%d, %v", + e.Part, e.Want, e.Have, e.Value) +} + +// ChecksumError provides the error for message checksum invalidation errors. +type ChecksumError struct{} + +func (e ChecksumError) Error() string { + return "message checksum mismatch" +} diff --git a/aws/protocol/eventstream/eventstreamapi/headers.go b/aws/protocol/eventstream/eventstreamapi/headers.go new file mode 100644 index 00000000000..93ea71ffdf8 --- /dev/null +++ b/aws/protocol/eventstream/eventstreamapi/headers.go @@ -0,0 +1,24 @@ +package eventstreamapi + +// EventStream headers with specific meaning to async API functionality. +const ( + ChunkSignatureHeader = `:chunk-signature` // chunk signature for message + DateHeader = `:date` // Date header for signature + ContentTypeHeader = ":content-type" // message payload content-type + + // Message header and values + MessageTypeHeader = `:message-type` // Identifies type of message. + EventMessageType = `event` + ErrorMessageType = `error` + ExceptionMessageType = `exception` + + // Message Events + EventTypeHeader = `:event-type` // Identifies message event type e.g. "Stats". + + // Message Error + ErrorCodeHeader = `:error-code` + ErrorMessageHeader = `:error-message` + + // Message Exception + ExceptionTypeHeader = `:exception-type` +) diff --git a/aws/protocol/eventstream/eventstreamapi/middleware.go b/aws/protocol/eventstream/eventstreamapi/middleware.go new file mode 100644 index 00000000000..d07ff6b89e1 --- /dev/null +++ b/aws/protocol/eventstream/eventstreamapi/middleware.go @@ -0,0 +1,71 @@ +package eventstreamapi + +import ( + "context" + "fmt" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" + "io" +) + +type eventStreamWriterKey struct{} + +// GetInputStreamWriter returns EventTypeHeader io.PipeWriter used for the operation's input event stream. +func GetInputStreamWriter(ctx context.Context) io.WriteCloser { + writeCloser, _ := middleware.GetStackValue(ctx, eventStreamWriterKey{}).(io.WriteCloser) + return writeCloser +} + +func setInputStreamWriter(ctx context.Context, writeCloser io.WriteCloser) context.Context { + return middleware.WithStackValue(ctx, eventStreamWriterKey{}, writeCloser) +} + +// InitializeStreamWriter is a Finalize middleware initializes an in-memory pipe for sending event stream messages +// via the HTTP request body. +type InitializeStreamWriter struct{} + +// AddInitializeStreamWriter adds the InitializeStreamWriter middleware to the provided stack. +func AddInitializeStreamWriter(stack *middleware.Stack) error { + return stack.Finalize.Add(&InitializeStreamWriter{}, middleware.After) +} + +// ID returns the identifier for the middleware. +func (i *InitializeStreamWriter) ID() string { + return "InitializeStreamWriter" +} + +// HandleFinalize is the middleware implementation. +func (i *InitializeStreamWriter) HandleFinalize( + ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler, +) ( + out middleware.FinalizeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, fmt.Errorf("unknown transport type: %T", in.Request) + } + + inputReader, inputWriter := io.Pipe() + defer func() { + if err == nil { + return + } + _ = inputReader.Close() + _ = inputWriter.Close() + }() + + request, err = request.SetStream(inputReader) + if err != nil { + return out, metadata, err + } + in.Request = request + + ctx = setInputStreamWriter(ctx, inputWriter) + + out, metadata, err = next.HandleFinalize(ctx, in) + if err != nil { + return out, metadata, err + } + + return out, metadata, err +} diff --git a/aws/protocol/eventstream/eventstreamapi/transport.go b/aws/protocol/eventstream/eventstreamapi/transport.go new file mode 100644 index 00000000000..cbf5a28621b --- /dev/null +++ b/aws/protocol/eventstream/eventstreamapi/transport.go @@ -0,0 +1,13 @@ +//go:build go1.18 +// +build go1.18 + +package eventstreamapi + +import smithyhttp "github.com/aws/smithy-go/transport/http" + +// ApplyHTTPTransportFixes applies fixes to the HTTP request for proper event stream functionality. +// +// This operation is a no-op for Go 1.18 and above. +func ApplyHTTPTransportFixes(r *smithyhttp.Request) error { + return nil +} diff --git a/aws/protocol/eventstream/eventstreamapi/transport_go117.go b/aws/protocol/eventstream/eventstreamapi/transport_go117.go new file mode 100644 index 00000000000..7d10ec2ebff --- /dev/null +++ b/aws/protocol/eventstream/eventstreamapi/transport_go117.go @@ -0,0 +1,12 @@ +//go:build !go1.18 +// +build !go1.18 + +package eventstreamapi + +import smithyhttp "github.com/aws/smithy-go/transport/http" + +// ApplyHTTPTransportFixes applies fixes to the HTTP request for proper event stream functionality. +func ApplyHTTPTransportFixes(r *smithyhttp.Request) error { + r.Header.Set("Expect", "100-continue") + return nil +} diff --git a/aws/protocol/eventstream/go.mod b/aws/protocol/eventstream/go.mod new file mode 100644 index 00000000000..c4322b3eacf --- /dev/null +++ b/aws/protocol/eventstream/go.mod @@ -0,0 +1,10 @@ +module github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream + +go 1.15 + +require ( + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f + github.com/google/go-cmp v0.5.6 // indirect +) + +replace github.com/aws/aws-sdk-go-v2 => ../../../ diff --git a/aws/protocol/eventstream/go.sum b/aws/protocol/eventstream/go.sum new file mode 100644 index 00000000000..5d24ebba6a9 --- /dev/null +++ b/aws/protocol/eventstream/go.sum @@ -0,0 +1,7 @@ +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/aws/protocol/eventstream/go_module_metadata.go b/aws/protocol/eventstream/go_module_metadata.go new file mode 100644 index 00000000000..0decfd65950 --- /dev/null +++ b/aws/protocol/eventstream/go_module_metadata.go @@ -0,0 +1,6 @@ +// Code generated by internal/repotools/cmd/updatemodulemeta DO NOT EDIT. + +package eventstream + +// goModuleVersion is the tagged release for this module +const goModuleVersion = "tip" diff --git a/aws/protocol/eventstream/header.go b/aws/protocol/eventstream/header.go new file mode 100644 index 00000000000..f6f8c5674ed --- /dev/null +++ b/aws/protocol/eventstream/header.go @@ -0,0 +1,175 @@ +package eventstream + +import ( + "encoding/binary" + "fmt" + "io" +) + +// Headers are a collection of EventStream header values. +type Headers []Header + +// Header is a single EventStream Key Value header pair. +type Header struct { + Name string + Value Value +} + +// Set associates the name with a value. If the header name already exists in +// the Headers the value will be replaced with the new one. +func (hs *Headers) Set(name string, value Value) { + var i int + for ; i < len(*hs); i++ { + if (*hs)[i].Name == name { + (*hs)[i].Value = value + return + } + } + + *hs = append(*hs, Header{ + Name: name, Value: value, + }) +} + +// Get returns the Value associated with the header. Nil is returned if the +// value does not exist. +func (hs Headers) Get(name string) Value { + for i := 0; i < len(hs); i++ { + if h := hs[i]; h.Name == name { + return h.Value + } + } + return nil +} + +// Del deletes the value in the Headers if it exists. +func (hs *Headers) Del(name string) { + for i := 0; i < len(*hs); i++ { + if (*hs)[i].Name == name { + copy((*hs)[i:], (*hs)[i+1:]) + (*hs) = (*hs)[:len(*hs)-1] + } + } +} + +// Clone returns a deep copy of the headers +func (hs Headers) Clone() Headers { + o := make(Headers, 0, len(hs)) + for _, h := range hs { + o.Set(h.Name, h.Value) + } + return o +} + +func decodeHeaders(r io.Reader) (Headers, error) { + hs := Headers{} + + for { + name, err := decodeHeaderName(r) + if err != nil { + if err == io.EOF { + // EOF while getting header name means no more headers + break + } + return nil, err + } + + value, err := decodeHeaderValue(r) + if err != nil { + return nil, err + } + + hs.Set(name, value) + } + + return hs, nil +} + +func decodeHeaderName(r io.Reader) (string, error) { + var n headerName + + var err error + n.Len, err = decodeUint8(r) + if err != nil { + return "", err + } + + name := n.Name[:n.Len] + if _, err := io.ReadFull(r, name); err != nil { + return "", err + } + + return string(name), nil +} + +func decodeHeaderValue(r io.Reader) (Value, error) { + var raw rawValue + + typ, err := decodeUint8(r) + if err != nil { + return nil, err + } + raw.Type = valueType(typ) + + var v Value + + switch raw.Type { + case trueValueType: + v = BoolValue(true) + case falseValueType: + v = BoolValue(false) + case int8ValueType: + var tv Int8Value + err = tv.decode(r) + v = tv + case int16ValueType: + var tv Int16Value + err = tv.decode(r) + v = tv + case int32ValueType: + var tv Int32Value + err = tv.decode(r) + v = tv + case int64ValueType: + var tv Int64Value + err = tv.decode(r) + v = tv + case bytesValueType: + var tv BytesValue + err = tv.decode(r) + v = tv + case stringValueType: + var tv StringValue + err = tv.decode(r) + v = tv + case timestampValueType: + var tv TimestampValue + err = tv.decode(r) + v = tv + case uuidValueType: + var tv UUIDValue + err = tv.decode(r) + v = tv + default: + panic(fmt.Sprintf("unknown value type %d", raw.Type)) + } + + // Error could be EOF, let caller deal with it + return v, err +} + +const maxHeaderNameLen = 255 + +type headerName struct { + Len uint8 + Name [maxHeaderNameLen]byte +} + +func (v headerName) encode(w io.Writer) error { + if err := binary.Write(w, binary.BigEndian, v.Len); err != nil { + return err + } + + _, err := w.Write(v.Name[:v.Len]) + return err +} diff --git a/aws/protocol/eventstream/header_test.go b/aws/protocol/eventstream/header_test.go new file mode 100644 index 00000000000..d28096e43da --- /dev/null +++ b/aws/protocol/eventstream/header_test.go @@ -0,0 +1,66 @@ +package eventstream + +import ( + "reflect" + "testing" + "time" +) + +func TestHeaders_Set(t *testing.T) { + expect := Headers{ + {Name: "ABC", Value: StringValue("123")}, + {Name: "EFG", Value: TimestampValue(time.Time{})}, + } + + var actual Headers + actual.Set("ABC", Int32Value(123)) + actual.Set("ABC", StringValue("123")) // replace case + actual.Set("EFG", TimestampValue(time.Time{})) + + if e, a := expect, actual; !reflect.DeepEqual(e, a) { + t.Errorf("expect %v headers, got %v", e, a) + } +} + +func TestHeaders_Get(t *testing.T) { + headers := Headers{ + {Name: "ABC", Value: StringValue("123")}, + {Name: "EFG", Value: TimestampValue(time.Time{})}, + } + + cases := []struct { + Name string + Value Value + }{ + {Name: "ABC", Value: StringValue("123")}, + {Name: "EFG", Value: TimestampValue(time.Time{})}, + {Name: "NotFound"}, + } + + for i, c := range cases { + actual := headers.Get(c.Name) + if e, a := c.Value, actual; !reflect.DeepEqual(e, a) { + t.Errorf("%d, expect %v value, got %v", i, e, a) + } + } +} + +func TestHeaders_Del(t *testing.T) { + headers := Headers{ + {Name: "ABC", Value: StringValue("123")}, + {Name: "EFG", Value: TimestampValue(time.Time{})}, + {Name: "HIJ", Value: StringValue("123")}, + {Name: "KML", Value: TimestampValue(time.Time{})}, + } + expectAfterDel := Headers{ + {Name: "EFG", Value: TimestampValue(time.Time{})}, + } + + headers.Del("HIJ") + headers.Del("ABC") + headers.Del("KML") + + if e, a := expectAfterDel, headers; !reflect.DeepEqual(e, a) { + t.Errorf("expect %v headers, got %v", e, a) + } +} diff --git a/aws/protocol/eventstream/header_value.go b/aws/protocol/eventstream/header_value.go new file mode 100644 index 00000000000..423b6bb26c1 --- /dev/null +++ b/aws/protocol/eventstream/header_value.go @@ -0,0 +1,521 @@ +package eventstream + +import ( + "encoding/base64" + "encoding/binary" + "encoding/hex" + "fmt" + "io" + "strconv" + "time" +) + +const maxHeaderValueLen = 1<<15 - 1 // 2^15-1 or 32KB - 1 + +// valueType is the EventStream header value type. +type valueType uint8 + +// Header value types +const ( + trueValueType valueType = iota + falseValueType + int8ValueType // Byte + int16ValueType // Short + int32ValueType // Integer + int64ValueType // Long + bytesValueType + stringValueType + timestampValueType + uuidValueType +) + +func (t valueType) String() string { + switch t { + case trueValueType: + return "bool" + case falseValueType: + return "bool" + case int8ValueType: + return "int8" + case int16ValueType: + return "int16" + case int32ValueType: + return "int32" + case int64ValueType: + return "int64" + case bytesValueType: + return "byte_array" + case stringValueType: + return "string" + case timestampValueType: + return "timestamp" + case uuidValueType: + return "uuid" + default: + return fmt.Sprintf("unknown value type %d", uint8(t)) + } +} + +type rawValue struct { + Type valueType + Len uint16 // Only set for variable length slices + Value []byte // byte representation of value, BigEndian encoding. +} + +func (r rawValue) encodeScalar(w io.Writer, v interface{}) error { + return binaryWriteFields(w, binary.BigEndian, + r.Type, + v, + ) +} + +func (r rawValue) encodeFixedSlice(w io.Writer, v []byte) error { + binary.Write(w, binary.BigEndian, r.Type) + + _, err := w.Write(v) + return err +} + +func (r rawValue) encodeBytes(w io.Writer, v []byte) error { + if len(v) > maxHeaderValueLen { + return LengthError{ + Part: "header value", + Want: maxHeaderValueLen, Have: len(v), + Value: v, + } + } + r.Len = uint16(len(v)) + + err := binaryWriteFields(w, binary.BigEndian, + r.Type, + r.Len, + ) + if err != nil { + return err + } + + _, err = w.Write(v) + return err +} + +func (r rawValue) encodeString(w io.Writer, v string) error { + if len(v) > maxHeaderValueLen { + return LengthError{ + Part: "header value", + Want: maxHeaderValueLen, Have: len(v), + Value: v, + } + } + r.Len = uint16(len(v)) + + type stringWriter interface { + WriteString(string) (int, error) + } + + err := binaryWriteFields(w, binary.BigEndian, + r.Type, + r.Len, + ) + if err != nil { + return err + } + + if sw, ok := w.(stringWriter); ok { + _, err = sw.WriteString(v) + } else { + _, err = w.Write([]byte(v)) + } + + return err +} + +func decodeFixedBytesValue(r io.Reader, buf []byte) error { + _, err := io.ReadFull(r, buf) + return err +} + +func decodeBytesValue(r io.Reader) ([]byte, error) { + var raw rawValue + var err error + raw.Len, err = decodeUint16(r) + if err != nil { + return nil, err + } + + buf := make([]byte, raw.Len) + _, err = io.ReadFull(r, buf) + if err != nil { + return nil, err + } + + return buf, nil +} + +func decodeStringValue(r io.Reader) (string, error) { + v, err := decodeBytesValue(r) + return string(v), err +} + +// Value represents the abstract header value. +type Value interface { + Get() interface{} + String() string + valueType() valueType + encode(io.Writer) error +} + +// An BoolValue provides eventstream encoding, and representation +// of a Go bool value. +type BoolValue bool + +// Get returns the underlying type +func (v BoolValue) Get() interface{} { + return bool(v) +} + +// valueType returns the EventStream header value type value. +func (v BoolValue) valueType() valueType { + if v { + return trueValueType + } + return falseValueType +} + +func (v BoolValue) String() string { + return strconv.FormatBool(bool(v)) +} + +// encode encodes the BoolValue into an eventstream binary value +// representation. +func (v BoolValue) encode(w io.Writer) error { + return binary.Write(w, binary.BigEndian, v.valueType()) +} + +// An Int8Value provides eventstream encoding, and representation of a Go +// int8 value. +type Int8Value int8 + +// Get returns the underlying value. +func (v Int8Value) Get() interface{} { + return int8(v) +} + +// valueType returns the EventStream header value type value. +func (Int8Value) valueType() valueType { + return int8ValueType +} + +func (v Int8Value) String() string { + return fmt.Sprintf("0x%02x", int8(v)) +} + +// encode encodes the Int8Value into an eventstream binary value +// representation. +func (v Int8Value) encode(w io.Writer) error { + raw := rawValue{ + Type: v.valueType(), + } + + return raw.encodeScalar(w, v) +} + +func (v *Int8Value) decode(r io.Reader) error { + n, err := decodeUint8(r) + if err != nil { + return err + } + + *v = Int8Value(n) + return nil +} + +// An Int16Value provides eventstream encoding, and representation of a Go +// int16 value. +type Int16Value int16 + +// Get returns the underlying value. +func (v Int16Value) Get() interface{} { + return int16(v) +} + +// valueType returns the EventStream header value type value. +func (Int16Value) valueType() valueType { + return int16ValueType +} + +func (v Int16Value) String() string { + return fmt.Sprintf("0x%04x", int16(v)) +} + +// encode encodes the Int16Value into an eventstream binary value +// representation. +func (v Int16Value) encode(w io.Writer) error { + raw := rawValue{ + Type: v.valueType(), + } + return raw.encodeScalar(w, v) +} + +func (v *Int16Value) decode(r io.Reader) error { + n, err := decodeUint16(r) + if err != nil { + return err + } + + *v = Int16Value(n) + return nil +} + +// An Int32Value provides eventstream encoding, and representation of a Go +// int32 value. +type Int32Value int32 + +// Get returns the underlying value. +func (v Int32Value) Get() interface{} { + return int32(v) +} + +// valueType returns the EventStream header value type value. +func (Int32Value) valueType() valueType { + return int32ValueType +} + +func (v Int32Value) String() string { + return fmt.Sprintf("0x%08x", int32(v)) +} + +// encode encodes the Int32Value into an eventstream binary value +// representation. +func (v Int32Value) encode(w io.Writer) error { + raw := rawValue{ + Type: v.valueType(), + } + return raw.encodeScalar(w, v) +} + +func (v *Int32Value) decode(r io.Reader) error { + n, err := decodeUint32(r) + if err != nil { + return err + } + + *v = Int32Value(n) + return nil +} + +// An Int64Value provides eventstream encoding, and representation of a Go +// int64 value. +type Int64Value int64 + +// Get returns the underlying value. +func (v Int64Value) Get() interface{} { + return int64(v) +} + +// valueType returns the EventStream header value type value. +func (Int64Value) valueType() valueType { + return int64ValueType +} + +func (v Int64Value) String() string { + return fmt.Sprintf("0x%016x", int64(v)) +} + +// encode encodes the Int64Value into an eventstream binary value +// representation. +func (v Int64Value) encode(w io.Writer) error { + raw := rawValue{ + Type: v.valueType(), + } + return raw.encodeScalar(w, v) +} + +func (v *Int64Value) decode(r io.Reader) error { + n, err := decodeUint64(r) + if err != nil { + return err + } + + *v = Int64Value(n) + return nil +} + +// An BytesValue provides eventstream encoding, and representation of a Go +// byte slice. +type BytesValue []byte + +// Get returns the underlying value. +func (v BytesValue) Get() interface{} { + return []byte(v) +} + +// valueType returns the EventStream header value type value. +func (BytesValue) valueType() valueType { + return bytesValueType +} + +func (v BytesValue) String() string { + return base64.StdEncoding.EncodeToString([]byte(v)) +} + +// encode encodes the BytesValue into an eventstream binary value +// representation. +func (v BytesValue) encode(w io.Writer) error { + raw := rawValue{ + Type: v.valueType(), + } + + return raw.encodeBytes(w, []byte(v)) +} + +func (v *BytesValue) decode(r io.Reader) error { + buf, err := decodeBytesValue(r) + if err != nil { + return err + } + + *v = BytesValue(buf) + return nil +} + +// An StringValue provides eventstream encoding, and representation of a Go +// string. +type StringValue string + +// Get returns the underlying value. +func (v StringValue) Get() interface{} { + return string(v) +} + +// valueType returns the EventStream header value type value. +func (StringValue) valueType() valueType { + return stringValueType +} + +func (v StringValue) String() string { + return string(v) +} + +// encode encodes the StringValue into an eventstream binary value +// representation. +func (v StringValue) encode(w io.Writer) error { + raw := rawValue{ + Type: v.valueType(), + } + + return raw.encodeString(w, string(v)) +} + +func (v *StringValue) decode(r io.Reader) error { + s, err := decodeStringValue(r) + if err != nil { + return err + } + + *v = StringValue(s) + return nil +} + +// An TimestampValue provides eventstream encoding, and representation of a Go +// timestamp. +type TimestampValue time.Time + +// Get returns the underlying value. +func (v TimestampValue) Get() interface{} { + return time.Time(v) +} + +// valueType returns the EventStream header value type value. +func (TimestampValue) valueType() valueType { + return timestampValueType +} + +func (v TimestampValue) epochMilli() int64 { + nano := time.Time(v).UnixNano() + msec := nano / int64(time.Millisecond) + return msec +} + +func (v TimestampValue) String() string { + msec := v.epochMilli() + return strconv.FormatInt(msec, 10) +} + +// encode encodes the TimestampValue into an eventstream binary value +// representation. +func (v TimestampValue) encode(w io.Writer) error { + raw := rawValue{ + Type: v.valueType(), + } + + msec := v.epochMilli() + return raw.encodeScalar(w, msec) +} + +func (v *TimestampValue) decode(r io.Reader) error { + n, err := decodeUint64(r) + if err != nil { + return err + } + + *v = TimestampValue(timeFromEpochMilli(int64(n))) + return nil +} + +// MarshalJSON implements the json.Marshaler interface +func (v TimestampValue) MarshalJSON() ([]byte, error) { + return []byte(v.String()), nil +} + +func timeFromEpochMilli(t int64) time.Time { + secs := t / 1e3 + msec := t % 1e3 + return time.Unix(secs, msec*int64(time.Millisecond)).UTC() +} + +// An UUIDValue provides eventstream encoding, and representation of a UUID +// value. +type UUIDValue [16]byte + +// Get returns the underlying value. +func (v UUIDValue) Get() interface{} { + return v[:] +} + +// valueType returns the EventStream header value type value. +func (UUIDValue) valueType() valueType { + return uuidValueType +} + +func (v UUIDValue) String() string { + var scratch [36]byte + + const dash = '-' + + hex.Encode(scratch[:8], v[0:4]) + scratch[8] = dash + hex.Encode(scratch[9:13], v[4:6]) + scratch[13] = dash + hex.Encode(scratch[14:18], v[6:8]) + scratch[18] = dash + hex.Encode(scratch[19:23], v[8:10]) + scratch[23] = dash + hex.Encode(scratch[24:], v[10:]) + + return string(scratch[:]) +} + +// encode encodes the UUIDValue into an eventstream binary value +// representation. +func (v UUIDValue) encode(w io.Writer) error { + raw := rawValue{ + Type: v.valueType(), + } + + return raw.encodeFixedSlice(w, v[:]) +} + +func (v *UUIDValue) decode(r io.Reader) error { + tv := (*v)[:] + return decodeFixedBytesValue(r, tv) +} diff --git a/aws/protocol/eventstream/header_value_test.go b/aws/protocol/eventstream/header_value_test.go new file mode 100644 index 00000000000..6c340a033d4 --- /dev/null +++ b/aws/protocol/eventstream/header_value_test.go @@ -0,0 +1,203 @@ +package eventstream + +import ( + "bytes" + "encoding/binary" + "io" + "reflect" + "testing" + "time" +) + +func binWrite(v interface{}) []byte { + var w bytes.Buffer + binary.Write(&w, binary.BigEndian, v) + return w.Bytes() +} + +var testValueEncodingCases = []struct { + Val Value + Expect []byte + Decode func(io.Reader) (Value, error) +}{ + { + BoolValue(true), + []byte{byte(trueValueType)}, + nil, + }, + { + BoolValue(false), + []byte{byte(falseValueType)}, + nil, + }, + { + Int8Value(0x0f), + []byte{byte(int8ValueType), 0x0f}, + func(r io.Reader) (Value, error) { + var v Int8Value + err := v.decode(r) + return v, err + }, + }, + { + Int16Value(0x0f), + append([]byte{byte(int16ValueType)}, binWrite(int16(0x0f))...), + func(r io.Reader) (Value, error) { + var v Int16Value + err := v.decode(r) + return v, err + }, + }, + { + Int32Value(0x0f), + append([]byte{byte(int32ValueType)}, binWrite(int32(0x0f))...), + func(r io.Reader) (Value, error) { + var v Int32Value + err := v.decode(r) + return v, err + }, + }, + { + Int64Value(0x0f), + append([]byte{byte(int64ValueType)}, binWrite(int64(0x0f))...), + func(r io.Reader) (Value, error) { + var v Int64Value + err := v.decode(r) + return v, err + }, + }, + { + BytesValue([]byte{0, 1, 2, 3}), + []byte{byte(bytesValueType), 0x00, 0x04, 0, 1, 2, 3}, + func(r io.Reader) (Value, error) { + var v BytesValue + err := v.decode(r) + return v, err + }, + }, + { + StringValue("abc123"), + append([]byte{byte(stringValueType), 0, 6}, []byte("abc123")...), + func(r io.Reader) (Value, error) { + var v StringValue + err := v.decode(r) + return v, err + }, + }, + { + TimestampValue( + time.Date(2014, 04, 04, 0, 1, 0, 0, time.FixedZone("PDT", -7)), + ), + append([]byte{byte(timestampValueType)}, binWrite(int64(1396569667000))...), + func(r io.Reader) (Value, error) { + var v TimestampValue + err := v.decode(r) + return v, err + }, + }, + { + UUIDValue( + [16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf}, + ), + []byte{byte(uuidValueType), 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf}, + func(r io.Reader) (Value, error) { + var v UUIDValue + err := v.decode(r) + return v, err + }, + }, +} + +func TestValue_MarshalValue(t *testing.T) { + for i, c := range testValueEncodingCases { + var w bytes.Buffer + + if err := c.Val.encode(&w); err != nil { + t.Fatalf("%d, expect no error, got %v", i, err) + } + + if e, a := c.Expect, w.Bytes(); !reflect.DeepEqual(e, a) { + t.Errorf("%d, expect %v, got %v", i, e, a) + } + } +} + +func TestHeader_DecodeValues(t *testing.T) { + for i, c := range testValueEncodingCases { + r := bytes.NewBuffer(c.Expect) + v, err := decodeHeaderValue(r) + if err != nil { + t.Fatalf("%d, expect no error, got %v", i, err) + } + + switch tv := v.(type) { + case TimestampValue: + exp := time.Time(c.Val.(TimestampValue)) + if e, a := exp, time.Time(tv); !e.Equal(a) { + t.Errorf("%d, expect %v, got %v", i, e, a) + } + default: + if e, a := c.Val, v; !reflect.DeepEqual(e, a) { + t.Errorf("%d, expect %v, got %v", i, e, a) + } + } + } +} + +func TestValue_Decode(t *testing.T) { + for i, c := range testValueEncodingCases { + if c.Decode == nil { + continue + } + + r := bytes.NewBuffer(c.Expect) + r.ReadByte() // strip off Type field + + v, err := c.Decode(r) + if err != nil { + t.Fatalf("%d, expect no error, got %v", i, err) + } + + switch tv := v.(type) { + case TimestampValue: + exp := time.Time(c.Val.(TimestampValue)) + if e, a := exp, time.Time(tv); !e.Equal(a) { + t.Errorf("%d, expect %v, got %v", i, e, a) + } + default: + if e, a := c.Val, v; !reflect.DeepEqual(e, a) { + t.Errorf("%d, expect %v, got %v", i, e, a) + } + } + } +} + +func TestValue_String(t *testing.T) { + cases := []struct { + Val Value + Expect string + }{ + {BoolValue(true), "true"}, + {BoolValue(false), "false"}, + {Int8Value(0x0f), "0x0f"}, + {Int16Value(0x0f), "0x000f"}, + {Int32Value(0x0f), "0x0000000f"}, + {Int64Value(0x0f), "0x000000000000000f"}, + {BytesValue([]byte{0, 1, 2, 3}), "AAECAw=="}, + {StringValue("abc123"), "abc123"}, + {TimestampValue( + time.Date(2014, 04, 04, 0, 1, 0, 0, time.FixedZone("PDT", -7)), + ), + "1396569667000", + }, + {UUIDValue([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf}), + "00010203-0405-0607-0809-0a0b0c0d0e0f", + }, + } + + for i, c := range cases { + if e, a := c.Expect, c.Val.String(); e != a { + t.Errorf("%d, expect %v, got %v", i, e, a) + } + } +} diff --git a/aws/protocol/eventstream/message.go b/aws/protocol/eventstream/message.go new file mode 100644 index 00000000000..f7427da039e --- /dev/null +++ b/aws/protocol/eventstream/message.go @@ -0,0 +1,117 @@ +package eventstream + +import ( + "bytes" + "encoding/binary" + "hash/crc32" +) + +const preludeLen = 8 +const preludeCRCLen = 4 +const msgCRCLen = 4 +const minMsgLen = preludeLen + preludeCRCLen + msgCRCLen +const maxPayloadLen = 1024 * 1024 * 16 // 16MB +const maxHeadersLen = 1024 * 128 // 128KB +const maxMsgLen = minMsgLen + maxHeadersLen + maxPayloadLen + +var crc32IEEETable = crc32.MakeTable(crc32.IEEE) + +// A Message provides the eventstream message representation. +type Message struct { + Headers Headers + Payload []byte +} + +func (m *Message) rawMessage() (rawMessage, error) { + var raw rawMessage + + if len(m.Headers) > 0 { + var headers bytes.Buffer + if err := EncodeHeaders(&headers, m.Headers); err != nil { + return rawMessage{}, err + } + raw.Headers = headers.Bytes() + raw.HeadersLen = uint32(len(raw.Headers)) + } + + raw.Length = raw.HeadersLen + uint32(len(m.Payload)) + minMsgLen + + hash := crc32.New(crc32IEEETable) + binaryWriteFields(hash, binary.BigEndian, raw.Length, raw.HeadersLen) + raw.PreludeCRC = hash.Sum32() + + binaryWriteFields(hash, binary.BigEndian, raw.PreludeCRC) + + if raw.HeadersLen > 0 { + hash.Write(raw.Headers) + } + + // Read payload bytes and update hash for it as well. + if len(m.Payload) > 0 { + raw.Payload = m.Payload + hash.Write(raw.Payload) + } + + raw.CRC = hash.Sum32() + + return raw, nil +} + +// Clone returns a deep copy of the message. +func (m Message) Clone() Message { + var payload []byte + if m.Payload != nil { + payload = make([]byte, len(m.Payload)) + copy(payload, m.Payload) + } + + return Message{ + Headers: m.Headers.Clone(), + Payload: payload, + } +} + +type messagePrelude struct { + Length uint32 + HeadersLen uint32 + PreludeCRC uint32 +} + +func (p messagePrelude) PayloadLen() uint32 { + return p.Length - p.HeadersLen - minMsgLen +} + +func (p messagePrelude) ValidateLens() error { + if p.Length == 0 || p.Length > maxMsgLen { + return LengthError{ + Part: "message prelude", + Want: maxMsgLen, + Have: int(p.Length), + } + } + if p.HeadersLen > maxHeadersLen { + return LengthError{ + Part: "message headers", + Want: maxHeadersLen, + Have: int(p.HeadersLen), + } + } + if payloadLen := p.PayloadLen(); payloadLen > maxPayloadLen { + return LengthError{ + Part: "message payload", + Want: maxPayloadLen, + Have: int(payloadLen), + } + } + + return nil +} + +type rawMessage struct { + messagePrelude + + Headers []byte + Payload []byte + + CRC uint32 +} diff --git a/aws/protocol/eventstream/shared_test.go b/aws/protocol/eventstream/shared_test.go new file mode 100644 index 00000000000..09e0f963b66 --- /dev/null +++ b/aws/protocol/eventstream/shared_test.go @@ -0,0 +1,152 @@ +package eventstream + +import ( + "bufio" + "bytes" + "encoding/json" + "fmt" + "io/ioutil" + "path/filepath" + "testing" +) + +type testCase struct { + Name string + Encoded []byte + Decoded decodedMessage +} + +type testErrorCase struct { + Name string + Encoded []byte + Err string +} + +type rawTestCase struct { + Name string + Encoded, Decoded []byte +} + +func readRawTestCases(root, class string) (map[string]rawTestCase, error) { + encoded, err := readTests(filepath.Join(root, "encoded", class)) + if err != nil { + return nil, err + } + + decoded, err := readTests(filepath.Join(root, "decoded", class)) + if err != nil { + return nil, err + } + + if len(encoded) == 0 { + return nil, fmt.Errorf("expect encoded cases, found none") + } + + if len(encoded) != len(decoded) { + return nil, fmt.Errorf("encoded and decoded sets different") + } + + rawCases := map[string]rawTestCase{} + for name, encData := range encoded { + decData, ok := decoded[name] + if !ok { + return nil, fmt.Errorf("encoded %q case not found in decoded set", name) + } + + rawCases[name] = rawTestCase{ + Name: name, + Encoded: encData, + Decoded: decData, + } + } + + return rawCases, nil +} + +func readNegativeTests(root string) ([]testErrorCase, error) { + rawCases, err := readRawTestCases(root, "negative") + if err != nil { + return nil, err + } + + cases := make([]testErrorCase, 0, len(rawCases)) + for name, rawCase := range rawCases { + cases = append(cases, testErrorCase{ + Name: name, + Encoded: rawCase.Encoded, + Err: string(rawCase.Decoded), + }) + } + + return cases, nil +} + +func readPositiveTests(root string) ([]testCase, error) { + rawCases, err := readRawTestCases(root, "positive") + if err != nil { + return nil, err + } + + cases := make([]testCase, 0, len(rawCases)) + for name, rawCase := range rawCases { + + var dec decodedMessage + if err := json.Unmarshal(rawCase.Decoded, &dec); err != nil { + return nil, fmt.Errorf("failed to decode %q, %v", name, err) + } + + cases = append(cases, testCase{ + Name: name, + Encoded: rawCase.Encoded, + Decoded: dec, + }) + } + + return cases, nil +} + +func readTests(root string) (map[string][]byte, error) { + items, err := ioutil.ReadDir(root) + if err != nil { + return nil, fmt.Errorf("failed to read test suite %q dirs, %v", root, err) + } + + cases := map[string][]byte{} + for _, item := range items { + if item.IsDir() { + continue + } + + filename := filepath.Join(root, item.Name()) + data, err := ioutil.ReadFile(filename) + if err != nil { + return nil, fmt.Errorf("failed to read test_data file %q, %v", filename, err) + } + + cases[item.Name()] = data + } + + return cases, nil +} + +func compareLines(t *testing.T, a, b []byte) bool { + as := bufio.NewScanner(bytes.NewBuffer(a)) + bs := bufio.NewScanner(bytes.NewBuffer(b)) + + var failed bool + for { + if ab, bb := as.Scan(), bs.Scan(); ab != bb { + t.Errorf("expect a & b to have same number of lines") + return false + } else if !ab { + break + } + + if v1, v2 := as.Text(), bs.Text(); v1 != v2 { + t.Errorf("expect %q to be %q", v1, v2) + failed = true + } + } + + return !failed +} diff --git a/aws/protocol/eventstream/testdata/decoded/negative/corrupted_header_len b/aws/protocol/eventstream/testdata/decoded/negative/corrupted_header_len new file mode 100644 index 00000000000..73e4d6f1f13 --- /dev/null +++ b/aws/protocol/eventstream/testdata/decoded/negative/corrupted_header_len @@ -0,0 +1 @@ +Prelude checksum mismatch \ No newline at end of file diff --git a/aws/protocol/eventstream/testdata/decoded/negative/corrupted_headers b/aws/protocol/eventstream/testdata/decoded/negative/corrupted_headers new file mode 100644 index 00000000000..f56e5c887b5 --- /dev/null +++ b/aws/protocol/eventstream/testdata/decoded/negative/corrupted_headers @@ -0,0 +1 @@ +Message checksum mismatch \ No newline at end of file diff --git a/aws/protocol/eventstream/testdata/decoded/negative/corrupted_length b/aws/protocol/eventstream/testdata/decoded/negative/corrupted_length new file mode 100644 index 00000000000..73e4d6f1f13 --- /dev/null +++ b/aws/protocol/eventstream/testdata/decoded/negative/corrupted_length @@ -0,0 +1 @@ +Prelude checksum mismatch \ No newline at end of file diff --git a/aws/protocol/eventstream/testdata/decoded/negative/corrupted_payload b/aws/protocol/eventstream/testdata/decoded/negative/corrupted_payload new file mode 100644 index 00000000000..f56e5c887b5 --- /dev/null +++ b/aws/protocol/eventstream/testdata/decoded/negative/corrupted_payload @@ -0,0 +1 @@ +Message checksum mismatch \ No newline at end of file diff --git a/aws/protocol/eventstream/testdata/decoded/positive/all_headers b/aws/protocol/eventstream/testdata/decoded/positive/all_headers new file mode 100644 index 00000000000..fd8f96b8860 --- /dev/null +++ b/aws/protocol/eventstream/testdata/decoded/positive/all_headers @@ -0,0 +1,58 @@ +{ + "total_length": 204, + "headers_length": 175, + "prelude_crc": 263087306, + "headers": [ { + "name": "event-type", + "type": 4, + "value": 40972 + }, + { + "name": "content-type", + "type": 7, + "value": "YXBwbGljYXRpb24vanNvbg==" + }, + { + "name": "bool false", + "type": 1, + "value": false + }, + { + "name": "bool true", + "type": 0, + "value": true + }, + { + "name": "byte", + "type": 2, + "value": -49 + }, + { + "name": "byte buf", + "type": 6, + "value": "SSdtIGEgbGl0dGxlIHRlYXBvdCE=" + }, + { + "name": "timestamp", + "type": 8, + "value": 8675309 + }, + { + "name": "int16", + "type": 3, + "value": 42 + }, + { + "name": "int64", + "type": 5, + "value": 42424242 + }, + { + "name": "uuid", + "type": 9, + "value": "AQIDBAUGBwgJCgsMDQ4PEA==" + } + ], + "payload": "eydmb28nOidiYXInfQ==", + "message_crc": -1415188212 +} diff --git a/aws/protocol/eventstream/testdata/decoded/positive/empty_message b/aws/protocol/eventstream/testdata/decoded/positive/empty_message new file mode 100644 index 00000000000..1d35df8e609 --- /dev/null +++ b/aws/protocol/eventstream/testdata/decoded/positive/empty_message @@ -0,0 +1,8 @@ +{ + "total_length": 16, + "headers_length": 0, + "prelude_crc": 96618731, + "headers": [ ], + "payload": "", + "message_crc": 2107164927 +} diff --git a/aws/protocol/eventstream/testdata/decoded/positive/int32_header b/aws/protocol/eventstream/testdata/decoded/positive/int32_header new file mode 100644 index 00000000000..852a0db6e36 --- /dev/null +++ b/aws/protocol/eventstream/testdata/decoded/positive/int32_header @@ -0,0 +1,13 @@ +{ + "total_length": 45, + "headers_length": 16, + "prelude_crc": 1103373496, + "headers": [ { + "name": "event-type", + "type": 4, + "value": 40972 + } + ], + "payload": "eydmb28nOidiYXInfQ==", + "message_crc": 921993376 +} diff --git a/aws/protocol/eventstream/testdata/decoded/positive/payload_no_headers b/aws/protocol/eventstream/testdata/decoded/positive/payload_no_headers new file mode 100644 index 00000000000..1c96631caf5 --- /dev/null +++ b/aws/protocol/eventstream/testdata/decoded/positive/payload_no_headers @@ -0,0 +1,8 @@ +{ + "total_length": 29, + "headers_length": 0, + "prelude_crc": -44921766, + "headers": [ ], + "payload": "eydmb28nOidiYXInfQ==", + "message_crc": -1016776394 +} diff --git a/aws/protocol/eventstream/testdata/decoded/positive/payload_one_str_header b/aws/protocol/eventstream/testdata/decoded/positive/payload_one_str_header new file mode 100644 index 00000000000..e3bfd312fda --- /dev/null +++ b/aws/protocol/eventstream/testdata/decoded/positive/payload_one_str_header @@ -0,0 +1,13 @@ +{ + "total_length": 61, + "headers_length": 32, + "prelude_crc": 134054806, + "headers": [ { + "name": "content-type", + "type": 7, + "value": "YXBwbGljYXRpb24vanNvbg==" + } + ], + "payload": "eydmb28nOidiYXInfQ==", + "message_crc": -1919153999 +} diff --git a/aws/protocol/eventstream/testdata/encoded/negative/corrupted_header_len b/aws/protocol/eventstream/testdata/encoded/negative/corrupted_header_len new file mode 100644 index 0000000000000000000000000000000000000000..474929c83bea787b066204a8f83b3dd34a80ca29 GIT binary patch literal 61 zcmZQzV6bIiU{GZL+dPdYIX|x?HLpasq_QBDok1Y6pdcqRIk6-&KTkiaI6tpiJuN?9 Q-AX+vu}HnPcMiu!05M7wF8}}l literal 0 HcmV?d00001 diff --git a/aws/protocol/eventstream/testdata/encoded/negative/corrupted_headers b/aws/protocol/eventstream/testdata/encoded/negative/corrupted_headers new file mode 100644 index 0000000000000000000000000000000000000000..802a2276c15890de8b9f878eeae079f829145a55 GIT binary patch literal 61 zcmZQzV6bIiU{GNH+dPdYIX|x?HLpasq_QBDok1Y6pdcqRIk6-&KTkiaI6tpCF)cq| Q-AX+vu}HnPcMiu!05r4|XaE2J literal 0 HcmV?d00001 diff --git a/aws/protocol/eventstream/testdata/encoded/negative/corrupted_length b/aws/protocol/eventstream/testdata/encoded/negative/corrupted_length new file mode 100644 index 0000000000000000000000000000000000000000..4e55a3196fc0ad1b6589657c09de3d01071d5729 GIT binary patch literal 61 zcmZQzV6bCgU{GNH+dPdYIX|x?HLpasq_QBDok1Y6pdcqRIk6-&KTkiaI6tpiJuN?9 Q-AX+vu}HnPcMiu!05MJ!F8}}l literal 0 HcmV?d00001 diff --git a/aws/protocol/eventstream/testdata/encoded/negative/corrupted_payload b/aws/protocol/eventstream/testdata/encoded/negative/corrupted_payload new file mode 100644 index 0000000000000000000000000000000000000000..2ee9ef3ce1ac8cc3b8afaf579bdb6b38fcaf097e GIT binary patch literal 29 icmZQzV31`1g1Pd-3>a~YcEzJO6$OsVt literal 0 HcmV?d00001 diff --git a/aws/protocol/eventstream/testdata/encoded/positive/all_headers b/aws/protocol/eventstream/testdata/encoded/positive/all_headers new file mode 100644 index 0000000000000000000000000000000000000000..b986af1489af89dfbb32e59b274c37b307f3ba70 GIT binary patch literal 204 zcmZQzU^v6Tz_6ZwUCJr0)UwpP65W!@f>ag;h6Ox4$@zIDFcEeJfy9D>oXq6JlFa-( z{jB2rJg%ht{2Ya}#GK+(Mouuhq^LBNfhDQ3B$eqr2Z&NgDotZ!5b;#cRY+9G$t)?! zNmVFGO)SVSQRFPi%uOvWNz5(a06Ktyp(Xw;Yi3@Fp&2uS7KmYH!U_^*Y7gJUQd*js n!pX?Q%)-jX&cVsW&BM#bFHo(XmY=U~rJj^nq+Yvv=|>&_SX(=j literal 0 HcmV?d00001 diff --git a/aws/protocol/eventstream/testdata/encoded/positive/empty_message b/aws/protocol/eventstream/testdata/encoded/positive/empty_message new file mode 100644 index 0000000000000000000000000000000000000000..663632857e51765759693d08ec460cea9e60a44d GIT binary patch literal 16 WcmZQzU=Uyc0@gzwuWM(V_zwUQ=mh5g literal 0 HcmV?d00001 diff --git a/aws/protocol/eventstream/testdata/encoded/positive/int32_header b/aws/protocol/eventstream/testdata/encoded/positive/int32_header new file mode 100644 index 0000000000000000000000000000000000000000..4e13b503dbb54f329ed22126b6c35961bd820ba6 GIT binary patch literal 45 zcmZQzV9;e?U=VOTqOyZ4wJbHSM7N}}AeDuIVF6FIdRl(Ix|MoTVv%~S*_Va|0RGes AdjJ3c literal 0 HcmV?d00001 diff --git a/aws/protocol/eventstream/testdata/encoded/positive/payload_no_headers b/aws/protocol/eventstream/testdata/encoded/positive/payload_no_headers new file mode 100644 index 0000000000000000000000000000000000000000..47733a111893568d229a73bfef3be6ba93db48aa GIT binary patch literal 29 icmZQzV31`1g1Pd-3>a~YcEzJO8=m;?Y literal 0 HcmV?d00001 diff --git a/aws/protocol/eventstream/testdata/encoded/positive/payload_one_str_header b/aws/protocol/eventstream/testdata/encoded/positive/payload_one_str_header new file mode 100644 index 0000000000000000000000000000000000000000..d4abaa7f8b4eb25c7683940c779c314902aae08e GIT binary patch literal 61 zcmZQzV6bIiU{GNH+dPdYIX|x?HLpasq_QBDok1Y6pdcqRIk6-&KTkiaI6tpiJuN?9 Q-AX+vu}HnPcMiu!05KF4E&u=k literal 0 HcmV?d00001 diff --git a/aws/signer/internal/v4/const.go b/aws/signer/internal/v4/const.go index 89a76e2eaab..a23cb003bf7 100644 --- a/aws/signer/internal/v4/const.go +++ b/aws/signer/internal/v4/const.go @@ -1,5 +1,6 @@ package v4 +// Signature Version 4 (SigV4) Constants const ( // EmptyStringSHA256 is the hex encoded sha256 value of an empty string EmptyStringSHA256 = `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855` @@ -33,4 +34,7 @@ const ( // ContentSHAKey is the SHA256 of request body ContentSHAKey = "X-Amz-Content-Sha256" + + // StreamingEventsPayload indicates that the request payload body is a signed event stream. + StreamingEventsPayload = "STREAMING-AWS4-HMAC-SHA256-EVENTS" ) diff --git a/aws/signer/internal/v4/scope.go b/aws/signer/internal/v4/scope.go new file mode 100644 index 00000000000..fc7887909e2 --- /dev/null +++ b/aws/signer/internal/v4/scope.go @@ -0,0 +1,13 @@ +package v4 + +import "strings" + +// BuildCredentialScope builds the Signature Version 4 (SigV4) signing scope +func BuildCredentialScope(signingTime SigningTime, region, service string) string { + return strings.Join([]string{ + signingTime.ShortTimeFormat(), + region, + service, + "aws4_request", + }, "/") +} diff --git a/aws/signer/v4/middleware.go b/aws/signer/v4/middleware.go index 0c619bea45a..3f3bcf456a7 100644 --- a/aws/signer/v4/middleware.go +++ b/aws/signer/v4/middleware.go @@ -6,6 +6,7 @@ import ( "encoding/hex" "fmt" "io" + "net/http" "strings" "github.com/aws/aws-sdk-go-v2/aws" @@ -309,9 +310,63 @@ func (s *SignHTTPRequestMiddleware) HandleFinalize(ctx context.Context, in middl return out, metadata, &SigningError{Err: fmt.Errorf("failed to sign http request, %w", err)} } + ctx = awsmiddleware.SetSigningCredentials(ctx, credentials) + return next.HandleFinalize(ctx, in) } +type streamingEventsPayload struct{} + +// AddStreamingEventsPayload adds the streamingEventsPayload middleware to the stack. +func AddStreamingEventsPayload(stack *middleware.Stack) error { + return stack.Build.Add(&streamingEventsPayload{}, middleware.After) +} + +func (s *streamingEventsPayload) ID() string { + return computePayloadHashMiddlewareID +} + +func (s *streamingEventsPayload) HandleBuild( + ctx context.Context, in middleware.BuildInput, next middleware.BuildHandler, +) ( + out middleware.BuildOutput, metadata middleware.Metadata, err error, +) { + contentSHA := GetPayloadHash(ctx) + if len(contentSHA) == 0 { + contentSHA = v4Internal.StreamingEventsPayload + } + + ctx = SetPayloadHash(ctx, contentSHA) + + return next.HandleBuild(ctx, in) +} + +// GetSignedRequestSignature attempts to extract the signature of the request. +// Returning an error if the request is unsigned, or unable to extract the +// signature. +func GetSignedRequestSignature(r *http.Request) ([]byte, error) { + const authHeaderSignatureElem = "Signature=" + + if auth := r.Header.Get(authorizationHeader); len(auth) != 0 { + ps := strings.Split(auth, ", ") + for _, p := range ps { + if idx := strings.Index(p, authHeaderSignatureElem); idx >= 0 { + sig := p[len(authHeaderSignatureElem):] + if len(sig) == 0 { + return nil, fmt.Errorf("invalid request signature authorization header") + } + return hex.DecodeString(sig) + } + } + } + + if sig := r.URL.Query().Get("X-Amz-Signature"); len(sig) != 0 { + return hex.DecodeString(sig) + } + + return nil, fmt.Errorf("request not signed") +} + func haveCredentialProvider(p aws.CredentialsProvider) bool { if p == nil { return false diff --git a/aws/signer/v4/stream.go b/aws/signer/v4/stream.go new file mode 100644 index 00000000000..66aa2bd6ab0 --- /dev/null +++ b/aws/signer/v4/stream.go @@ -0,0 +1,86 @@ +package v4 + +import ( + "context" + "crypto/sha256" + "encoding/hex" + "github.com/aws/aws-sdk-go-v2/aws" + v4Internal "github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4" + "strings" + "time" +) + +// EventStreamSigner is an AWS EventStream protocol signer. +type EventStreamSigner interface { + GetSignature(ctx context.Context, headers, payload []byte, signingTime time.Time, optFns ...func(*StreamSignerOptions)) ([]byte, error) +} + +// StreamSignerOptions is the configuration options for StreamSigner. +type StreamSignerOptions struct{} + +// StreamSigner implements Signature Version 4 (SigV4) signing of event stream encoded payloads. +type StreamSigner struct { + options StreamSignerOptions + + credentials aws.Credentials + service string + region string + + prevSignature []byte + + signingKeyDeriver *v4Internal.SigningKeyDeriver +} + +// NewStreamSigner returns a new AWS EventStream protocol signer. +func NewStreamSigner(credentials aws.Credentials, service, region string, seedSignature []byte, optFns ...func(*StreamSignerOptions)) *StreamSigner { + o := StreamSignerOptions{} + + for _, fn := range optFns { + fn(&o) + } + + return &StreamSigner{ + options: o, + credentials: credentials, + service: service, + region: region, + signingKeyDeriver: v4Internal.NewSigningKeyDeriver(), + prevSignature: seedSignature, + } +} + +// GetSignature signs the provided header and payload bytes. +func (s *StreamSigner) GetSignature(ctx context.Context, headers, payload []byte, signingTime time.Time, optFns ...func(*StreamSignerOptions)) ([]byte, error) { + options := s.options + + for _, fn := range optFns { + fn(&options) + } + + prevSignature := s.prevSignature + + st := v4Internal.NewSigningTime(signingTime) + + sigKey := s.signingKeyDeriver.DeriveKey(s.credentials, s.service, s.region, st) + + scope := v4Internal.BuildCredentialScope(st, s.region, s.service) + + stringToSign := s.buildEventStreamStringToSign(headers, payload, prevSignature, scope, &st) + + signature := v4Internal.HMACSHA256(sigKey, []byte(stringToSign)) + s.prevSignature = signature + + return signature, nil +} + +func (s *StreamSigner) buildEventStreamStringToSign(headers, payload, previousSignature []byte, credentialScope string, signingTime *v4Internal.SigningTime) string { + hash := sha256.New() + return strings.Join([]string{ + "AWS4-HMAC-SHA256-PAYLOAD", + signingTime.TimeFormat(), + credentialScope, + hex.EncodeToString(previousSignature), + hex.EncodeToString(makeHash(hash, headers)), + hex.EncodeToString(makeHash(hash, payload)), + }, "\n") +} diff --git a/aws/signer/v4/v4.go b/aws/signer/v4/v4.go index 61c66984397..1d1525ad86f 100644 --- a/aws/signer/v4/v4.go +++ b/aws/signer/v4/v4.go @@ -382,12 +382,7 @@ func (s *Signer) PresignHTTP( } func (s *httpSigner) buildCredentialScope() string { - return strings.Join([]string{ - s.Time.ShortTimeFormat(), - s.Region, - s.ServiceName, - "aws4_request", - }, "/") + return v4Internal.BuildCredentialScope(s.Time, s.Region, s.ServiceName) } func buildQuery(r v4Internal.Rule, header http.Header) (url.Values, http.Header) { diff --git a/codegen/sdk-codegen/aws-models/transcribestreaming.2017-10-26.json b/codegen/sdk-codegen/aws-models/transcribestreaming.2017-10-26.json new file mode 100644 index 00000000000..15e13dbc6f6 --- /dev/null +++ b/codegen/sdk-codegen/aws-models/transcribestreaming.2017-10-26.json @@ -0,0 +1,1474 @@ +{ + "smithy": "1.0", + "metadata": { + "suppressions": [ + { + "id": "HttpMethodSemantics", + "namespace": "*" + }, + { + "id": "HttpResponseCodeSemantics", + "namespace": "*" + }, + { + "id": "PaginatedTrait", + "namespace": "*" + }, + { + "id": "HttpHeaderTrait", + "namespace": "*" + }, + { + "id": "HttpUriConflict", + "namespace": "*" + }, + { + "id": "Service", + "namespace": "*" + } + ] + }, + "shapes": { + "com.amazonaws.transcribestreaming#Alternative": { + "type": "structure", + "members": { + "Transcript": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

The text that was transcribed from the audio.

" + } + }, + "Items": { + "target": "com.amazonaws.transcribestreaming#ItemList", + "traits": { + "smithy.api#documentation": "

One or more alternative interpretations of the input audio.

" + } + }, + "Entities": { + "target": "com.amazonaws.transcribestreaming#EntityList", + "traits": { + "smithy.api#documentation": "

Contains the entities identified as personally identifiable information (PII) in the transcription output.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A list of possible transcriptions for the audio.

" + } + }, + "com.amazonaws.transcribestreaming#AlternativeList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#Alternative" + } + }, + "com.amazonaws.transcribestreaming#AudioChunk": { + "type": "blob" + }, + "com.amazonaws.transcribestreaming#AudioEvent": { + "type": "structure", + "members": { + "AudioChunk": { + "target": "com.amazonaws.transcribestreaming#AudioChunk", + "traits": { + "smithy.api#documentation": "

An audio blob that contains the next part of the audio that you want to transcribe. The\n maximum audio chunk size is 32 KB.

", + "smithy.api#eventPayload": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides a wrapper for the audio chunks that you are sending.

\n

For information on audio encoding in Amazon Transcribe, see \n Speech input. For information\n on audio encoding formats in Amazon Transcribe Medical, see \n Speech input.

" + } + }, + "com.amazonaws.transcribestreaming#AudioStream": { + "type": "union", + "members": { + "AudioEvent": { + "target": "com.amazonaws.transcribestreaming#AudioEvent", + "traits": { + "smithy.api#documentation": "

A blob of audio from your application. You audio stream consists of one or more audio\n events.

\n

For information on audio encoding formats in Amazon Transcribe, see Speech input. For\n information on audio encoding formats in Amazon Transcribe Medical, see Speech input.

\n

For more information on stream encoding in Amazon Transcribe, see Event stream encoding. For\n information on stream encoding in Amazon Transcribe Medical, see Event stream encoding.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents the audio stream from your application to Amazon Transcribe.

", + "smithy.api#streaming": {} + } + }, + "com.amazonaws.transcribestreaming#BadRequestException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.transcribestreaming#String" + } + }, + "traits": { + "smithy.api#documentation": "

One or more arguments to the StartStreamTranscription or\n StartMedicalStreamTranscription operation was invalid. For example,\n MediaEncoding was not set to a valid encoding, or LanguageCode was\n not set to a valid code. Check the parameters and try your request again.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.transcribestreaming#Boolean": { + "type": "boolean" + }, + "com.amazonaws.transcribestreaming#Confidence": { + "type": "double", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.transcribestreaming#ConflictException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.transcribestreaming#String" + } + }, + "traits": { + "smithy.api#documentation": "

A new stream started with the same session ID. The current stream has been\n terminated.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.transcribestreaming#ContentIdentificationType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PII", + "name": "PII" + } + ] + } + }, + "com.amazonaws.transcribestreaming#ContentRedactionType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PII", + "name": "PII" + } + ] + } + }, + "com.amazonaws.transcribestreaming#Double": { + "type": "double" + }, + "com.amazonaws.transcribestreaming#Entity": { + "type": "structure", + "members": { + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

The start time of speech that was identified as PII.

" + } + }, + "EndTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

The end time of speech that was identified as PII.

" + } + }, + "Category": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

The category of of information identified in this entity; for example, PII.

" + } + }, + "Type": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

The type of PII identified in this entity; for example, name or credit card number.

" + } + }, + "Content": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

The words in the transcription output that have been identified as a PII entity.

" + } + }, + "Confidence": { + "target": "com.amazonaws.transcribestreaming#Confidence", + "traits": { + "smithy.api#documentation": "

A value between zero and one that Amazon Transcribe assigns to PII identified in the source audio. Larger values indicate a higher confidence in PII identification.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The entity identified as personally identifiable information (PII).

" + } + }, + "com.amazonaws.transcribestreaming#EntityList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#Entity" + } + }, + "com.amazonaws.transcribestreaming#InternalFailureException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.transcribestreaming#String" + } + }, + "traits": { + "smithy.api#documentation": "

A problem occurred while processing the audio. Amazon Transcribe or Amazon Transcribe Medical terminated processing. Try\n your request again.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.transcribestreaming#Item": { + "type": "structure", + "members": { + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

The offset from the beginning of the audio stream to the beginning of the audio that\n resulted in the item.

" + } + }, + "EndTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

The offset from the beginning of the audio stream to the end of the audio that resulted in\n the item.

" + } + }, + "Type": { + "target": "com.amazonaws.transcribestreaming#ItemType", + "traits": { + "smithy.api#documentation": "

The type of the item. PRONUNCIATION indicates that the item is a word that\n was recognized in the input audio. PUNCTUATION indicates that the item was\n interpreted as a pause in the input audio.

" + } + }, + "Content": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

The word or punctuation that was recognized in the input audio.

" + } + }, + "VocabularyFilterMatch": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether a word in the item matches a word in the vocabulary filter you've chosen\n for your real-time stream. If true then a word in the item matches your\n vocabulary filter.

" + } + }, + "Speaker": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

If speaker identification is enabled, shows the speakers identified in the real-time\n stream.

" + } + }, + "Confidence": { + "target": "com.amazonaws.transcribestreaming#Confidence", + "traits": { + "smithy.api#documentation": "

A value between 0 and 1 for an item that is a confidence score that Amazon Transcribe assigns to each\n word or phrase that it transcribes.

" + } + }, + "Stable": { + "target": "com.amazonaws.transcribestreaming#Stable", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A word, phrase, or punctuation mark that is transcribed from the input audio.

" + } + }, + "com.amazonaws.transcribestreaming#ItemList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#Item" + } + }, + "com.amazonaws.transcribestreaming#ItemType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "pronunciation", + "name": "PRONUNCIATION" + }, + { + "value": "punctuation", + "name": "PUNCTUATION" + } + ] + } + }, + "com.amazonaws.transcribestreaming#LanguageCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "en-US", + "name": "EN_US" + }, + { + "value": "en-GB", + "name": "EN_GB" + }, + { + "value": "es-US", + "name": "ES_US" + }, + { + "value": "fr-CA", + "name": "FR_CA" + }, + { + "value": "fr-FR", + "name": "FR_FR" + }, + { + "value": "en-AU", + "name": "EN_AU" + }, + { + "value": "it-IT", + "name": "IT_IT" + }, + { + "value": "de-DE", + "name": "DE_DE" + }, + { + "value": "pt-BR", + "name": "PT_BR" + }, + { + "value": "ja-JP", + "name": "JA_JP" + }, + { + "value": "ko-KR", + "name": "KO_KR" + }, + { + "value": "zh-CN", + "name": "ZH_CN" + } + ] + } + }, + "com.amazonaws.transcribestreaming#LimitExceededException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.transcribestreaming#String" + } + }, + "traits": { + "smithy.api#documentation": "

You have exceeded the maximum number of concurrent transcription streams, are starting\n transcription streams too quickly, or the maximum audio length of 4 hours. Wait until a stream\n has finished processing, or break your audio stream into smaller chunks and try your request\n again.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.transcribestreaming#MediaEncoding": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "pcm", + "name": "PCM" + }, + { + "value": "ogg-opus", + "name": "OGG_OPUS" + }, + { + "value": "flac", + "name": "FLAC" + } + ] + } + }, + "com.amazonaws.transcribestreaming#MediaSampleRateHertz": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 8000, + "max": 48000 + } + } + }, + "com.amazonaws.transcribestreaming#MedicalAlternative": { + "type": "structure", + "members": { + "Transcript": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

The text that was transcribed from the audio.

" + } + }, + "Items": { + "target": "com.amazonaws.transcribestreaming#MedicalItemList", + "traits": { + "smithy.api#documentation": "

A list of objects that contains words and punctuation marks that represents one or\n more interpretations of the input audio.

" + } + }, + "Entities": { + "target": "com.amazonaws.transcribestreaming#MedicalEntityList", + "traits": { + "smithy.api#documentation": "

Contains the medical entities identified as personal health information in the transcription output.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A list of possible transcriptions for the audio.

" + } + }, + "com.amazonaws.transcribestreaming#MedicalAlternativeList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalAlternative" + } + }, + "com.amazonaws.transcribestreaming#MedicalContentIdentificationType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PHI", + "name": "PHI" + } + ] + } + }, + "com.amazonaws.transcribestreaming#MedicalEntity": { + "type": "structure", + "members": { + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

The start time of the speech that was identified as a medical entity.

" + } + }, + "EndTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

The end time of the speech that was identified as a medical entity.

" + } + }, + "Category": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

The type of personal health information of the medical entity.

" + } + }, + "Content": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

The word or words in the transcription output that have been identified as a\n medical entity.

" + } + }, + "Confidence": { + "target": "com.amazonaws.transcribestreaming#Confidence", + "traits": { + "smithy.api#documentation": "

A value between zero and one that Amazon Transcribe Medical assigned to the personal health information\n that it identified in the source audio. Larger values indicate that Amazon Transcribe Medical has higher\n confidence in the personal health information that it identified.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The medical entity identified as personal health information.

" + } + }, + "com.amazonaws.transcribestreaming#MedicalEntityList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalEntity" + } + }, + "com.amazonaws.transcribestreaming#MedicalItem": { + "type": "structure", + "members": { + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

The number of seconds into an audio stream that indicates the creation time of an\n item.

" + } + }, + "EndTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

The number of seconds into an audio stream that indicates the creation time of an\n item.

" + } + }, + "Type": { + "target": "com.amazonaws.transcribestreaming#ItemType", + "traits": { + "smithy.api#documentation": "

The type of the item. PRONUNCIATION indicates that the item is a word\n that was recognized in the input audio. PUNCTUATION indicates that the item\n was interpreted as a pause in the input audio, such as a period to indicate the end of a\n sentence.

" + } + }, + "Content": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

The word or punctuation mark that was recognized in the input audio.

" + } + }, + "Confidence": { + "target": "com.amazonaws.transcribestreaming#Confidence", + "traits": { + "smithy.api#documentation": "

A value between 0 and 1 for an item that is a confidence score that Amazon Transcribe Medical assigns to\n each word that it transcribes.

" + } + }, + "Speaker": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

If speaker identification is enabled, shows the integer values that correspond to the\n different speakers identified in the stream. For example, if the value of\n Speaker in the stream is either a 0 or a 1,\n that indicates that Amazon Transcribe Medical has identified two speakers in the stream. The value of\n 0 corresponds to one speaker and the value of 1\n corresponds to the other speaker.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A word, phrase, or punctuation mark that is transcribed from the input audio.

" + } + }, + "com.amazonaws.transcribestreaming#MedicalItemList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalItem" + } + }, + "com.amazonaws.transcribestreaming#MedicalResult": { + "type": "structure", + "members": { + "ResultId": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

A unique identifier for the result.

" + } + }, + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

The time, in seconds, from the beginning of the audio stream to the beginning of the\n result.

" + } + }, + "EndTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

The time, in seconds, from the beginning of the audio stream to the end of the\n result.

" + } + }, + "IsPartial": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

Amazon Transcribe Medical divides the incoming audio stream into segments at natural points in the audio.\n Transcription results are returned based on these segments.

\n

The IsPartial field is true to indicate that Amazon Transcribe Medical has\n additional transcription data to send. The IsPartial field is\n false to indicate that this is the last transcription result for the\n segment.

" + } + }, + "Alternatives": { + "target": "com.amazonaws.transcribestreaming#MedicalAlternativeList", + "traits": { + "smithy.api#documentation": "

A list of possible transcriptions of the audio. Each alternative typically contains\n one Item that contains the result of the transcription.

" + } + }, + "ChannelId": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

When channel identification is enabled, Amazon Transcribe Medical transcribes the speech from each audio\n channel separately.

\n

You can use ChannelId to retrieve the transcription results for a single\n channel in your audio stream.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The results of transcribing a portion of the input audio stream.

" + } + }, + "com.amazonaws.transcribestreaming#MedicalResultList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalResult" + } + }, + "com.amazonaws.transcribestreaming#MedicalTranscript": { + "type": "structure", + "members": { + "Results": { + "target": "com.amazonaws.transcribestreaming#MedicalResultList", + "traits": { + "smithy.api#documentation": "

\n MedicalResult objects that contain the results of transcribing a\n portion of the input audio stream. The array can be empty.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The medical transcript in a MedicalTranscriptEvent.

" + } + }, + "com.amazonaws.transcribestreaming#MedicalTranscriptEvent": { + "type": "structure", + "members": { + "Transcript": { + "target": "com.amazonaws.transcribestreaming#MedicalTranscript", + "traits": { + "smithy.api#documentation": "

The transcription of the audio stream. The transcription is composed of all of the\n items in the results list.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents a set of transcription results from the server to the client. It contains\n one or more segments of the transcription.

" + } + }, + "com.amazonaws.transcribestreaming#MedicalTranscriptResultStream": { + "type": "union", + "members": { + "TranscriptEvent": { + "target": "com.amazonaws.transcribestreaming#MedicalTranscriptEvent", + "traits": { + "smithy.api#documentation": "

A portion of the transcription of the audio stream. Events are sent periodically from\n Amazon Transcribe Medical to your application. The event can be a partial transcription of a section of the\n audio stream, or it can be the entire transcription of that portion of the audio\n stream.

" + } + }, + "BadRequestException": { + "target": "com.amazonaws.transcribestreaming#BadRequestException" + }, + "LimitExceededException": { + "target": "com.amazonaws.transcribestreaming#LimitExceededException" + }, + "InternalFailureException": { + "target": "com.amazonaws.transcribestreaming#InternalFailureException" + }, + "ConflictException": { + "target": "com.amazonaws.transcribestreaming#ConflictException" + }, + "ServiceUnavailableException": { + "target": "com.amazonaws.transcribestreaming#ServiceUnavailableException" + } + }, + "traits": { + "smithy.api#documentation": "

Represents the transcription result stream from Amazon Transcribe Medical to your application.

", + "smithy.api#streaming": {} + } + }, + "com.amazonaws.transcribestreaming#ModelName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^[0-9a-zA-Z._-]+$" + } + }, + "com.amazonaws.transcribestreaming#NumberOfChannels": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 2 + } + } + }, + "com.amazonaws.transcribestreaming#PartialResultsStability": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "high", + "name": "HIGH" + }, + { + "value": "medium", + "name": "MEDIUM" + }, + { + "value": "low", + "name": "LOW" + } + ] + } + }, + "com.amazonaws.transcribestreaming#PiiEntityTypes": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 300 + }, + "smithy.api#pattern": "^[A-Z_, ]+$" + } + }, + "com.amazonaws.transcribestreaming#RequestId": { + "type": "string" + }, + "com.amazonaws.transcribestreaming#Result": { + "type": "structure", + "members": { + "ResultId": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

A unique identifier for the result.

" + } + }, + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

The offset in seconds from the beginning of the audio stream to the beginning of the\n result.

" + } + }, + "EndTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#documentation": "

The offset in seconds from the beginning of the audio stream to the end of the\n result.

" + } + }, + "IsPartial": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

Amazon Transcribe divides the incoming audio stream into segments at natural points in the audio.\n Transcription results are returned based on these segments.

\n

The IsPartial field is true to indicate that Amazon Transcribe has\n additional transcription data to send, false to indicate that this is the last\n transcription result for the segment.

" + } + }, + "Alternatives": { + "target": "com.amazonaws.transcribestreaming#AlternativeList", + "traits": { + "smithy.api#documentation": "

A list of possible transcriptions for the audio. Each alternative typically contains one\n item that contains the result of the transcription.

" + } + }, + "ChannelId": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

When channel identification is enabled, Amazon Transcribe transcribes the speech from each audio\n channel separately.

\n

You can use ChannelId to retrieve the transcription results for a single\n channel in your audio stream.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The result of transcribing a portion of the input audio stream.

" + } + }, + "com.amazonaws.transcribestreaming#ResultList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#Result" + } + }, + "com.amazonaws.transcribestreaming#ServiceUnavailableException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.transcribestreaming#String" + } + }, + "traits": { + "smithy.api#documentation": "

Service is currently unavailable. Try your request later.

", + "smithy.api#error": "server", + "smithy.api#httpError": 503 + } + }, + "com.amazonaws.transcribestreaming#SessionId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 36, + "max": 36 + }, + "smithy.api#pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" + } + }, + "com.amazonaws.transcribestreaming#Specialty": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PRIMARYCARE", + "name": "PRIMARYCARE" + }, + { + "value": "CARDIOLOGY", + "name": "CARDIOLOGY" + }, + { + "value": "NEUROLOGY", + "name": "NEUROLOGY" + }, + { + "value": "ONCOLOGY", + "name": "ONCOLOGY" + }, + { + "value": "RADIOLOGY", + "name": "RADIOLOGY" + }, + { + "value": "UROLOGY", + "name": "UROLOGY" + } + ] + } + }, + "com.amazonaws.transcribestreaming#Stable": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.transcribestreaming#StartMedicalStreamTranscription": { + "type": "operation", + "input": { + "target": "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionRequest" + }, + "output": { + "target": "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.transcribestreaming#BadRequestException" + }, + { + "target": "com.amazonaws.transcribestreaming#ConflictException" + }, + { + "target": "com.amazonaws.transcribestreaming#InternalFailureException" + }, + { + "target": "com.amazonaws.transcribestreaming#LimitExceededException" + }, + { + "target": "com.amazonaws.transcribestreaming#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Starts a bidirectional HTTP/2 stream where audio is streamed to Amazon Transcribe Medical and the\n transcription results are streamed to your application.

", + "smithy.api#http": { + "method": "POST", + "uri": "/medical-stream-transcription", + "code": 200 + } + } + }, + "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionRequest": { + "type": "structure", + "members": { + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", + "traits": { + "smithy.api#documentation": "

Indicates the source language used in the input audio stream. For Amazon Transcribe Medical, this is US\n English (en-US).

", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code", + "smithy.api#required": {} + } + }, + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + "traits": { + "smithy.api#documentation": "

The sample rate of the input audio in Hertz.

", + "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate", + "smithy.api#required": {} + } + }, + "MediaEncoding": { + "target": "com.amazonaws.transcribestreaming#MediaEncoding", + "traits": { + "smithy.api#documentation": "

The encoding used for the input audio.

", + "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding", + "smithy.api#required": {} + } + }, + "VocabularyName": { + "target": "com.amazonaws.transcribestreaming#VocabularyName", + "traits": { + "smithy.api#documentation": "

The name of the medical custom vocabulary to use when processing the real-time\n stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" + } + }, + "Specialty": { + "target": "com.amazonaws.transcribestreaming#Specialty", + "traits": { + "smithy.api#documentation": "

The medical specialty of the clinician or provider.

", + "smithy.api#httpHeader": "x-amzn-transcribe-specialty", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.transcribestreaming#Type", + "traits": { + "smithy.api#documentation": "

The type of input audio. Choose DICTATION for a provider dictating\n patient notes. Choose CONVERSATION for a dialogue between a patient and one\n or more medical professionanls.

", + "smithy.api#httpHeader": "x-amzn-transcribe-type", + "smithy.api#required": {} + } + }, + "ShowSpeakerLabel": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" + } + }, + "SessionId": { + "target": "com.amazonaws.transcribestreaming#SessionId", + "traits": { + "smithy.api#documentation": "

Optional. An identifier for the transcription session. If you don't provide a session\n ID, Amazon Transcribe generates one for you and returns it in the response.

", + "smithy.api#httpHeader": "x-amzn-transcribe-session-id" + } + }, + "AudioStream": { + "target": "com.amazonaws.transcribestreaming#AudioStream", + "traits": { + "smithy.api#httpPayload": {}, + "smithy.api#required": {} + } + }, + "EnableChannelIdentification": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

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

\n

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

\n

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

", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" + } + }, + "NumberOfChannels": { + "target": "com.amazonaws.transcribestreaming#NumberOfChannels", + "traits": { + "smithy.api#documentation": "

The number of channels that are in your audio stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" + } + }, + "ContentIdentificationType": { + "target": "com.amazonaws.transcribestreaming#MedicalContentIdentificationType", + "traits": { + "smithy.api#documentation": "

Set this field to PHI to identify personal health information in the\n transcription output.

", + "smithy.api#httpHeader": "x-amzn-transcribe-content-identification-type" + } + } + } + }, + "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionResponse": { + "type": "structure", + "members": { + "RequestId": { + "target": "com.amazonaws.transcribestreaming#RequestId", + "traits": { + "smithy.api#documentation": "

An identifier for the streaming transcription.

", + "smithy.api#httpHeader": "x-amzn-request-id" + } + }, + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", + "traits": { + "smithy.api#documentation": "

The language code for the response transcript. For Amazon Transcribe Medical, this is US English\n (en-US).

", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code" + } + }, + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + "traits": { + "smithy.api#documentation": "

The sample rate of the input audio in Hertz.

", + "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate" + } + }, + "MediaEncoding": { + "target": "com.amazonaws.transcribestreaming#MediaEncoding", + "traits": { + "smithy.api#documentation": "

The encoding used for the input audio stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding" + } + }, + "VocabularyName": { + "target": "com.amazonaws.transcribestreaming#VocabularyName", + "traits": { + "smithy.api#documentation": "

The name of the vocabulary used when processing the stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" + } + }, + "Specialty": { + "target": "com.amazonaws.transcribestreaming#Specialty", + "traits": { + "smithy.api#documentation": "

The specialty in the medical domain.

", + "smithy.api#httpHeader": "x-amzn-transcribe-specialty" + } + }, + "Type": { + "target": "com.amazonaws.transcribestreaming#Type", + "traits": { + "smithy.api#documentation": "

The type of audio that was transcribed.

", + "smithy.api#httpHeader": "x-amzn-transcribe-type" + } + }, + "ShowSpeakerLabel": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

Shows whether speaker identification was enabled in the stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" + } + }, + "SessionId": { + "target": "com.amazonaws.transcribestreaming#SessionId", + "traits": { + "smithy.api#documentation": "

Optional. An identifier for the transcription session. If you don't provide a session\n ID, Amazon Transcribe generates one for you and returns it in the response.

", + "smithy.api#httpHeader": "x-amzn-transcribe-session-id" + } + }, + "TranscriptResultStream": { + "target": "com.amazonaws.transcribestreaming#MedicalTranscriptResultStream", + "traits": { + "smithy.api#documentation": "

Represents the stream of transcription events from Amazon Transcribe Medical to your application.

", + "smithy.api#httpPayload": {} + } + }, + "EnableChannelIdentification": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

Shows whether channel identification has been enabled in the stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" + } + }, + "NumberOfChannels": { + "target": "com.amazonaws.transcribestreaming#NumberOfChannels", + "traits": { + "smithy.api#documentation": "

The number of channels identified in the stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" + } + }, + "ContentIdentificationType": { + "target": "com.amazonaws.transcribestreaming#MedicalContentIdentificationType", + "traits": { + "smithy.api#documentation": "

If the value is PHI, indicates that you've configured your stream to\n identify personal health information.

", + "smithy.api#httpHeader": "x-amzn-transcribe-content-identification-type" + } + } + } + }, + "com.amazonaws.transcribestreaming#StartStreamTranscription": { + "type": "operation", + "input": { + "target": "com.amazonaws.transcribestreaming#StartStreamTranscriptionRequest" + }, + "output": { + "target": "com.amazonaws.transcribestreaming#StartStreamTranscriptionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.transcribestreaming#BadRequestException" + }, + { + "target": "com.amazonaws.transcribestreaming#ConflictException" + }, + { + "target": "com.amazonaws.transcribestreaming#InternalFailureException" + }, + { + "target": "com.amazonaws.transcribestreaming#LimitExceededException" + }, + { + "target": "com.amazonaws.transcribestreaming#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Starts a bidirectional HTTP/2 stream where audio is streamed to Amazon Transcribe and the transcription\n results are streamed to your application.

\n

The following are encoded as HTTP/2 headers:

\n
    \n
  • \n

    x-amzn-transcribe-language-code

    \n
  • \n
  • \n

    x-amzn-transcribe-media-encoding

    \n
  • \n
  • \n

    x-amzn-transcribe-sample-rate

    \n
  • \n
  • \n

    x-amzn-transcribe-session-id

    \n
  • \n
\n

See the SDK for Go API Reference for more detail.

", + "smithy.api#http": { + "method": "POST", + "uri": "/stream-transcription", + "code": 200 + } + } + }, + "com.amazonaws.transcribestreaming#StartStreamTranscriptionRequest": { + "type": "structure", + "members": { + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", + "traits": { + "smithy.api#documentation": "

Indicates the source language used in the input audio stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code", + "smithy.api#required": {} + } + }, + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + "traits": { + "smithy.api#documentation": "

The sample rate, in Hertz, of the input audio. We suggest that you use 8,000 Hz for low\n quality audio and 16,000 Hz for high quality audio.

", + "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate", + "smithy.api#required": {} + } + }, + "MediaEncoding": { + "target": "com.amazonaws.transcribestreaming#MediaEncoding", + "traits": { + "smithy.api#documentation": "

The encoding used for the input audio.

", + "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding", + "smithy.api#required": {} + } + }, + "VocabularyName": { + "target": "com.amazonaws.transcribestreaming#VocabularyName", + "traits": { + "smithy.api#documentation": "

The name of the vocabulary to use when processing the transcription job.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" + } + }, + "SessionId": { + "target": "com.amazonaws.transcribestreaming#SessionId", + "traits": { + "smithy.api#documentation": "

A identifier for the transcription session. Use this parameter when you want to retry a\n session. If you don't provide a session ID, Amazon Transcribe will generate one for you and return it in\n the response.

", + "smithy.api#httpHeader": "x-amzn-transcribe-session-id" + } + }, + "AudioStream": { + "target": "com.amazonaws.transcribestreaming#AudioStream", + "traits": { + "smithy.api#documentation": "

PCM-encoded stream of audio blobs. The audio stream is encoded as an HTTP/2 data\n frame.

", + "smithy.api#httpPayload": {}, + "smithy.api#required": {} + } + }, + "VocabularyFilterName": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterName", + "traits": { + "smithy.api#documentation": "

The name of the vocabulary filter you've created that is unique to your account.\n Provide the name in this field to successfully use it in a stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-name" + } + }, + "VocabularyFilterMethod": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterMethod", + "traits": { + "smithy.api#documentation": "

The manner in which you use your vocabulary filter to filter words in your transcript.\n Remove removes filtered words from your transcription results.\n Mask masks filtered words with a *** in your transcription results.\n Tag keeps the filtered words in your transcription results and tags them. The\n tag appears as VocabularyFilterMatch equal to True\n

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-method" + } + }, + "ShowSpeakerLabel": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" + } + }, + "EnableChannelIdentification": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

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

\n

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

\n

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

", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" + } + }, + "NumberOfChannels": { + "target": "com.amazonaws.transcribestreaming#NumberOfChannels", + "traits": { + "smithy.api#documentation": "

The number of channels that are in your audio stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" + } + }, + "EnablePartialResultsStabilization": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-partial-results-stabilization" + } + }, + "PartialResultsStability": { + "target": "com.amazonaws.transcribestreaming#PartialResultsStability", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#httpHeader": "x-amzn-transcribe-partial-results-stability" + } + }, + "ContentIdentificationType": { + "target": "com.amazonaws.transcribestreaming#ContentIdentificationType", + "traits": { + "smithy.api#documentation": "

Set this field to PII to identify personally identifiable information (PII) in the transcription output. Content identification is performed only upon complete transcription of the audio segments.

\n

You can’t set both ContentIdentificationType and ContentRedactionType in the same request. If you set both, your request returns a BadRequestException.

", + "smithy.api#httpHeader": "x-amzn-transcribe-content-identification-type" + } + }, + "ContentRedactionType": { + "target": "com.amazonaws.transcribestreaming#ContentRedactionType", + "traits": { + "smithy.api#documentation": "

Set this field to PII to redact personally identifiable information (PII) in the transcription output. Content redaction is performed only upon complete transcription of the audio segments.

\n

You can’t set both ContentRedactionType and ContentIdentificationType in the same request. If you set both, your request returns a BadRequestException.

", + "smithy.api#httpHeader": "x-amzn-transcribe-content-redaction-type" + } + }, + "PiiEntityTypes": { + "target": "com.amazonaws.transcribestreaming#PiiEntityTypes", + "traits": { + "smithy.api#documentation": "

List the PII entity types you want to identify or redact. In order to specify entity types, you must have \n either ContentIdentificationType or ContentRedactionType enabled.

\n

\n PiiEntityTypes is an optional parameter with a default value of ALL.

", + "smithy.api#httpHeader": "x-amzn-transcribe-pii-entity-types" + } + }, + "LanguageModelName": { + "target": "com.amazonaws.transcribestreaming#ModelName", + "traits": { + "smithy.api#documentation": "

The name of the language model you want to use.

", + "smithy.api#httpHeader": "x-amzn-transcribe-language-model-name" + } + } + } + }, + "com.amazonaws.transcribestreaming#StartStreamTranscriptionResponse": { + "type": "structure", + "members": { + "RequestId": { + "target": "com.amazonaws.transcribestreaming#RequestId", + "traits": { + "smithy.api#documentation": "

An identifier for the streaming transcription.

", + "smithy.api#httpHeader": "x-amzn-request-id" + } + }, + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", + "traits": { + "smithy.api#documentation": "

The language code for the input audio stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code" + } + }, + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + "traits": { + "smithy.api#documentation": "

The sample rate for the input audio stream. Use 8,000 Hz for low quality audio and 16,000 Hz\n for high quality audio.

", + "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate" + } + }, + "MediaEncoding": { + "target": "com.amazonaws.transcribestreaming#MediaEncoding", + "traits": { + "smithy.api#documentation": "

The encoding used for the input audio stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding" + } + }, + "VocabularyName": { + "target": "com.amazonaws.transcribestreaming#VocabularyName", + "traits": { + "smithy.api#documentation": "

The name of the vocabulary used when processing the stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" + } + }, + "SessionId": { + "target": "com.amazonaws.transcribestreaming#SessionId", + "traits": { + "smithy.api#documentation": "

An identifier for a specific transcription session.

", + "smithy.api#httpHeader": "x-amzn-transcribe-session-id" + } + }, + "TranscriptResultStream": { + "target": "com.amazonaws.transcribestreaming#TranscriptResultStream", + "traits": { + "smithy.api#documentation": "

Represents the stream of transcription events from Amazon Transcribe to your application.

", + "smithy.api#httpPayload": {} + } + }, + "VocabularyFilterName": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterName", + "traits": { + "smithy.api#documentation": "

The name of the vocabulary filter used in your real-time stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-name" + } + }, + "VocabularyFilterMethod": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterMethod", + "traits": { + "smithy.api#documentation": "

The vocabulary filtering method used in the real-time stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-method" + } + }, + "ShowSpeakerLabel": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

Shows whether speaker identification was enabled in the stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" + } + }, + "EnableChannelIdentification": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

Shows whether channel identification has been enabled in the stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" + } + }, + "NumberOfChannels": { + "target": "com.amazonaws.transcribestreaming#NumberOfChannels", + "traits": { + "smithy.api#documentation": "

The number of channels identified in the stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" + } + }, + "EnablePartialResultsStabilization": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-partial-results-stabilization" + } + }, + "PartialResultsStability": { + "target": "com.amazonaws.transcribestreaming#PartialResultsStability", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#httpHeader": "x-amzn-transcribe-partial-results-stability" + } + }, + "ContentIdentificationType": { + "target": "com.amazonaws.transcribestreaming#ContentIdentificationType", + "traits": { + "smithy.api#documentation": "

Shows whether content identification was enabled in this stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-content-identification-type" + } + }, + "ContentRedactionType": { + "target": "com.amazonaws.transcribestreaming#ContentRedactionType", + "traits": { + "smithy.api#documentation": "

Shows whether content redaction was enabled in this stream.

", + "smithy.api#httpHeader": "x-amzn-transcribe-content-redaction-type" + } + }, + "PiiEntityTypes": { + "target": "com.amazonaws.transcribestreaming#PiiEntityTypes", + "traits": { + "smithy.api#documentation": "

Lists the PII entity types you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-pii-entity-types" + } + }, + "LanguageModelName": { + "target": "com.amazonaws.transcribestreaming#ModelName", + "traits": { + "smithy.api#httpHeader": "x-amzn-transcribe-language-model-name" + } + } + } + }, + "com.amazonaws.transcribestreaming#String": { + "type": "string" + }, + "com.amazonaws.transcribestreaming#Transcribe": { + "type": "service", + "version": "2017-10-26", + "operations": [ + { + "target": "com.amazonaws.transcribestreaming#StartMedicalStreamTranscription" + }, + { + "target": "com.amazonaws.transcribestreaming#StartStreamTranscription" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "Transcribe Streaming", + "arnNamespace": "transcribe", + "cloudFormationName": "TranscribeStreaming", + "cloudTrailEventSource": "transcribestreaming.amazonaws.com", + "endpointPrefix": "transcribestreaming" + }, + "aws.auth#sigv4": { + "name": "transcribe" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

Operations and objects for transcribing streaming speech to text.

", + "smithy.api#title": "Amazon Transcribe Streaming Service" + } + }, + "com.amazonaws.transcribestreaming#Transcript": { + "type": "structure", + "members": { + "Results": { + "target": "com.amazonaws.transcribestreaming#ResultList", + "traits": { + "smithy.api#documentation": "

\n Result objects that contain the results of transcribing a portion of the\n input audio stream. The array can be empty.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The transcription in a TranscriptEvent.

" + } + }, + "com.amazonaws.transcribestreaming#TranscriptEvent": { + "type": "structure", + "members": { + "Transcript": { + "target": "com.amazonaws.transcribestreaming#Transcript", + "traits": { + "smithy.api#documentation": "

The transcription of the audio stream. The transcription is composed of all of the items\n in the results list.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents a set of transcription results from the server to the client. It contains one\n or more segments of the transcription.

" + } + }, + "com.amazonaws.transcribestreaming#TranscriptResultStream": { + "type": "union", + "members": { + "TranscriptEvent": { + "target": "com.amazonaws.transcribestreaming#TranscriptEvent", + "traits": { + "smithy.api#documentation": "

A portion of the transcription of the audio stream. Events are sent periodically from\n Amazon Transcribe to your application. The event can be a partial transcription of a section of the audio\n stream, or it can be the entire transcription of that portion of the audio stream.\n

" + } + }, + "BadRequestException": { + "target": "com.amazonaws.transcribestreaming#BadRequestException", + "traits": { + "smithy.api#documentation": "

A client error occurred when the stream was created. Check the parameters of the request\n and try your request again.

" + } + }, + "LimitExceededException": { + "target": "com.amazonaws.transcribestreaming#LimitExceededException", + "traits": { + "smithy.api#documentation": "

Your client has exceeded one of the Amazon Transcribe limits, typically the limit on audio length.\n Break your audio stream into smaller chunks and try your request again.

" + } + }, + "InternalFailureException": { + "target": "com.amazonaws.transcribestreaming#InternalFailureException", + "traits": { + "smithy.api#documentation": "

A problem occurred while processing the audio. Amazon Transcribe terminated processing.

" + } + }, + "ConflictException": { + "target": "com.amazonaws.transcribestreaming#ConflictException", + "traits": { + "smithy.api#documentation": "

A new stream started with the same session ID. The current stream has been\n terminated.

" + } + }, + "ServiceUnavailableException": { + "target": "com.amazonaws.transcribestreaming#ServiceUnavailableException", + "traits": { + "smithy.api#documentation": "

Service is currently unavailable. Try your request later.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents the transcription result stream from Amazon Transcribe to your application.

", + "smithy.api#streaming": {} + } + }, + "com.amazonaws.transcribestreaming#Type": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CONVERSATION", + "name": "CONVERSATION" + }, + { + "value": "DICTATION", + "name": "DICTATION" + } + ] + } + }, + "com.amazonaws.transcribestreaming#VocabularyFilterMethod": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "remove", + "name": "REMOVE" + }, + { + "value": "mask", + "name": "MASK" + }, + { + "value": "tag", + "name": "TAG" + } + ] + } + }, + "com.amazonaws.transcribestreaming#VocabularyFilterName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^[0-9a-zA-Z._-]+$" + } + }, + "com.amazonaws.transcribestreaming#VocabularyName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^[0-9a-zA-Z._-]+$" + } + } + } +} diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AssembleMiddlewareStack.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AssembleMiddlewareStack.java index 5b3a117fff9..b594ad8d5e9 100644 --- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AssembleMiddlewareStack.java +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AssembleMiddlewareStack.java @@ -5,9 +5,11 @@ import software.amazon.smithy.aws.traits.auth.UnsignedPayloadTrait; import software.amazon.smithy.go.codegen.SmithyGoDependency; import software.amazon.smithy.go.codegen.SymbolUtils; +import software.amazon.smithy.go.codegen.integration.ConfigFieldResolver; import software.amazon.smithy.go.codegen.integration.GoIntegration; import software.amazon.smithy.go.codegen.integration.MiddlewareRegistrar; import software.amazon.smithy.go.codegen.integration.RuntimeClientPlugin; +import software.amazon.smithy.model.knowledge.EventStreamIndex; import software.amazon.smithy.utils.ListUtils; public class AssembleMiddlewareStack implements GoIntegration { @@ -30,7 +32,7 @@ public List getClientPlugins() { RuntimeClientPlugin.builder() .registerMiddleware(MiddlewareRegistrar.builder() .resolvedFunction(SymbolUtils.createValueSymbolBuilder( - "AddClientRequestIDMiddleware", AwsGoDependency.AWS_MIDDLEWARE) + "AddClientRequestIDMiddleware", AwsGoDependency.AWS_MIDDLEWARE) .build()) .build() ) @@ -38,9 +40,12 @@ public List getClientPlugins() { // Add ContentLengthMiddleware to operation stack RuntimeClientPlugin.builder() + .operationPredicate((model, service, operation) -> + EventStreamIndex.of(model).getInputInfo(operation).isEmpty()) .registerMiddleware(MiddlewareRegistrar.builder() .resolvedFunction(SymbolUtils.createValueSymbolBuilder( - "AddComputeContentLengthMiddleware", SmithyGoDependency.SMITHY_HTTP_TRANSPORT) + "AddComputeContentLengthMiddleware", + SmithyGoDependency.SMITHY_HTTP_TRANSPORT) .build()) .build() ) @@ -55,35 +60,69 @@ public List getClientPlugins() { .build()) .build(), + // Add streaming events payload middleware to operation stack + RuntimeClientPlugin.builder() + .operationPredicate((model, service, operation) -> { + if (!AwsSignatureVersion4.hasSigV4AuthScheme( + model, service, operation)) { + return false; + } + return EventStreamIndex.of(model).getInputInfo(operation).isPresent(); + }) + .registerMiddleware(MiddlewareRegistrar.builder() + .resolvedFunction(SymbolUtils.createValueSymbolBuilder( + "AddStreamingEventsPayload", AwsGoDependency.AWS_SIGNER_V4) + .build()) + .build()) + .build(), + // Add unsigned payload middleware to operation stack RuntimeClientPlugin.builder() - .operationPredicate((model, service, operation) -> AwsSignatureVersion4.hasSigV4AuthScheme( - model, service, operation) && operation.hasTrait(UnsignedPayloadTrait.class)) + .operationPredicate((model, service, operation) -> { + if (!AwsSignatureVersion4.hasSigV4AuthScheme( + model, service, operation)) { + return false; + } + var noEventStream = EventStreamIndex.of(model).getInputInfo(operation).isEmpty(); + return operation.hasTrait(UnsignedPayloadTrait.class) && noEventStream; + }) .registerMiddleware(MiddlewareRegistrar.builder() .resolvedFunction(SymbolUtils.createValueSymbolBuilder( - "AddUnsignedPayloadMiddleware", AwsGoDependency.AWS_SIGNER_V4) + "AddUnsignedPayloadMiddleware", AwsGoDependency.AWS_SIGNER_V4) .build()) .build()) .build(), // Add signed payload middleware to operation stack RuntimeClientPlugin.builder() - .operationPredicate((model, service, operation) -> AwsSignatureVersion4.hasSigV4AuthScheme( - model, service, operation) && !operation.hasTrait(UnsignedPayloadTrait.class)) + .operationPredicate((model, service, operation) -> { + if (!AwsSignatureVersion4.hasSigV4AuthScheme( + model, service, operation)) { + return false; + } + var noEventStream = EventStreamIndex.of(model).getInputInfo(operation).isEmpty(); + return !operation.hasTrait(UnsignedPayloadTrait.class) && noEventStream; + }) .registerMiddleware(MiddlewareRegistrar.builder() .resolvedFunction(SymbolUtils.createValueSymbolBuilder( - "AddComputePayloadSHA256Middleware", AwsGoDependency.AWS_SIGNER_V4) + "AddComputePayloadSHA256Middleware", AwsGoDependency.AWS_SIGNER_V4) .build()) .build()) .build(), // Add content-sha256 payload header middleware to operation stack RuntimeClientPlugin.builder() - .operationPredicate((model, service, operation) -> AwsSignatureVersion4.hasSigV4AuthScheme( - model, service, operation) && operation.hasTrait(UnsignedPayloadTrait.class)) + .operationPredicate((model, service, operation) -> { + if (!AwsSignatureVersion4.hasSigV4AuthScheme( + model, service, operation)) { + return false; + } + var hasEventStream = EventStreamIndex.of(model).getInputInfo(operation).isPresent(); + return operation.hasTrait(UnsignedPayloadTrait.class) || hasEventStream; + }) .registerMiddleware(MiddlewareRegistrar.builder() .resolvedFunction(SymbolUtils.createValueSymbolBuilder( - "AddContentSHA256HeaderMiddleware", AwsGoDependency.AWS_SIGNER_V4) + "AddContentSHA256HeaderMiddleware", AwsGoDependency.AWS_SIGNER_V4) .build()) .build()) .build(), @@ -92,7 +131,7 @@ public List getClientPlugins() { RuntimeClientPlugin.builder() .registerMiddleware(MiddlewareRegistrar.builder() .resolvedFunction(SymbolUtils.createValueSymbolBuilder( - AwsRetryMiddlewareHelper.ADD_RETRY_MIDDLEWARES_HELPER) + AwsRetryMiddlewareHelper.ADD_RETRY_MIDDLEWARES_HELPER) .build()) .useClientOptions() .build()) @@ -111,7 +150,7 @@ public List getClientPlugins() { RuntimeClientPlugin.builder() .registerMiddleware(MiddlewareRegistrar.builder() .resolvedFunction(SymbolUtils.createValueSymbolBuilder( - "AddRawResponseToMetadata", AwsGoDependency.AWS_MIDDLEWARE) + "AddRawResponseToMetadata", AwsGoDependency.AWS_MIDDLEWARE) .build()) .build()) .build(), @@ -120,7 +159,7 @@ public List getClientPlugins() { RuntimeClientPlugin.builder() .registerMiddleware(MiddlewareRegistrar.builder() .resolvedFunction(SymbolUtils.createValueSymbolBuilder( - "AddRecordResponseTiming", AwsGoDependency.AWS_MIDDLEWARE) + "AddRecordResponseTiming", AwsGoDependency.AWS_MIDDLEWARE) .build()) .build()) .build(), @@ -141,6 +180,18 @@ public List getClientPlugins() { .build()) .servicePredicate((model, serviceShape) -> AdjustAwsRestJsonContentType.isServiceOnShameList(serviceShape)) + .build(), + + // Add Event Stream Input Writer (must be added AFTER retryer) + RuntimeClientPlugin.builder() + .operationPredicate((model, service, operation) -> + EventStreamIndex.of(model).getInputInfo(operation).isPresent()) + .registerMiddleware(MiddlewareRegistrar.builder() + .resolvedFunction(SymbolUtils.createValueSymbolBuilder( + "AddInitializeStreamWriter", + AwsGoDependency.SERVICE_INTERNAL_EVENTSTREAMAPI) + .build()) + .build()) .build() ); } diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsEventStreamIntegration.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsEventStreamIntegration.java new file mode 100644 index 00000000000..9a3796d04c3 --- /dev/null +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsEventStreamIntegration.java @@ -0,0 +1,82 @@ +package software.amazon.smithy.aws.go.codegen; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import software.amazon.smithy.go.codegen.GoEventStreamIndex; +import software.amazon.smithy.go.codegen.GoSettings; +import software.amazon.smithy.go.codegen.integration.ConfigFieldResolver; +import software.amazon.smithy.go.codegen.integration.GoIntegration; +import software.amazon.smithy.go.codegen.integration.MiddlewareRegistrar; +import software.amazon.smithy.go.codegen.integration.RuntimeClientPlugin; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.OperationShape; +import software.amazon.smithy.model.shapes.ShapeId; + +public class AwsEventStreamIntegration implements GoIntegration { + private final Map> serviceOperationMap = new HashMap<>(); + + @Override + public byte getOrder() { + return -127; + } + + @Override + public void processFinalizedModel( + GoSettings settings, + Model model + ) { + var goEventStreamIndex = GoEventStreamIndex.of(model); + var service = settings.getService(); + + Collection operationShapes = new HashSet<>(); + + goEventStreamIndex.getInputEventStreams(service).ifPresent(shapeIdSetMap -> + shapeIdSetMap.values().forEach(eventStreamInfos -> + eventStreamInfos.forEach(info -> operationShapes.add(info.getOperation())))); + + goEventStreamIndex.getOutputEventStreams(service).ifPresent(shapeIdSetMap -> + shapeIdSetMap.values().forEach(eventStreamInfos -> + eventStreamInfos.forEach(info -> operationShapes.add(info.getOperation())))); + + if (!operationShapes.isEmpty()) { + serviceOperationMap.put(service, operationShapes); + } + } + + @Override + public List getClientPlugins() { + final List plugins = new ArrayList<>(); + + plugins.add(RuntimeClientPlugin.builder() + .servicePredicate((model, serviceShape) -> serviceOperationMap.containsKey(serviceShape.toShapeId())) + .addConfigFieldResolver(ConfigFieldResolver.builder() + .location(ConfigFieldResolver.Location.OPERATION) + .resolver(AwsEventStreamUtils.getEventStreamClientLogModeFinalizerSymbol()) + .target(ConfigFieldResolver.Target.FINALIZATION) + .withOperationName(true) + .build()) + .build()); + + serviceOperationMap.entrySet().stream() + .map(entry -> entry.getValue().stream().map(operationShape -> + RuntimeClientPlugin.builder() + .operationPredicate((model, service, operation) -> + service.getId() == entry.getKey() && operation.equals(operationShape)) + .registerMiddleware(MiddlewareRegistrar.builder() + .resolvedFunction( + AwsEventStreamUtils.getAddEventStreamOperationMiddlewareSymbol( + operationShape)) + .useClientOptions() + .build()) + .build()) + .collect(Collectors.toSet())) + .forEach(plugins::addAll); + + return plugins; + } +} diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsEventStreamUtils.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsEventStreamUtils.java new file mode 100644 index 00000000000..b42578ca44a --- /dev/null +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsEventStreamUtils.java @@ -0,0 +1,1926 @@ +package software.amazon.smithy.aws.go.codegen; + +import java.util.Set; +import java.util.TreeSet; +import java.util.stream.Collectors; +import software.amazon.smithy.codegen.core.CodegenException; +import software.amazon.smithy.codegen.core.Symbol; +import software.amazon.smithy.codegen.core.SymbolProvider; +import software.amazon.smithy.go.codegen.CodegenUtils; +import software.amazon.smithy.go.codegen.EventStreamGenerator; +import software.amazon.smithy.go.codegen.GoDependency; +import software.amazon.smithy.go.codegen.GoEventStreamIndex; +import software.amazon.smithy.go.codegen.GoSettings; +import software.amazon.smithy.go.codegen.GoStackStepMiddlewareGenerator; +import software.amazon.smithy.go.codegen.GoValueAccessUtils; +import software.amazon.smithy.go.codegen.GoWriter; +import software.amazon.smithy.go.codegen.MiddlewareIdentifier; +import software.amazon.smithy.go.codegen.SmithyGoDependency; +import software.amazon.smithy.go.codegen.SymbolUtils; +import software.amazon.smithy.go.codegen.integration.ProtocolGenerator.GenerationContext; +import software.amazon.smithy.go.codegen.knowledge.GoPointableIndex; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.knowledge.EventStreamIndex; +import software.amazon.smithy.model.knowledge.EventStreamInfo; +import software.amazon.smithy.model.shapes.BlobShape; +import software.amazon.smithy.model.shapes.BooleanShape; +import software.amazon.smithy.model.shapes.ByteShape; +import software.amazon.smithy.model.shapes.IntegerShape; +import software.amazon.smithy.model.shapes.LongShape; +import software.amazon.smithy.model.shapes.MemberShape; +import software.amazon.smithy.model.shapes.OperationShape; +import software.amazon.smithy.model.shapes.ServiceShape; +import software.amazon.smithy.model.shapes.Shape; +import software.amazon.smithy.model.shapes.ShapeVisitor; +import software.amazon.smithy.model.shapes.ShortShape; +import software.amazon.smithy.model.shapes.StringShape; +import software.amazon.smithy.model.shapes.TimestampShape; +import software.amazon.smithy.model.shapes.ToShapeId; +import software.amazon.smithy.model.shapes.UnionShape; +import software.amazon.smithy.model.traits.ErrorTrait; +import software.amazon.smithy.model.traits.EventHeaderTrait; +import software.amazon.smithy.model.traits.EventPayloadTrait; +import software.amazon.smithy.model.traits.HttpTrait; +import software.amazon.smithy.utils.StringUtils; + +public final class AwsEventStreamUtils { + + private static final String EVENT_STREAM_SIGNER_INTERFACE = "eventStreamSigner"; + + private AwsEventStreamUtils() { + } + + public static void generateEventStreamComponents(GenerationContext context) { + Model model = context.getModel(); + GoWriter writer = context.getWriter().get(); + ServiceShape serviceShape = context.getService(); + GoSettings settings = context.getSettings(); + + boolean isHttpBindingProto = model.getOperationShapesWithTrait(HttpTrait.class).size() > 0; + + EventStreamIndex streamIndex = EventStreamIndex.of(model); + + var inputEventStreams = GoEventStreamIndex.of(model).getInputEventStreams(serviceShape); + var outputEventStreams = GoEventStreamIndex.of(model).getOutputEventStreams(serviceShape); + + if (inputEventStreams.isEmpty() && outputEventStreams.isEmpty()) { + return; + } + + final var operationShapes = new TreeSet(); + + if (inputEventStreams.isPresent()) { + generateEventSignerInterface(settings, writer); + inputEventStreams.get().forEach((shapeId, eventStreamInfos) -> { + generateEventStreamWriter(context, model.expectShape(shapeId, UnionShape.class), eventStreamInfos, + !isHttpBindingProto); + eventStreamInfos.forEach(info -> operationShapes.add(info.getOperation())); + }); + } + + if (outputEventStreams.isPresent()) { + outputEventStreams.get().forEach((shapeId, eventStreamInfos) -> { + generateEventStreamReader(context, model.expectShape(shapeId, UnionShape.class), eventStreamInfos, + !isHttpBindingProto); + eventStreamInfos.forEach(info -> operationShapes.add(info.getOperation())); + }); + } + + for (OperationShape operationShape : operationShapes) { + if (streamIndex.getInputInfo(operationShape).isEmpty() + && streamIndex.getOutputInfo(operationShape).isEmpty()) { + continue; + } + generateEventStreamMiddleware(context, operationShape, !isHttpBindingProto); + } + + generateUnknownEventMessageError(context); + + generateEventStreamClientLogModeFinalizer(context, operationShapes); + generateToggleClientLogModeFinalizer(context); + } + + private static void generateUnknownEventMessageError(GenerationContext context) { + var writer = context.getWriter().get(); + + var symbol = getUnknownEventMessageErrorSymbol(); + var message = getEventStreamSymbol("Message"); + + writer.write(""" + // $T provides an error when a message is received from the stream, + // but the reader is unable to determine what kind of message it is. + type $T struct { + Type string + Message $P + } + + // Error retruns the error message string. + func (e $P) Error() string { + return "unknown event stream message type, " + e.Type + } + """, symbol, symbol, message, symbol); + } + + private static Symbol getUnknownEventMessageErrorSymbol() { + return SymbolUtils.createPointableSymbolBuilder("UnknownEventMessageError").build(); + } + + private static void generateEventStreamClientLogModeFinalizer( + GenerationContext context, + Set operationShapes + ) { + var writer = context.getWriter().get(); + + var streamIndex = EventStreamIndex.of(context.getModel()); + + writer.openBlock("func $T(o *Options, operation string) {", "}", + getEventStreamClientLogModeFinalizerSymbol(), () -> { + writer.openBlock("switch operation {", "}", () -> { + operationShapes.forEach(operationShape -> { + var requestStream = streamIndex + .getInputInfo(operationShape).isPresent(); + var responseStream = streamIndex + .getOutputInfo(operationShape).isPresent(); + writer.write(""" + case $S: + $T(o, $L, $L) + return + """, operationShape.getId().getName(), + getToggleEventStreamClientLogModeSymbol(), requestStream, + responseStream); + }); + writer.write(""" + default: + return + """); + }); + }); + } + + private static void generateToggleClientLogModeFinalizer(GenerationContext context) { + var writer = context.getWriter().get(); + + var logRequest = SymbolUtils.createValueSymbolBuilder("LogRequest", + AwsGoDependency.AWS_CORE).build(); + var logResponse = SymbolUtils.createValueSymbolBuilder("LogResponse", + AwsGoDependency.AWS_CORE).build(); + + writer.openBlock("func $T(o *Options, request, response bool) {", "}", + getToggleEventStreamClientLogModeSymbol(), () -> { + writer.write(""" + mode := o.ClientLogMode + + if request && mode.IsRequestWithBody() { + mode.ClearRequestWithBody() + mode |= $T + } + + if response && mode.IsResponseWithBody() { + mode.ClearResponseWithBody() + mode |= $T + } + + o.ClientLogMode = mode + """, logRequest, logResponse + ); + }).write(""); + } + + public static Symbol getEventStreamClientLogModeFinalizerSymbol() { + return SymbolUtils.createValueSymbolBuilder("setSafeEventStreamClientLogMode") + .build(); + } + + private static Symbol getToggleEventStreamClientLogModeSymbol() { + return SymbolUtils.createValueSymbolBuilder("toggleEventStreamClientLogMode") + .build(); + } + + public static Symbol getAddEventStreamOperationMiddlewareSymbol(OperationShape operationShape) { + return SymbolUtils.createValueSymbolBuilder(String.format("addEventStream%sMiddleware", + StringUtils.capitalize(operationShape.getId().getName()))) + .build(); + } + + private static void generateEventStreamMiddleware( + GenerationContext context, + OperationShape operationShape, + boolean withInitialMessages + ) { + + var serviceShape = context.getService(); + var middlewareName = getSerDeName(operationShape, serviceShape, context.getProtocolName(), + "_deserializeOpEventStream"); + + var errorf = getSymbol("Errorf", SmithyGoDependency.FMT, false); + var getSignedRequestSignature = getSymbol("GetSignedRequestSignature", AwsGoDependency.AWS_SIGNER_V4, false); + var symbolProvider = context.getSymbolProvider(); + var model = context.getModel(); + var outputShape = model.expectShape(operationShape.getOutput().get()); + + var inputInfo = EventStreamIndex.of(model).getInputInfo(operationShape); + var outputInfo = EventStreamIndex.of(model).getOutputInfo(operationShape); + + var writer = context.getWriter().get(); + + var middleware = GoStackStepMiddlewareGenerator.createDeserializeStepMiddleware(middlewareName, MiddlewareIdentifier.builder() + .name("OperationEventStreamDeserializer") + .build()); + + middleware.writeMiddleware(writer, + (mg, w) -> { + w.write(""" + defer func() { + if err == nil { + return + } + m.closeResponseBody(out) + }() + + logger := $T(ctx) + """, getSymbol("GetLogger", + SmithyGoDependency.SMITHY_MIDDLEWARE, false)); + + w.write(""" + request, ok := in.Request.($P) + if !ok { + return out, metadata, $T("unknown transport type: %T", in.Request) + } + _ = request + """, getSymbol("Request", SmithyGoDependency.SMITHY_HTTP_TRANSPORT), errorf); + + if (inputInfo.isPresent()) { + w.write(""" + if err := $T(request); err != nil { + return out, metadata, err + } + """, getEventStreamApiSymbol("ApplyHTTPTransportFixes")) + .write(""); + + w.write(""" + requestSignature, err := $T(request.Request) + if err != nil { + return out, metadata, $T("failed to get event stream seed signature: %v", err) + } + """, getSignedRequestSignature, errorf).write("") + .openBlock("signer := $T(", ")", getSymbol("NewStreamSigner", + AwsGoDependency.AWS_SIGNER_V4, false), () -> w + .write(""" + $T(ctx), + $T(ctx), + $T(ctx), + requestSignature, + """, getSymbol("GetSigningCredentials", + AwsGoDependency.AWS_MIDDLEWARE, false), + getSymbol("GetSigningName", + AwsGoDependency.AWS_MIDDLEWARE, false), + getSymbol("GetSigningRegion", + AwsGoDependency.AWS_MIDDLEWARE, false) + )).write(""); + + var events = inputInfo.get().getEventStreamTarget().asUnionShape() + .get(); + var constructorName = getEventStreamWriterImplConstructorName(events, + serviceShape); + var newEncoder = getEventStreamSymbol("NewEncoder", false); + var encoderOptions = getEventStreamSymbol("EncoderOptions"); + w.openBlock("eventWriter := $L(", ")", constructorName, () -> { + w.write("$T(ctx),", getEventStreamApiSymbol("GetInputStreamWriter", + false)) + .openBlock("$T(func(options $P) {", "}),", newEncoder, + encoderOptions, () -> w + .write(""" + options.Logger = logger + options.LogMessages = m.LogEventStreamWrites + """)) + .write("signer,"); + if (withInitialMessages) { + w.write("$L,", getEventStreamMessageRequestSerializerName( + operationShape.getInput().get(), serviceShape, + context.getProtocolName())); + } + }) + .write(""" + defer func() { + if err == nil { + return + } + _ = eventWriter.Close() + }() + """); + + if (withInitialMessages) { + w.write(""" + reqSend := make(chan error, 1) + go func() { + defer close(reqSend) + reqSend <- eventWriter.send(ctx, &$T{Value: request}) + }() + """, getWriterEventWrapperInitialRequestType(symbolProvider, + inputInfo.get().getEventStreamTarget().asUnionShape().get(), serviceShape)); + } + } + + var outputSymbol = symbolProvider.toSymbol(outputShape); + w.write("out, metadata, err = next.HandleDeserialize(ctx, in)"); + + writer.openBlock("if err != nil {", "}", () -> { + writer.write("return out, metadata, err"); + }).write(""); + + if (withInitialMessages && inputInfo.isPresent()) { + w.write(""" + if err := <-reqSend; err != nil { + return out, metadata, err + } + """); + } + + w.write(""" + deserializeOutput, ok := out.RawResponse.($P) + if !ok { + return out, metadata, $T("unknown transport type: %T", out.RawResponse) + } + _ = deserializeOutput + + output, ok := out.Result.($P) + if out.Result != nil && !ok { + return out, metadata, $T("unexpected output result type: %T", out.Result) + } else if out.Result == nil { + output = &$T{} + out.Result = output + } + """, getSymbol("Response", SmithyGoDependency.SMITHY_HTTP_TRANSPORT), errorf, + outputSymbol, errorf, outputSymbol + ); + + if (outputInfo.isPresent()) { + var events = outputInfo.get().getEventStreamTarget().asUnionShape() + .get(); + var constructorName = getEventStreamReaderImplConstructorName(events, + serviceShape); + var newDecoder = getEventStreamSymbol("NewDecoder", false); + var decoderOptions = getEventStreamSymbol("DecoderOptions"); + w.openBlock("eventReader := $L(", ")", constructorName, () -> { + w.write("deserializeOutput.Body,") + .openBlock("$T(func(options $P) {", "}),", newDecoder, + decoderOptions, () -> w + .write(""" + options.Logger = logger + options.LogMessages = m.LogEventStreamReads + """)); + if (withInitialMessages) { + w.write("$L,", getEventStreamMessageResponseDeserializerName( + operationShape.getOutput().get(), serviceShape, + context.getProtocolName())); + } + }) + .write(""" + defer func() { + if err == nil { + return + } + _ = eventReader.Close() + }() + """); + + if (withInitialMessages) { + w.write(""" + ir := <-eventReader.initialResponse + irv, ok := ir.($P) + if !ok { + return out, metadata, $T("unexpected output result type: %T", ir) + } + *output = *irv + """, outputSymbol, errorf); + } + } + + var streamConstructor = EventStreamGenerator.getEventStreamOperationStructureConstructor( + serviceShape, operationShape); + var operationStream = EventStreamGenerator.getEventStreamOperationStructureSymbol( + serviceShape, operationShape); + + w.openBlock("output.eventStream = $T(func(stream $P) {", "})", streamConstructor, + operationStream, () -> { + inputInfo.ifPresent(eventStreamInfo -> { + w.write("stream.Writer = eventWriter"); + }); + outputInfo.ifPresent(eventStreamInfo -> { + w.write("stream.Reader = eventReader"); + }); + }).write("") + .write("go output.eventStream.waitStreamClose()").write("") + .write("return out, metadata, nil"); + }, + (mg, w) -> w.write(""" + LogEventStreamWrites bool + LogEventStreamReads bool + """)); + + var deserializeOutput = getSymbol("DeserializeOutput", SmithyGoDependency.SMITHY_MIDDLEWARE); + var httpResponse = getSymbol("Response", SmithyGoDependency.SMITHY_HTTP_TRANSPORT); + var copy = getSymbol("Copy", SmithyGoDependency.IO); + var discard = getSymbol("Discard", SmithyGoDependency.IOUTIL); + writer.write(""" + + func ($P) closeResponseBody(out $T) { + if resp, ok := out.RawResponse.($P); ok && resp != nil && resp.Body != nil { + _, _ = $T($T, resp.Body) + _ = resp.Body.Close() + } + } + """, middleware.getMiddlewareSymbol(), deserializeOutput, httpResponse, copy, discard); + + var stack = getSymbol("Stack", SmithyGoDependency.SMITHY_MIDDLEWARE); + var before = getSymbol("Before", SmithyGoDependency.SMITHY_MIDDLEWARE); + + writer.write(""" + func $T(stack $P, options Options) error { + return stack.Deserialize.Insert(&$T{ + LogEventStreamWrites: options.ClientLogMode.IsRequestEventMessage(), + LogEventStreamReads: options.ClientLogMode.IsResponseEventMessage(), + }, "OperationDeserializer", $T) + } + """, getAddEventStreamOperationMiddlewareSymbol(operationShape), + stack, middleware.getMiddlewareSymbol(), before); + } + + private static void generateEventSignerInterface(GoSettings settings, GoWriter writer) { + writer.openBlock("type $T interface {", "}", getModuleSymbol(settings, EVENT_STREAM_SIGNER_INTERFACE), + () -> { + writer.write("GetSignature(ctx context.Context, headers, payload []byte, signingTime time.Time, " + + "optFns ...func($P)) ([]byte, error)", + SymbolUtils.createPointableSymbolBuilder("StreamSignerOptions", + AwsGoDependency.AWS_SIGNER_V4) + .build()); + }).write(""); + } + + private static void generateEventStreamReader( + GenerationContext context, + UnionShape eventStream, + Set operationShapes, + boolean withInitialMessages + ) { + var settings = context.getSettings(); + var service = context.getService(); + var symbolProvider = context.getSymbolProvider(); + var writer = context.getWriter().get(); + + var eventUnionSymbol = symbolProvider.toSymbol(eventStream); + + var eventSymbol = withInitialMessages ? getReaderEventWrapperInterface(symbolProvider, + eventStream, service) : eventUnionSymbol; + + var readerImplName = getEventStreamReaderImplName(eventStream, service); + var readerSymbol = getModuleSymbol(settings, readerImplName); + + var decoderSymbol = getEventStreamSymbol("Decoder"); + + var messageSymbol = SymbolUtils.createPointableSymbolBuilder("Message", + AwsGoDependency.SERVICE_INTERNAL_EVENTSTREAM).build(); + + var readCloser = getSymbol("ReadCloser", SmithyGoDependency.IO, false); + + if (withInitialMessages) { + generateEventStreamReaderMessageWrapper(eventStream, service, symbolProvider, writer, eventUnionSymbol); + } + + writer.openBlock("type $T struct {", "}", readerSymbol, () -> { + var onceErr = getSymbol("OnceErr", SmithyGoDependency.SMITHY_SYNC); + var syncOnce = getSymbol("Once", SmithyGoDependency.SYNC, false); + + writer.write(""" + stream chan $T + decoder $P + eventStream $T + err $P + payloadBuf []byte + done chan struct{} + closeOnce $T""", eventUnionSymbol, decoderSymbol, readCloser, onceErr, syncOnce); + if (withInitialMessages) { + writer.write("initialResponseDeserializer func($P) (interface{}, error)", messageSymbol); + writer.write("initialResponse chan interface{}"); + } + }).write(""); + + writer.writeInline("func $L(readCloser $T, decoder $P", + getEventStreamReaderImplConstructorName(eventStream, service), readCloser, + getSymbol("Decoder", AwsGoDependency.SERVICE_INTERNAL_EVENTSTREAM)); + if (withInitialMessages) { + writer.writeInline(", ird func($P) (interface{}, error)", messageSymbol); + } + writer.openBlock(") $P {", "}", + readerSymbol, () -> { + var newOnceErr = getSymbol("NewOnceErr", SmithyGoDependency.SMITHY_SYNC, false); + writer.openBlock("w := &$T{", "}", readerSymbol, () -> { + writer.write(""" + stream: make(chan $T), + decoder: decoder, + eventStream: readCloser, + err: $T(), + done: make(chan struct{}), + payloadBuf: make([]byte, 10*1024),""", eventUnionSymbol, newOnceErr); + if (withInitialMessages) { + writer.write("initialResponseDeserializer: ird,"); + writer.write("initialResponse: make(chan interface{}, 1),"); + } + }).write(""); + + writer.write(""" + go w.readEventStream() + + return w"""); + }).write(""); + + writer.openBlock("func (r $P) Events() <-chan $T {", "}", readerSymbol, eventUnionSymbol, () -> writer + .write("return r.stream")).write(""); + + writer.openBlock("func (r $P) readEventStream() {", "}", readerSymbol, () -> { + writer.write(""" + defer r.Close() + defer close(r.stream) + """); + + if (withInitialMessages) { + writer.write(""" + defer func() { + close(r.initialResponse) + for range r.initialResponse {} + }() + """); + } + + writer.openBlock("for {", "}", () -> { + writer.write(""" + r.payloadBuf = r.payloadBuf[0:0] + decodedMessage, err := r.decoder.Decode(r.eventStream, r.payloadBuf) + if err != nil { + if err == $T { + return + } + select { + case <-r.done: + return + default: + r.err.SetError(err) + return + } + } + + event, err := r.deserializeEventMessage(&decodedMessage) + if err != nil { + r.err.SetError(err) + return + } + """, SymbolUtils.createValueSymbolBuilder("EOF", + SmithyGoDependency.IO).build()); + + if (withInitialMessages) { + writer.write(""" + switch ev := event.(type) { + case $P: + select { + case r.initialResponse <- ev.Value: + case <-r.done: + return + default: + } + case $P: + select { + case r.stream <- ev.Value: + case <-r.done: + return + } + default: + r.err.SetError($T("unexpected event wrapper: %T", event)) + return + } + """, + getReaderEventWrapperInitialResponseType(symbolProvider, eventStream, service), + getReaderEventWrapperMessageType(symbolProvider, eventStream, service), + getSymbol("Errorf", SmithyGoDependency.FMT, false)); + } else { + writer.write(""" + select { + case r.stream <- event: + case <-r.done: + return + } + """); + } + }); + } + ).write(""); + + var errorf = SymbolUtils.createValueSymbolBuilder("Errorf", SmithyGoDependency.FMT).build(); + writer.openBlock("func (r $P) deserializeEventMessage(msg $P) ($T, error) {", "}", readerSymbol, messageSymbol, + eventSymbol, () -> { + var messageTypeHeader = getEventStreamApiSymbol("MessageTypeHeader", false); + var eventMessageType = getEventStreamApiSymbol("EventMessageType", false); + var exceptionMessageType = getEventStreamApiSymbol("ExceptionMessageType", false); + var errorMessageType = getEventStreamApiSymbol("ErrorMessageType", false); + + writer.write(""" + messageType := msg.Headers.Get($T) + if messageType == nil { + return nil, $T("%s event header not present", $T) + } + """, messageTypeHeader, errorf, messageTypeHeader) + .openBlock("switch messageType.String() {", "}", () -> writer + .openBlock("case $T:", "", eventMessageType, () -> { + if (withInitialMessages) { + var eventTypeHeader = getEventStreamApiSymbol("EventTypeHeader", + false); + writer.write(""" + eventType := msg.Headers.Get($T) + if eventType == nil { + return nil, $T("%s event header not present", $T) + } + + if eventType.String() == "initial-response" { + v, err := r.initialResponseDeserializer(msg) + if err != nil { + return nil, err + } + return &$T{Value: v}, nil + } + """, eventTypeHeader, errorf, eventTypeHeader, + getReaderEventWrapperInitialResponseType(symbolProvider, + eventStream, service)); + } + writer.write(""" + var v $T + if err := $L(&v, msg); err != nil { + return nil, err + }""", + eventUnionSymbol, getEventStreamDeserializerName(eventStream, + service, context.getProtocolName())); + if (withInitialMessages) { + writer.write("return &$T{Value: v}, nil", + getReaderEventWrapperMessageType(symbolProvider, + eventStream, service)); + } else { + writer.write("return v, nil"); + } + }) + .openBlock("case $T:", "", exceptionMessageType, () -> writer + .write("return nil, $L(msg)", + getEventStreamExceptionDeserializerName(eventStream, service, + context.getProtocolName()))) + .openBlock("case $T:", "", errorMessageType, () -> writer + .write(""" + errorCode := "UnknownError" + errorMessage := errorCode + if header := msg.Headers.Get($T); header != nil { + errorCode = header.String() + } + if header := msg.Headers.Get($T); header != nil { + errorMessage = header.String() + } + return nil, &$T{ + Code: errorCode, + Message: errorMessage, + } + """, getEventStreamApiSymbol("ErrorCodeHeader", false), + getEventStreamApiSymbol("ErrorMessageHeader", false), + getSymbol("GenericAPIError", SmithyGoDependency.SMITHY, false))) + .write(""" + default: + mc := msg.Clone() + return nil, &$T{ + Type: messageType.String(), + Message: &mc, + } + """, getUnknownEventMessageErrorSymbol())); + }).write(""); + + writer.openBlock("func (r $P) ErrorSet() <-chan struct{} {", "}", readerSymbol, () -> writer + .write("return r.err.ErrorSet()")).write(""); + + writer.openBlock("func (r $P) Close() error {", "}", readerSymbol, () -> writer + .write("r.closeOnce.Do(r.safeClose)") + .write("return r.Err()")).write(""); + + writer.openBlock("func (r $P) safeClose() {", "}", readerSymbol, () -> writer + .write(""" + close(r.done) + r.eventStream.Close() + """)).write(""); + + writer.openBlock("func (r $P) Err() error {", "}", readerSymbol, () -> writer + .write("return r.err.Err()")).write(""); + + writer.openBlock("func (r $P) Closed() <-chan struct{} {", "}", readerSymbol, + () -> writer.write("return r.done")).write(""); + } + + private static void generateEventStreamReaderMessageWrapper( + UnionShape eventStream, + ServiceShape service, + SymbolProvider symbolProvider, + GoWriter writer, + Symbol eventUnionSymbol + ) { + var readerEventWrapperInterface = getReaderEventWrapperInterface(symbolProvider, eventStream, service); + var interfaceMethod = "is" + StringUtils.capitalize(readerEventWrapperInterface.getName()); + + writer.write(""" + type $T interface { + $L() + } + """, readerEventWrapperInterface, interfaceMethod); + + var readerEventWrapperMessageType = getReaderEventWrapperMessageType(symbolProvider, eventStream, service); + writer.write(""" + type $T struct { + Value $P + } + + func ($P) $L() {} + """, readerEventWrapperMessageType, eventUnionSymbol, readerEventWrapperMessageType, + interfaceMethod); + + var readerEventWrapperInitialResponseType = getReaderEventWrapperInitialResponseType(symbolProvider, + eventStream, service); + writer.write(""" + type $T struct { + Value interface{} + } + + func ($P) $L() {} + """, readerEventWrapperInitialResponseType, readerEventWrapperInitialResponseType, + interfaceMethod); + } + + private static void generateEventStreamWriter( + GenerationContext context, + UnionShape eventStream, + Set eventStreamInfos, + boolean withInitialMessages + ) { + var settings = context.getSettings(); + var service = context.getService(); + var symbolProvider = context.getSymbolProvider(); + var writer = context.getWriter().get(); + + var eventUnionSymbol = symbolProvider.toSymbol(eventStream); + var asyncEventSymbol = getModuleSymbol(settings, getAsyncWriteReporterName(eventStream, + service)); + + + var eventSymbol = withInitialMessages ? getWriterEventWrapperInterface(symbolProvider, + eventStream, service) : eventUnionSymbol; + + generateAsyncWriteReporter(writer, eventSymbol, asyncEventSymbol); + + var writerImplName = getEventStreamWriterImplName(eventStream, service); + + var writerSymbol = getModuleSymbol(settings, writerImplName); + var encoderSymbol = getSymbol("Encoder", AwsGoDependency.SERVICE_INTERNAL_EVENTSTREAM); + var writeCloser = getSymbol("WriteCloser", SmithyGoDependency.IO); + var signerInterface = getModuleSymbol(settings, EVENT_STREAM_SIGNER_INTERFACE); + + var messageSymbol = getEventStreamSymbol("Message", false); + + if (withInitialMessages) { + generateEventStreamWriterMessageWrapper(eventStream, service, symbolProvider, writer, eventUnionSymbol); + } + + writer.openBlock("type $T struct {", "}", writerSymbol, () -> { + var bytesBufferSymbol = SymbolUtils.createPointableSymbolBuilder("Buffer", + SmithyGoDependency.BYTES).build(); + + var syncOnce = getSymbol("Once", SmithyGoDependency.SYNC); + var onceErr = getSymbol("OnceErr", SmithyGoDependency.SMITHY_SYNC); + + writer.write(""" + encoder $P + signer $T + stream chan $T + serializationBuffer $P + signingBuffer $P + eventStream $T + done chan struct{} + closeOnce $T + err $P + """, encoderSymbol, signerInterface, asyncEventSymbol, bytesBufferSymbol, bytesBufferSymbol, + writeCloser, syncOnce, onceErr); + + if (withInitialMessages) { + writer.write("initialRequestSerializer func(interface{}, $P) error", messageSymbol); + } + }).write(""); + + Symbol bytesNewBuffer = SymbolUtils.createValueSymbolBuilder("NewBuffer", + SmithyGoDependency.BYTES).build(); + + writer.writeInline("func $L(stream $T, encoder $P, signer $T", + getEventStreamWriterImplConstructorName(eventStream, service), writeCloser, encoderSymbol, + signerInterface); + if (withInitialMessages) { + writer.writeInline(", irs func(interface{}, $P) error", messageSymbol); + } + writer.openBlock(") $P {", "}", writerSymbol, () -> writer + .openBlock("w := &$T{", "}", writerSymbol, () -> { + var onceErr = SymbolUtils.createValueSymbolBuilder("NewOnceErr", + SmithyGoDependency.SMITHY_SYNC).build(); + writer.write(""" + encoder: encoder, + signer: signer, + stream: make(chan $T), + eventStream: stream, + done: make(chan struct{}), + err: $T(), + serializationBuffer: $T(nil), + signingBuffer: $T(nil), + """, asyncEventSymbol, onceErr, bytesNewBuffer, bytesNewBuffer); + if (withInitialMessages) { + writer.write("initialRequestSerializer: irs,"); + } + }).write("") + .write(""" + go w.writeStream() + + return w + """)).write(""); + + Symbol contextSymbol = SymbolUtils.createValueSymbolBuilder("Context", SmithyGoDependency.CONTEXT).build(); + + writer.openBlock("func (w $P) Send(ctx $P, event $P) error {", "}", writerSymbol, contextSymbol, + eventUnionSymbol, () -> { + if (withInitialMessages) { + writer.write("return w.send(ctx, &$T{Value: event})", + getWriterEventWrapperMessageType(symbolProvider, eventStream, service)); + } else { + writer.write("return w.send(ctx, event)"); + } + }).write(""); + + writer.openBlock("func (w $P) send(ctx $P, event $P) error {", "}", writerSymbol, contextSymbol, + eventSymbol, () -> { + writer.write(""" + if err := w.err.Err(); err != nil { + return err + } + + resultCh := make(chan error) + + wrapped := $T{ + Event: event, + Result: resultCh, + } + """, asyncEventSymbol); + + Symbol errorfSymbol = SymbolUtils.createValueSymbolBuilder("Errorf", SmithyGoDependency.FMT) + .build(); + final String streamClosedError = "stream closed, unable to send event"; + + writer.openBlock("select {", "}", () -> writer + .write(""" + case w.stream <- wrapped: + case <-ctx.Done(): + return ctx.Err() + case <-w.done: + return $T($S) + """, errorfSymbol, streamClosedError)).write(""); + + writer.openBlock("select {", "}", () -> writer + .write(""" + case err := <-resultCh: + return err + case <-ctx.Done(): + return ctx.Err() + case <-w.done: + return $T($S) + """, errorfSymbol, streamClosedError)).write(""); + }).write(""); + + writer.openBlock("func (w $P) writeStream() {", "}", writerSymbol, () -> writer + .write("defer w.Close()").write("") + .openBlock("for {", "}", () -> writer + .openBlock("select {", "}", () -> writer + .openBlock("case wrapper := <-w.stream:", "", () -> writer + .write("err := w.writeEvent(wrapper.Event)") + .write("wrapper.ReportResult(w.done, err)") + .openBlock("if err != nil {", "}", () -> writer + .write("w.err.SetError(err)") + .write("return"))) + .openBlock("case <-w.done:", "", () -> writer + .openBlock("if err := w.closeStream(); err != nil {", "}", + () -> writer.write("w.err.SetError(err)")) + .write("return"))))).write(""); + + writer.openBlock("func (w $P) writeEvent(event $P) error {", "}", writerSymbol, eventSymbol, () -> { + Runnable returnErr = () -> writer.openBlock("if err != nil {", "}", () -> writer.write("return err")) + .write(""); + writer.writeDocs(""" + serializedEvent returned bytes refers to an underlying byte buffer and must not escape + this writeEvent scope without first copying. Any previous bytes stored in the buffer + are cleared by this call. + """); + writer.write("serializedEvent, err := w.serializeEvent(event)"); + returnErr.run(); + writer.writeDocs(""" + signedEvent returned bytes refers to an underlying byte buffer and must not escape + this writeEvent scope without first copying. Any previous bytes stored in the buffer + are cleared by this call. + """); + writer.write("signedEvent, err := w.signEvent(serializedEvent)"); + returnErr.run(); + writer.writeDocs("bytes are now copied to the underlying stream writer"); + writer.write("_, err = io.Copy(w.eventStream, bytes.NewReader(signedEvent))") + .write("return err"); + }).write(""); + + writer.openBlock("func (w $P) serializeEvent(event $P) ([]byte, error) {", "}", writerSymbol, eventSymbol, + () -> { + writer.write("w.serializationBuffer.Reset()").write("") + .write("eventMessage := $T{}", messageSymbol).write(""); + + if (withInitialMessages) { + var initialRequestType = getWriterEventWrapperInitialRequestType(symbolProvider, eventStream, + service); + var messageEventType = getWriterEventWrapperMessageType(symbolProvider, eventStream, + service); + var errorf = getSymbol("Errorf", SmithyGoDependency.FMT, false); + writer.write(""" + switch ev := event.(type) { + case $P: + if err := w.initialRequestSerializer(ev.Value, &eventMessage); err != nil { + return nil, err + } + case $P: + if err := $L(ev.Value, &eventMessage); err != nil { + return nil, err + } + default: + return nil, $T("unknown event wrapper type: %v", event) + } + """, initialRequestType, messageEventType, errorf); + } else { + writer.write(""" + if err := $L(event, &eventMessage); err != nil { + return nil, err + } + """, + getEventStreamSerializerName(eventStream, service, context.getProtocolName())); + } + + writer.write(""" + if err := w.encoder.Encode(w.serializationBuffer, eventMessage); err != nil { + return nil, err + } + + return w.serializationBuffer.Bytes(), nil"""); + }).write(""); + + writer.openBlock("func (w $P) signEvent(payload []byte) ([]byte, error) {", "}", writerSymbol, () -> { + var timestampValue = getEventStreamSymbol("TimestampValue", false); + var dateHeader = getEventStreamApiSymbol("DateHeader", false); + var chunkSignatureHeader = getEventStreamApiSymbol("ChunkSignatureHeader", false); + var bytesValue = getEventStreamSymbol("BytesValue", false); + + writer.addUseImports(SmithyGoDependency.TIME); + writer.write("w.signingBuffer.Reset()").write("") + .write("date := time.Now().UTC()").write("") + .write("var msg $T", messageSymbol) + .write("msg.Headers.Set($T, $T(date))", dateHeader, timestampValue) + .write("msg.Payload = payload").write("") + .write("var headers bytes.Buffer") + .openBlock("if err := $T(&headers, msg.Headers); err != nil {", "}", + getEventStreamSymbol("EncodeHeaders", false), + () -> writer.write("return nil, err")).write("") + .write("sig, err := w.signer.GetSignature(context.Background(), headers.Bytes(), " + + "msg.Payload, date)") + .openBlock("if err != nil {", "}", () -> writer + .write("return nil, err")).write("") + .write("msg.Headers.Set($T, $T(sig))", chunkSignatureHeader, bytesValue).write("") + .openBlock("if err := w.encoder.Encode(w.signingBuffer, msg); err != nil {", "}", () -> writer + .write("return nil, err")).write("") + .write("return w.signingBuffer.Bytes(), nil"); + }).write(""); + + writer.openBlock("func (w $P) closeStream() (err error) {", "}", writerSymbol, () -> writer + .openBlock("defer func() {", "}()", () -> writer + .openBlock("if cErr := w.eventStream.Close(); cErr != nil && err == nil {", "}", + () -> writer.write("err = cErr"))).write("") + .write(""" + // Per the protocol, a signed empty message is used to indicate the end of the stream, + // and that no subsequent events will be sent. + signedEvent, err := w.signEvent([]byte{})""") + .openBlock("if err != nil {", "}", () -> writer.write("return err")).write("") + .write("_, err = io.Copy(w.eventStream, bytes.NewReader(signedEvent))") + .write("return err")).write(""); + + writer.openBlock("func (w $P) ErrorSet() <-chan struct{} {", "}", writerSymbol, () -> writer + .write("return w.err.ErrorSet()")).write(""); + + writer.openBlock("func (w $P) Close() error {", "}", writerSymbol, () -> writer + .write("w.closeOnce.Do(w.safeClose)") + .write("return w.Err()")).write(""); + + writer.openBlock("func (w $P) safeClose() {", "}", writerSymbol, () -> writer + .write("close(w.done)")).write(""); + + writer.openBlock("func (w $P) Err() error {", "}", writerSymbol, () -> writer + .write("return w.err.Err()")).write(""); + } + + private static void generateEventStreamWriterMessageWrapper( + UnionShape eventStream, + ServiceShape service, + SymbolProvider symbolProvider, + GoWriter writer, + Symbol eventUnionSymbol + ) { + var writerEventWrapperInterface = getWriterEventWrapperInterface(symbolProvider, eventStream, service); + var interfaceMethod = "is" + StringUtils.capitalize(writerEventWrapperInterface.getName()); + writer.write(""" + type $T interface { + $L() + } + """, writerEventWrapperInterface, interfaceMethod); + + var writerEventWrapperMessageType = getWriterEventWrapperMessageType(symbolProvider, eventStream, service); + writer.write(""" + type $T struct { + Value $P + } + + func ($P) $L() {} + """, writerEventWrapperMessageType, eventUnionSymbol, writerEventWrapperMessageType, + interfaceMethod); + + var writerEventWrapperInitialRequestType = getWriterEventWrapperInitialRequestType(symbolProvider, eventStream, + service); + writer.write(""" + type $T struct { + Value interface{} + } + + func ($P) $L() {} + """, writerEventWrapperInitialRequestType, writerEventWrapperInitialRequestType, interfaceMethod); + } + + private static Symbol getWriterEventWrapperInterface( + SymbolProvider symbolProvider, + UnionShape eventStream, + ServiceShape service + ) { + var name = StringUtils.uncapitalize(eventStream.toShapeId().getName(service)) + "WriteEvent"; + return SymbolUtils.createValueSymbolBuilder(name, symbolProvider.toSymbol(service).getNamespace()).build(); + } + + private static Symbol getWriterEventWrapperMessageType( + SymbolProvider symbolProvider, + UnionShape eventStream, + ServiceShape service + ) { + var interfaceSymbol = getWriterEventWrapperInterface(symbolProvider, eventStream, service); + var name = interfaceSymbol.getName() + "Message"; + return SymbolUtils.createPointableSymbolBuilder(name, symbolProvider.toSymbol(service).getNamespace()) + .build(); + } + + private static Symbol getWriterEventWrapperInitialRequestType( + SymbolProvider symbolProvider, + UnionShape eventStream, + ServiceShape service + ) { + var interfaceSymbol = getWriterEventWrapperInterface(symbolProvider, eventStream, service); + var name = interfaceSymbol.getName() + "InitialRequest"; + return SymbolUtils.createPointableSymbolBuilder(name, symbolProvider.toSymbol(service).getNamespace()) + .build(); + } + + private static Symbol getReaderEventWrapperInterface( + SymbolProvider symbolProvider, + UnionShape eventStream, + ServiceShape service + ) { + var name = StringUtils.uncapitalize(eventStream.toShapeId().getName(service)) + "ReadEvent"; + return SymbolUtils.createValueSymbolBuilder(name, symbolProvider.toSymbol(service).getNamespace()).build(); + } + + private static Symbol getReaderEventWrapperMessageType( + SymbolProvider symbolProvider, + UnionShape eventStream, + ServiceShape service + ) { + var interfaceSymbol = getReaderEventWrapperInterface(symbolProvider, eventStream, service); + var name = interfaceSymbol.getName() + "Message"; + return SymbolUtils.createPointableSymbolBuilder(name, symbolProvider.toSymbol(service).getNamespace()) + .build(); + } + + private static Symbol getReaderEventWrapperInitialResponseType( + SymbolProvider symbolProvider, + UnionShape eventStream, + ServiceShape service + ) { + var interfaceSymbol = getReaderEventWrapperInterface(symbolProvider, eventStream, service); + var name = interfaceSymbol.getName() + "InitialResponse"; + return SymbolUtils.createPointableSymbolBuilder(name, symbolProvider.toSymbol(service).getNamespace()) + .build(); + } + + public static void generateEventStreamSerializer( + GenerationContext context, + UnionShape eventUnion + ) { + GoWriter writer = context.getWriter().get(); + SymbolProvider symbolProvider = context.getSymbolProvider(); + ServiceShape serviceShape = context.getService(); + Symbol eventUnionSymbol = symbolProvider.toSymbol(eventUnion); + Model model = context.getModel(); + GoPointableIndex pointableIndex = GoPointableIndex.of(model); + + var eventTypeHeader = getEventStreamApiSymbol("EventTypeHeader", false); + var stringValue = getEventStreamSymbol("StringValue", false); + + writer.openBlock("func $L(v $P, msg $P) error {", "}", getEventStreamSerializerName(eventUnion, + serviceShape, context.getProtocolName()), eventUnionSymbol, + getEventStreamSymbol("Message"), () -> { + Symbol errof = getSymbol("Errorf", SmithyGoDependency.FMT, false); + writer.write(""" + if v == nil { + return $T("unexpected serialization of nil %T", v) + } + """, errof) + .write("") + .openBlock("switch vv := v.(type) {", "}", () -> { + for (MemberShape member : eventUnion.members()) { + Symbol memberSymbol = SymbolUtils.createPointableSymbolBuilder( + symbolProvider.toMemberName(member), + eventUnionSymbol.getNamespace()) + .build(); + + writer.openBlock("case $P:", "", memberSymbol, () -> writer + .write("msg.Headers.Set($T, $T($S))", eventTypeHeader, stringValue, + member.getMemberName()) + .write("return $L($L, msg)", + getEventStreamMessageSerializerName(member.getTarget(), + serviceShape, context.getProtocolName()), + CodegenUtils.getAsPointerIfPointable(model, writer, pointableIndex, + model.expectShape(member.getTarget()), "vv.Value"))); + } + writer.write(""" + default: + return $T("unexpected event message type: %v", v) + """, errof); + }); + }); + } + + public static void generateEventMessageSerializer( + GenerationContext context, + Shape targetShape, + MessageSerDelegator messageSerDelegator + ) { + var writer = context.getWriter().get(); + var model = context.getModel(); + + var serviceShape = context.getService(); + var serializerName = getEventStreamMessageSerializerName(targetShape, serviceShape, + context.getProtocolName()); + + var errorf = getSymbol("Errorf", SmithyGoDependency.FMT, false); + var messageTypeHeader = getEventStreamApiSymbol("MessageTypeHeader"); + var stringValue = getEventStreamSymbol("StringValue", false); + var eventMessageType = getEventStreamApiSymbol("EventMessageType", false); + var contentTypeHeader = getEventStreamApiSymbol("ContentTypeHeader", false); + + var symbolProvider = context.getSymbolProvider(); + + writer.openBlock("func $L(v $P, msg $P) error {", "}", serializerName, symbolProvider.toSymbol(targetShape), + getEventStreamSymbol("Message"), () -> { + writer.write(""" + if v == nil { + return $T("unexpected serialization of nil %T", v) + } + """, errorf).write("") + .write("msg.Headers.Set($T, $T($T))", messageTypeHeader, stringValue, eventMessageType); + + var headerBindings = targetShape.members().stream() + .filter(memberShape -> memberShape.hasTrait(EventHeaderTrait.class)) + .collect(Collectors.toSet()); + + var payloadBinding = targetShape.members().stream() + .filter(memberShape -> memberShape.hasTrait(EventPayloadTrait.class)) + .reduce((memberShape, memberShape2) -> { + throw new CodegenException("expect only one EventPayloadTrait targetShape"); + }); + + if (!headerBindings.isEmpty() || payloadBinding.isPresent()) { + for (var headerBinding : headerBindings) { + new HeaderShapeSerVisitor(writer, model, headerBinding, "msg", + headerBinding.getMemberName(), symbolProvider.toMemberName(headerBinding)) + .writeHeaderSerializer(); + } + if (payloadBinding.isPresent()) { + var memberShape = payloadBinding.get(); + var payloadTarget = model.expectShape(memberShape.getTarget()); + switch (payloadTarget.getType()) { + case STRUCTURE: + case UNION: + messageSerDelegator.writeSerPayloadDelegation(context, payloadTarget, + "v." + symbolProvider.toMemberName(memberShape)); + break; + case STRING: + GoValueAccessUtils.writeIfNonZeroValueMember(model, symbolProvider, writer, + memberShape, "v", operand -> { + writer.write("msg.Headers.Set($T, $T(\"text/plain\"))", + contentTypeHeader, stringValue); + writer.write("msg.Payload = []byte($L)", operand); + }); + writer.write("return nil"); + break; + case BLOB: + GoValueAccessUtils.writeIfNonZeroValueMember(model, symbolProvider, writer, + memberShape, "v", operand -> { + writer.write("msg.Headers.Set($T, $T(\"application/octet-stream\"))", + contentTypeHeader, stringValue); + writer.write("msg.Payload = $L", operand); + }); + writer.write("return nil"); + break; + default: + throw new CodegenException("unexpected event payload shape: " + + payloadTarget.getType()); + } + } + } else { + messageSerDelegator.writeSerPayloadDelegation(context, targetShape, "v"); + } + }).write(""); + } + + public static void generateEventStreamDeserializer(GenerationContext context, UnionShape eventUnion) { + var writer = context.getWriter().get(); + var symbolProvider = context.getSymbolProvider(); + var serviceShape = context.getService(); + var eventUnionSymbol = symbolProvider.toSymbol(eventUnion); + var model = context.getModel(); + + var deserializerName = getEventStreamDeserializerName(eventUnion, + serviceShape, context.getProtocolName()); + writer.openBlock("func $L(v *$T, msg $P) error {", "}", deserializerName, eventUnionSymbol, + getEventStreamSymbol("Message"), () -> { + var errof = getSymbol("Errorf", SmithyGoDependency.FMT, false); + var eventTypeHeader = getEventStreamApiSymbol("EventTypeHeader", false); + var equalFold = SymbolUtils.createValueSymbolBuilder("EqualFold", + SmithyGoDependency.STRINGS).build(); + writer.write(""" + if v == nil { + return $T("unexpected serialization of nil %T", v) + } + """, errof) + .write("") + .write(""" + eventType := msg.Headers.Get($T) + if eventType == nil { + return $T("%s event header not present", $T) + } + """, eventTypeHeader, errof, eventTypeHeader).write("") + .openBlock("switch {", "}", () -> { + var members = eventUnion.members().stream() + .filter(ms -> ms.getMemberTrait(model, ErrorTrait.class).isEmpty()) + .collect(Collectors.toCollection(TreeSet::new)); + for (var member : members) { + writer.openBlock("case $T($S, eventType.String()):", "", equalFold, + member.getMemberName(), () -> { + var messageDeserializerName = + getEventStreamMessageDeserializerName( + model.expectShape(member.getTarget()), serviceShape, + context.getProtocolName()); + var memberSymbol = SymbolUtils.createValueSymbolBuilder( + symbolProvider.toMemberName(member), + eventUnionSymbol.getNamespace()) + .build(); + writer.write(""" + vv := &$T{} + if err := $L(&vv.Value, msg); err != nil { + return err + } + *v = vv + return nil + """, memberSymbol, messageDeserializerName); + }); + } + var newBuffer = getSymbol("NewBuffer", SmithyGoDependency.BYTES); + var newEncoder = getEventStreamSymbol("NewEncoder"); + writer.write(""" + default: + buffer := $T(nil) + $T().Encode(buffer, *msg) + *v = &$T{ + Tag: eventType.String(), + Value: buffer.Bytes(), + } + return nil + """, newBuffer, newEncoder, SymbolUtils. + createValueSymbolBuilder("UnknownUnionMember", + eventUnionSymbol.getNamespace()).build()); + }); + }).write(""); + } + + public static void generateEventStreamExceptionDeserializer( + GenerationContext context, + UnionShape eventUnion, + UnknownExceptionDeserDelegator unknownExceptionDeserDelegator + ) { + var writer = context.getWriter().get(); + var model = context.getModel(); + + var serviceShape = context.getService(); + var protocolName = context.getProtocolName(); + var deserializerName = getEventStreamExceptionDeserializerName(eventUnion, serviceShape, + protocolName); + + var errorf = getSymbol("Errorf", SmithyGoDependency.FMT, false); + var exceptionTypeHeader = getEventStreamApiSymbol("ExceptionTypeHeader", false); + + var equalFold = SymbolUtils.createValueSymbolBuilder("EqualFold", SmithyGoDependency.STRINGS).build(); + + writer.openBlock("func $L(msg $P) error {", "}", deserializerName, getEventStreamSymbol("Message"), () -> { + writer.write(""" + exceptionType := msg.Headers.Get($T) + if exceptionType == nil { + return $T("%s event header not present", $T) + } + """, exceptionTypeHeader, errorf, exceptionTypeHeader).write(""); + + var errorMemberShapes = eventUnion.members().stream() + .filter(ms -> ms.getMemberTrait(model, ErrorTrait.class).isPresent()) + .collect(Collectors.toCollection(TreeSet::new)); + + writer.openBlock("switch {", "}", () -> { + for (MemberShape memberShape : errorMemberShapes) { + writer.openBlock("case $T($S, exceptionType.String()):", "", equalFold, + memberShape.getMemberName(), () -> { + writer.write("return $L(msg)", + getEventMessageExceptionDeserializerName(memberShape.getTarget(), + serviceShape, protocolName)); + }); + } + writer.openBlock("default:", "", () -> { + unknownExceptionDeserDelegator.writeUnknownExceptionDelegator(context); + }); + }); + }).write(""); + } + + private static String getEventMessageExceptionDeserializerName( + ToShapeId toShapeId, + ServiceShape serviceShape, + String protocolName + ) { + return getSerDeName(toShapeId, serviceShape, protocolName, "_deserializeEventMessageException"); + } + + private static String getEventStreamExceptionDeserializerName( + ToShapeId toShapeId, + ServiceShape serviceShape, + String protocolName + ) { + return getSerDeName(toShapeId, serviceShape, protocolName, "_deserializeEventStreamException"); + } + + private static String getEventStreamMessageDeserializerName( + ToShapeId toShapeId, + ServiceShape serviceShape, + String protocolName + ) { + return getSerDeName(toShapeId, serviceShape, protocolName, "_deserializeEventMessage"); + } + + private static String getEventStreamDeserializerName( + ToShapeId toShapeId, + ServiceShape serviceShape, + String protocolName + ) { + return getSerDeName(toShapeId, serviceShape, protocolName, "_deserializeEventStream"); + } + + public static void generateEventMessageDeserializer( + GenerationContext context, + Shape targetShape, + MessageDeserDelegator messageDeserDelegator + ) { + var writer = context.getWriter().get(); + var model = context.getModel(); + + var serviceShape = context.getService(); + var deserializerName = getEventStreamMessageDeserializerName(targetShape, serviceShape, + context.getProtocolName()); + + var errorf = getSymbol("Errorf", SmithyGoDependency.FMT, false); + var pointableIndex = GoPointableIndex.of(model); + + var symbolProvider = context.getSymbolProvider(); + + writer.openBlock("func $L(v $P, msg $P) error {", "}", deserializerName, symbolProvider.toSymbol(targetShape), + getEventStreamSymbol("Message"), () -> { + writer.write(""" + if v == nil { + return $T("unexpected serialization of nil %T", v) + } + """, errorf).write(""); + + var headerBindings = targetShape.members().stream() + .filter(memberShape -> memberShape.hasTrait(EventHeaderTrait.class)) + .collect(Collectors.toSet()); + + var payloadBinding = targetShape.members().stream() + .filter(memberShape -> memberShape.hasTrait(EventPayloadTrait.class)) + .reduce((memberShape, memberShape2) -> { + throw new CodegenException("expect only one EventPayloadTrait targetShape"); + }); + + if (!headerBindings.isEmpty() || payloadBinding.isPresent()) { + for (var headerBinding : headerBindings) { + var dest = String.format("v.%s", + symbolProvider.toMemberName(headerBinding)); + new HeaderShapeDeserVisitor(writer, model, headerBinding, dest, + headerBinding.getMemberName(), "msg").writeDeserializer(); + } + if (payloadBinding.isPresent()) { + var memberShape = payloadBinding.get(); + var payloadTarget = model.expectShape(memberShape.getTarget()); + switch (payloadTarget.getType()) { + case STRUCTURE: + case UNION: + messageDeserDelegator.writeDeserPayloadDelegation(context, payloadTarget, + "v." + symbolProvider.toMemberName(memberShape)); + break; + case STRING: + writer.openBlock("if msg.Payload != nil {", "}", () -> { + var pointable = CodegenUtils.getAsPointerIfPointable(model, writer, + pointableIndex, memberShape, "string(msg.Payload)"); + writer.write("$L = $L", String.format("v.%s", + symbolProvider.toMemberName(memberShape)), pointable); + }); + writer.write("return nil"); + break; + case BLOB: + writer.openBlock("if msg.Payload != nil {", "}", () -> { + writer.write(""" + bsv := make([]byte, len(msg.Payload)) + copy(bsv, msg.Payload) + """); + var pointable = CodegenUtils.getAsPointerIfPointable(model, writer, + pointableIndex, memberShape, "bsv"); + writer.write("$L = $L", String.format("v.%s", + symbolProvider.toMemberName(memberShape)), pointable); + }); + writer.write("return nil"); + break; + default: + throw new CodegenException("unexpected event payload shape: " + + payloadTarget.getType()); + } + } + } else { + messageDeserDelegator.writeDeserPayloadDelegation(context, targetShape, "v"); + } + }).write(""); + } + + public static void generateEventMessageExceptionDeserializer( + GenerationContext context, + Shape exceptionShape, + ExceptionDeserDelegator exceptionDeserDelegator + ) { + var writer = context.getWriter().get(); + var serviceShape = context.getService(); + var protocolName = context.getProtocolName(); + var deserializerName = getEventMessageExceptionDeserializerName(exceptionShape, serviceShape, + protocolName); + + writer.openBlock("func $L(msg $P) error {", "}", deserializerName, getEventStreamSymbol("Message"), () -> { + exceptionDeserDelegator.writeDeserExceptionDelegator(context, exceptionShape); + }).write(""); + } + + private static String getEventStreamSerializerName( + ToShapeId toShapeId, + ServiceShape serviceShape, + String protocolName + ) { + return getSerDeName(toShapeId, serviceShape, protocolName, "_serializeEventStream"); + } + + private static String getEventStreamMessageSerializerName( + ToShapeId toShapeId, + ServiceShape serviceShape, + String protocolName + ) { + return getSerDeName(toShapeId, serviceShape, protocolName, "_serializeEventMessage"); + } + + private static String getEventStreamWriterImplConstructorName(UnionShape unionShape, ServiceShape serviceShape) { + return "new" + StringUtils.capitalize(getEventStreamReaderImplName(unionShape, serviceShape)); + } + + private static String getEventStreamReaderImplConstructorName(UnionShape unionShape, ServiceShape serviceShape) { + return "new" + StringUtils.capitalize(getEventStreamWriterImplName(unionShape, serviceShape)); + } + + private static void generateAsyncWriteReporter(GoWriter writer, Symbol eventSymbol, Symbol asyncEventSymbol) { + writer.openBlock("type $T struct {", "}", asyncEventSymbol, () -> { + writer.write("Event $T", eventSymbol); + writer.write("Result chan<- error"); + }).write(""); + + writer.openBlock("func (e $T) ReportResult(cancel <-chan struct{}, err error) bool {", "}", asyncEventSymbol, + () -> writer.openBlock("select {", "}", () -> writer + .openBlock("case e.Result <- err:", "", () -> writer.write("return true")) + .openBlock("case <-cancel:", "", () -> writer.write("return false")) + )).write(""); + } + + public static String getAsyncWriteReporterName(Shape shape, ServiceShape serviceShape) { + var name = shape.getId().getName(serviceShape); + return "async" + StringUtils.capitalize(name); + } + + public static String getEventStreamWriterImplName(Shape shape, ServiceShape serviceShape) { + var name = shape.getId().getName(serviceShape); + return StringUtils.uncapitalize(name); + } + + public static String getEventStreamReaderImplName(Shape shape, ServiceShape serviceShape) { + var name = shape.getId().getName(serviceShape); + return StringUtils.uncapitalize(name); + } + + private static Symbol getEventStreamSymbol(String name) { + return getEventStreamSymbol(name, true); + } + + private static Symbol getEventStreamSymbol(String name, boolean pointable) { + return getSymbol(name, AwsGoDependency.SERVICE_INTERNAL_EVENTSTREAM, pointable); + } + + private static Symbol getEventStreamApiSymbol(String name) { + return getEventStreamApiSymbol(name, true); + } + + private static Symbol getEventStreamApiSymbol(String name, boolean pointable) { + return getSymbol(name, AwsGoDependency.SERVICE_INTERNAL_EVENTSTREAMAPI, pointable); + } + + private static Symbol getSymbol(String name, GoDependency dependency) { + return getSymbol(name, dependency, true); + } + + private static Symbol getSymbol(String name, GoDependency dependency, boolean pointable) { + if (pointable) { + return SymbolUtils.createPointableSymbolBuilder(name, dependency).build(); + } + return SymbolUtils.createValueSymbolBuilder(name, dependency).build(); + } + + private static Symbol getModuleSymbol(GoSettings settings, String name) { + return getModuleSymbol(settings, name, true); + } + + private static Symbol getModuleSymbol(GoSettings settings, String name, boolean pointable) { + if (pointable) { + return SymbolUtils.createPointableSymbolBuilder(name, settings.getModuleName()).build(); + } + return SymbolUtils.createValueSymbolBuilder(name, settings.getModuleName()).build(); + } + + public static void generateEventMessageRequestSerializer( + GenerationContext context, + Shape inputShape, + MessageSerDelegator messageSerDelegator + ) { + var writer = context.getWriter().get(); + var model = context.getModel(); + + var serviceShape = context.getService(); + var serializerName = getEventStreamMessageRequestSerializerName(inputShape, serviceShape, + context.getProtocolName()); + + var errorf = getSymbol("Errorf", SmithyGoDependency.FMT, false); + var messageTypeHeader = getEventStreamApiSymbol("MessageTypeHeader"); + var stringValue = getEventStreamSymbol("StringValue", false); + var eventMessageType = getEventStreamApiSymbol("EventMessageType", false); + var eventTypeHeader = getEventStreamApiSymbol("EventTypeHeader", false); + + var symbolProvider = context.getSymbolProvider(); + + writer.openBlock("func $L(i interface{}, msg $P) error {", "}", serializerName, getEventStreamSymbol("Message"), + () -> { + var inputSymbol = symbolProvider.toSymbol(inputShape); + writer.write(""" + if i == nil { + return $T("event message serializer expects non-nil %T", ($P)(nil)) + } + + v, ok := i.($P) + if !ok { + return $T("unexpected serialization of %T", i) + } + """, errorf, inputSymbol, inputSymbol, errorf).write("") + .write(""" + msg.Headers.Set($T, $T($T)) + msg.Headers.Set($T, $T($S)) + """, + messageTypeHeader, stringValue, eventMessageType, + eventTypeHeader, stringValue, "initial-request" + ).write(""); + messageSerDelegator.writeSerPayloadDelegation(context, inputShape, "v"); + }).write(""); + } + + public static void generateEventMessageRequestDeserializer( + GenerationContext context, + Shape inputShape, + MessageSerDelegator messageSerDelegator + ) { + var writer = context.getWriter().get(); + var model = context.getModel(); + + var serviceShape = context.getService(); + var serializerName = getEventStreamMessageResponseDeserializerName(inputShape, serviceShape, + context.getProtocolName()); + + var errorf = getSymbol("Errorf", SmithyGoDependency.FMT, false); + + var symbolProvider = context.getSymbolProvider(); + + writer.openBlock("func $L(msg $P) (interface{}, error) {", "}", serializerName, getEventStreamSymbol("Message"), + () -> { + var inputSymbol = symbolProvider.toSymbol(inputShape); + writer.write("v := &$T{}", inputSymbol).write(""); + messageSerDelegator.writeSerPayloadDelegation(context, inputShape, "v"); + }).write(""); + } + + private static String getEventStreamMessageRequestSerializerName( + ToShapeId toShapeId, + ServiceShape serviceShape, + String protocolName + ) { + return getSerDeName(toShapeId, serviceShape, protocolName, "_serializeEventMessageRequest"); + } + + private static String getEventStreamMessageResponseDeserializerName( + ToShapeId toShapeId, ServiceShape serviceShape, String protocolName + ) { + return getSerDeName(toShapeId, serviceShape, protocolName, "_deserializeEventMessageResponse"); + } + + private static String getSerDeName( + ToShapeId toShapeId, ServiceShape serviceShape, String protocolName, String name + ) { + return StringUtils.uncapitalize(protocolName) + name + + toShapeId.toShapeId().getName(serviceShape); + } + + public static void writeOperationSerializerMiddlewareEventStreamSetup( + GenerationContext context, + EventStreamInfo info + ) { + context.getWriter().get() + .write("restEncoder.SetHeader(\"Content-Type\").String($S)", "application/vnd.amazon.eventstream") + .write(""); + } + + interface MessageSerDelegator { + void writeSerPayloadDelegation(GenerationContext context, Shape payloadTarget, String operand); + } + + interface MessageDeserDelegator { + void writeDeserPayloadDelegation(GenerationContext context, Shape payloadTarget, String operand); + } + + interface ExceptionDeserDelegator { + void writeDeserExceptionDelegator(GenerationContext context, Shape payloadTarget); + } + + interface UnknownExceptionDeserDelegator { + void writeUnknownExceptionDelegator(GenerationContext context); + } + + private static class HeaderShapeSerVisitor extends ShapeVisitor.Default { + private final GoWriter writer; + private final Model model; + private final MemberShape memberShape; + private final String target; + private final String headerName; + private final String dataSource; + private final GoPointableIndex pointableIndex; + + public HeaderShapeSerVisitor( + GoWriter writer, + Model model, + MemberShape memberShape, + String target, + String headerName, + String dataSource + ) { + this.writer = writer; + this.model = model; + this.memberShape = memberShape; + this.target = target; + this.headerName = headerName; + this.dataSource = dataSource; + this.pointableIndex = GoPointableIndex.of(this.model); + } + + @Override + public Void blobShape(BlobShape shape) { + writeSetter("BytesValue"); + return null; + } + + @Override + public Void booleanShape(BooleanShape shape) { + writeSetter("BoolValue"); + return null; + } + + @Override + public Void byteShape(ByteShape shape) { + writeSetter("Int8Value"); + return null; + } + + @Override + public Void shortShape(ShortShape shape) { + writeSetter("Int16Value"); + return null; + } + + @Override + public Void integerShape(IntegerShape shape) { + writeSetter("Int32Value"); + return null; + } + + @Override + public Void longShape(LongShape shape) { + writeSetter("Int64Value"); + return null; + } + + @Override + public Void stringShape(StringShape shape) { + writeSetter("StringValue"); + return null; + } + + @Override + public Void timestampShape(TimestampShape shape) { + writeSetter("TimestampValue"); + return null; + } + + @Override + protected Void getDefault(Shape shape) { + throw new CodegenException("unsupported event stream header shape: " + shape.getType().toString()); + } + + private void writeSetter(String valueTypeSymbolName) { + var ds = CodegenUtils.getAsValueIfDereferencable(pointableIndex, memberShape, dataSource); + writer.write("$L.Set($S, $T($L))", target, headerName, + getEventStreamSymbol(valueTypeSymbolName, false), ds); + } + + public void writeHeaderSerializer() { + GoValueAccessUtils.writeIfNonZeroValue(model, writer, memberShape, dataSource, + () -> model.expectShape(memberShape.getTarget()).accept(this)); + } + } + + private static class HeaderShapeDeserVisitor extends ShapeVisitor.Default { + private final GoWriter writer; + private final Model model; + private final MemberShape memberShape; + private final String dest; + private final String headerName; + private final String dataSource; + private final GoPointableIndex pointableIndex; + + public HeaderShapeDeserVisitor( + GoWriter writer, + Model model, + MemberShape memberShape, + String dest, + String headerName, + String dataSource + ) { + this.writer = writer; + this.model = model; + this.memberShape = memberShape; + this.dest = dest; + this.headerName = headerName; + this.dataSource = dataSource; + this.pointableIndex = GoPointableIndex.of(this.model); + } + + @Override + public Void blobShape(BlobShape shape) { + var sliceSymbol = SymbolUtils.createValueSymbolBuilder("[]byte") + .putProperty(SymbolUtils.GO_UNIVERSE_TYPE, true).build(); + writeTypeDeserializer(getEventStreamSymbol("BytesValue", false), sliceSymbol); + return null; + } + + @Override + public Void booleanShape(BooleanShape shape) { + var boolSymbol = SymbolUtils.createValueSymbolBuilder("bool") + .putProperty(SymbolUtils.GO_UNIVERSE_TYPE, true).build(); + writeTypeDeserializer(getEventStreamSymbol("BoolValue"), boolSymbol); + return null; + } + + @Override + public Void byteShape(ByteShape shape) { + var int8Symbol = SymbolUtils.createValueSymbolBuilder("int8") + .putProperty(SymbolUtils.GO_UNIVERSE_TYPE, true).build(); + writeTypeDeserializer(getEventStreamSymbol("Int8Value"), int8Symbol); + return null; + } + + @Override + public Void shortShape(ShortShape shape) { + var int16Symbol = SymbolUtils.createValueSymbolBuilder("int16") + .putProperty(SymbolUtils.GO_UNIVERSE_TYPE, true).build(); + writeTypeDeserializer(getEventStreamSymbol("Int16Value"), int16Symbol); + return null; + } + + @Override + public Void integerShape(IntegerShape shape) { + var int32Symbol = SymbolUtils.createValueSymbolBuilder("int32") + .putProperty(SymbolUtils.GO_UNIVERSE_TYPE, true).build(); + writeTypeDeserializer(getEventStreamSymbol("Int32Value"), int32Symbol); + return null; + } + + @Override + public Void longShape(LongShape shape) { + var int64Symbol = SymbolUtils.createValueSymbolBuilder("int64") + .putProperty(SymbolUtils.GO_UNIVERSE_TYPE, true).build(); + writeTypeDeserializer(getEventStreamSymbol("Int64Value"), int64Symbol); + return null; + } + + @Override + public Void stringShape(StringShape shape) { + var stringSymbol = SymbolUtils.createValueSymbolBuilder("string") + .putProperty(SymbolUtils.GO_UNIVERSE_TYPE, true).build(); + writeTypeDeserializer(getEventStreamSymbol("StringValue"), stringSymbol); + return null; + } + + @Override + public Void timestampShape(TimestampShape shape) { + var timeSymbol = SymbolUtils.createValueSymbolBuilder("Time", SmithyGoDependency.TIME).build(); + writeTypeDeserializer(getEventStreamSymbol("TimestampValue"), timeSymbol); + return null; + } + + @Override + protected Void getDefault(Shape shape) { + throw new CodegenException("unsupported event stream header shape: " + shape.getType().toString()); + } + + private void writeTypeDeserializer(Symbol apiHeaderType, Symbol concreteType) { + writeTypeDeserializer(apiHeaderType, concreteType, () -> { + var pointable = CodegenUtils.getAsPointerIfPointable(model, writer, pointableIndex, memberShape, + "ihv"); + writer.write("$L = $L", dest, pointable); + }); + } + + private void writeTypeDeserializer(Symbol apiHeaderType, Symbol concreteType, Runnable setter) { + writer.openBlock("{", "}", () -> { + var errorf = SymbolUtils.createValueSymbolBuilder("Errorf", SmithyGoDependency.FMT).build(); + writer.write("headerValue := $L.Get($S)", dest, headerName) + .openBlock("if headerValue != nil {", "}", () -> { + writer.write("hv, ok := headerValue.($P)", apiHeaderType) + .write(""" + if !ok { + return $T("unexpected event header %s with type %T:", $S, headerValue) + } + """, errorf, headerName).write("") + .write("ihv := headerValue.Get().($P)", concreteType); + setter.run(); + }); + }).write(""); + } + + public void writeDeserializer() { + model.expectShape(memberShape.getTarget()).accept(this); + } + } +} diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsGoDependency.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsGoDependency.java index 451d2ae0502..8ce0bae34ca 100644 --- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsGoDependency.java +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsGoDependency.java @@ -34,6 +34,10 @@ public class AwsGoDependency { public static final GoDependency AWS_XML = aws("aws/protocol/xml", "awsxml"); public static final GoDependency AWS_HTTP_TRANSPORT = aws("aws/transport/http", "awshttp"); public static final GoDependency AWSTESTING_UNIT = aws("internal/awstesting/unit"); + public static final GoDependency SERVICE_INTERNAL_EVENTSTREAM = awsModuleDep("aws/protocol/eventstream", + null, Versions.AWS_PROTOCOL_EVENTSTREAM, "eventstream"); + public static final GoDependency SERVICE_INTERNAL_EVENTSTREAMAPI = awsModuleDep("aws/protocol/eventstream", + "eventstreamapi", Versions.AWS_PROTOCOL_EVENTSTREAM, "eventstreamapi"); public static final GoDependency INTERNAL_ENDPOINTS_V2 = awsModuleDep("internal/endpoints/v2", null, Versions.INTERNAL_ENDPOINTS_V2, "endpoints"); @@ -93,5 +97,6 @@ private static final class Versions { private static final String SERVICE_INTERNAL_CONFIG = "v0.0.0-00010101000000-000000000000"; private static final String SERVICE_INTERNAL_ENDPOINT_DISCOVERY = "v0.0.0-00010101000000-000000000000"; private static final String INTERNAL_ENDPOINTS_V2 = "v2.0.0-00010101000000-000000000000"; + private static final String AWS_PROTOCOL_EVENTSTREAM = "v0.0.0-00010101000000-000000000000"; } } diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsProtocolUtils.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsProtocolUtils.java index cfab842b471..9212e3d0887 100644 --- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsProtocolUtils.java +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsProtocolUtils.java @@ -325,4 +325,70 @@ public static void handleDecodeError(GoWriter writer, String returnExtras) { public static void handleDecodeError(GoWriter writer) { handleDecodeError(writer, ""); } + + public static void writeJsonEventMessageSerializerDelegator( + GenerationContext ctx, + String functionName, + String operand, + String contentType + ) { + var writer = ctx.getWriter().get(); + + var stringValue = SymbolUtils.createValueSymbolBuilder("StringValue", + AwsGoDependency.SERVICE_INTERNAL_EVENTSTREAM).build(); + var contentTypeHeader = SymbolUtils.createValueSymbolBuilder("ContentTypeHeader", + AwsGoDependency.SERVICE_INTERNAL_EVENTSTREAMAPI).build(); + + writer.write("msg.Headers.Set($T, $T($S))", + contentTypeHeader, stringValue, contentType); + var newEncoder = SymbolUtils.createValueSymbolBuilder("NewEncoder", + SmithyGoDependency.SMITHY_JSON).build(); + writer.write("jsonEncoder := $T()", newEncoder) + .openBlock("if err := $L($L, jsonEncoder.Value); err != nil {", "}", functionName, operand, + () -> writer.write("return err")) + .write("msg.Payload = jsonEncoder.Bytes()") + .write("return nil"); + } + + public static void initializeJsonEventMessageDeserializer(GenerationContext ctx) { + initializeJsonEventMessageDeserializer(ctx, ""); + } + + public static void initializeJsonEventMessageDeserializer(GenerationContext ctx, String errorReturnExtras) { + var writer = ctx.getWriter().get(); + writer.write("br := $T(msg.Payload)", SymbolUtils.createValueSymbolBuilder( + "NewReader", SmithyGoDependency.BYTES).build()); + initializeJsonDecoder(writer, "br"); + AwsProtocolUtils.decodeJsonIntoInterface(writer, errorReturnExtras); + } + + public static void writeJsonEventStreamUnknownExceptionDeserializer(GenerationContext ctx) { + var writer = ctx.getWriter().get(); + writer.write("br := $T(msg.Payload)", SymbolUtils.createValueSymbolBuilder("NewReader", + SmithyGoDependency.BYTES).build()); + AwsProtocolUtils.initializeJsonDecoder(writer, "br"); + writer.write(""" + code, message, err := $T(decoder) + if err != nil { + return err + } + errorCode := "UnknownError" + errorMessage := errorCode + if ev := exceptionType.String(); len(ev) > 0 { + errorCode = ev + } else if ev := code; len(ev) > 0 { + errorCode = ev + } + if ev := message; len(ev) > 0 { + errorMessage = ev + } + return &$T{ + Code: errorCode, + Message: errorMessage, + } + """, + SymbolUtils.createValueSymbolBuilder("GetErrorInfo", + AwsGoDependency.AWS_REST_JSON_PROTOCOL).build(), + SymbolUtils.createValueSymbolBuilder("GenericAPIError", SmithyGoDependency.SMITHY).build()); + } } diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsQuery.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsQuery.java index 7f04e10b444..da8acf2e033 100644 --- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsQuery.java +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsQuery.java @@ -10,6 +10,7 @@ import java.util.TreeMap; import software.amazon.smithy.aws.traits.protocols.AwsQueryErrorTrait; import software.amazon.smithy.aws.traits.protocols.AwsQueryTrait; +import software.amazon.smithy.codegen.core.CodegenException; import software.amazon.smithy.codegen.core.Symbol; import software.amazon.smithy.go.codegen.GoWriter; import software.amazon.smithy.go.codegen.SmithyGoDependency; @@ -18,12 +19,14 @@ import software.amazon.smithy.go.codegen.integration.HttpRpcProtocolGenerator; import software.amazon.smithy.go.codegen.integration.ProtocolGenerator; import software.amazon.smithy.go.codegen.integration.ProtocolUtils; +import software.amazon.smithy.model.knowledge.EventStreamInfo; import software.amazon.smithy.model.knowledge.HttpBinding; import software.amazon.smithy.model.shapes.OperationShape; import software.amazon.smithy.model.shapes.ServiceShape; import software.amazon.smithy.model.shapes.Shape; import software.amazon.smithy.model.shapes.ShapeId; import software.amazon.smithy.model.shapes.StructureShape; +import software.amazon.smithy.model.shapes.UnionShape; import software.amazon.smithy.model.traits.ErrorTrait; /** @@ -185,4 +188,32 @@ public String getErrorCode(ServiceShape service, StructureShape errorShape) { return super.getErrorCode(service, errorShape); } + + @Override + protected void generateEventStreamSerializers( + GenerationContext context, + UnionShape eventUnion, + Set eventStreamInfos + ) { + throw new CodegenException("event streams not supported with AWS QUERY protocol."); + } + + @Override + protected void generateEventStreamDeserializers( + GenerationContext context, + UnionShape eventUnion, + Set eventStreamInfos + ) { + throw new CodegenException("event streams not supported with AWS QUERY protocol."); + } + + @Override + public void generateEventStreamComponents(GenerationContext context) { + throw new CodegenException("event streams not supported with AWS QUERY protocol."); + } + + @Override + protected void writeOperationSerializerMiddlewareEventStreamSetup(GenerationContext context, EventStreamInfo info) { + throw new CodegenException("event streams not supported with AWS QUERY protocol."); + } } diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/FilterStreamingOperations.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/FilterShapes.java similarity index 57% rename from codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/FilterStreamingOperations.java rename to codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/FilterShapes.java index 408f844a122..290dda555bf 100644 --- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/FilterStreamingOperations.java +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/FilterShapes.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. @@ -15,35 +15,44 @@ package software.amazon.smithy.aws.go.codegen; +import java.util.Optional; import java.util.Set; import java.util.logging.Logger; import java.util.stream.Collectors; import software.amazon.smithy.go.codegen.GoSettings; import software.amazon.smithy.go.codegen.integration.GoIntegration; import software.amazon.smithy.model.Model; -import software.amazon.smithy.model.knowledge.EventStreamIndex; -import software.amazon.smithy.model.shapes.OperationShape; -import software.amazon.smithy.model.shapes.Shape; +import software.amazon.smithy.model.shapes.ShapeId; import software.amazon.smithy.model.transform.ModelTransformer; +import software.amazon.smithy.utils.SetUtils; /** - * Filters out event stream operations. - * TODO: implement event streams + * Filters out certain shapes such as an operation. */ -public final class FilterStreamingOperations implements GoIntegration { - private static final Logger LOGGER = Logger.getLogger(FilterStreamingOperations.class.getName()); +public final class FilterShapes implements GoIntegration { + private static final Logger LOGGER = Logger.getLogger(FilterShapes.class.getName()); - public FilterStreamingOperations() {} + private static final Set SHAPE_IDS = SetUtils.of( + ShapeId.from("com.amazonaws.lexruntimev2#StartConversation") + ); + + public FilterShapes() { + } @Override public Model preprocessModel(Model model, GoSettings settings) { - EventStreamIndex index = EventStreamIndex.of(model); - Set streamingOperations = model.shapes(OperationShape.class) - .filter(op -> index.getOutputInfo(op).isPresent() || index.getInputInfo(op).isPresent()) - .peek(op -> LOGGER.warning(String.format( - "Filtering out unsupported event stream operation: %s", op.getId().toString()))) + var toRemove = SHAPE_IDS.stream() + .map(model::getShape) + .filter(Optional::isPresent) + .map(Optional::get) .collect(Collectors.toSet()); + + if (toRemove.size() == 0) { + return model; + } + ModelTransformer transformer = ModelTransformer.create(); - return transformer.removeUnreferencedShapes(transformer.removeShapes(model, streamingOperations)); + + return transformer.removeUnreferencedShapes(transformer.removeShapes(model, toRemove)); } } diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/JsonRpcProtocolGenerator.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/JsonRpcProtocolGenerator.java index 098465b8edb..50bc8d199b4 100644 --- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/JsonRpcProtocolGenerator.java +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/JsonRpcProtocolGenerator.java @@ -19,7 +19,10 @@ import static software.amazon.smithy.aws.go.codegen.AwsProtocolUtils.initializeJsonDecoder; import static software.amazon.smithy.aws.go.codegen.AwsProtocolUtils.writeJsonErrorMessageCodeDeserializer; +import java.util.HashSet; import java.util.Set; +import java.util.TreeSet; +import java.util.stream.Collectors; import software.amazon.smithy.codegen.core.Symbol; import software.amazon.smithy.go.codegen.CodegenUtils; import software.amazon.smithy.go.codegen.GoWriter; @@ -27,10 +30,18 @@ import software.amazon.smithy.go.codegen.integration.HttpRpcProtocolGenerator; import software.amazon.smithy.go.codegen.integration.ProtocolGenerator; import software.amazon.smithy.go.codegen.integration.ProtocolUtils; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.knowledge.EventStreamInfo; +import software.amazon.smithy.model.shapes.MemberShape; import software.amazon.smithy.model.shapes.OperationShape; import software.amazon.smithy.model.shapes.ServiceShape; import software.amazon.smithy.model.shapes.Shape; +import software.amazon.smithy.model.shapes.ShapeId; import software.amazon.smithy.model.shapes.StructureShape; +import software.amazon.smithy.model.shapes.UnionShape; +import software.amazon.smithy.model.traits.ErrorTrait; +import software.amazon.smithy.model.traits.EventHeaderTrait; +import software.amazon.smithy.model.traits.EventPayloadTrait; /** * Handles generating the aws.rest-json protocol for services. @@ -39,6 +50,10 @@ * @see HttpRpcProtocolGenerator */ abstract class JsonRpcProtocolGenerator extends HttpRpcProtocolGenerator { + private final Set generatedDocumentBodyShapeSerializers = new HashSet<>(); + private final Set generatedEventMessageSerializers = new HashSet<>(); + private final Set generatedDocumentBodyShapeDeserializers = new HashSet<>(); + private final Set generatedEventMessageDeserializers = new HashSet<>(); /** * Creates an AWS JSON RPC protocol generator @@ -94,7 +109,13 @@ protected void serializeInputDocument(GenerationContext context, OperationShape @Override protected void generateDocumentBodyShapeSerializers(GenerationContext context, Set shapes) { JsonShapeSerVisitor visitor = new JsonShapeSerVisitor(context); - shapes.forEach(shape -> shape.accept(visitor)); + shapes.forEach(shape -> { + if (generatedDocumentBodyShapeSerializers.contains(shape.toShapeId())) { + return; + } + shape.accept(visitor); + generatedDocumentBodyShapeSerializers.add(shape.toShapeId()); + }); } @Override @@ -112,7 +133,13 @@ protected void deserializeOutputDocument(GenerationContext context, OperationSha @Override protected void generateDocumentBodyShapeDeserializers(GenerationContext context, Set shapes) { JsonShapeDeserVisitor visitor = new JsonShapeDeserVisitor(context); - shapes.forEach(shape -> shape.accept(visitor)); + shapes.forEach(shape -> { + if (generatedDocumentBodyShapeDeserializers.contains(shape.toShapeId())) { + return; + } + shape.accept(visitor); + generatedDocumentBodyShapeDeserializers.add(shape.toShapeId()); + }); } @@ -161,4 +188,164 @@ public void generateProtocolDocumentUnmarshalerUnmarshalDocument(GenerationConte public void generateProtocolDocumentUnmarshalerMarshalDocument(GenerationContext context) { JsonProtocolDocumentUtils.generateProtocolDocumentUnmarshalerMarshalDocument(context); } + + @Override + public void generateEventStreamComponents(GenerationContext context) { + AwsEventStreamUtils.generateEventStreamComponents(context); + } + + @Override + protected void writeOperationSerializerMiddlewareEventStreamSetup(GenerationContext context, EventStreamInfo info) { + AwsEventStreamUtils.writeOperationSerializerMiddlewareEventStreamSetup(context, info); + } + + @Override + protected void generateEventStreamSerializers( + GenerationContext context, + UnionShape eventUnion, + Set eventStreamInfos + ) { + Model model = context.getModel(); + + AwsEventStreamUtils.generateEventStreamSerializer(context, eventUnion); + var memberShapes = eventUnion.members().stream() + .filter(ms -> ms.getMemberTrait(model, ErrorTrait.class).isEmpty()) + .collect(Collectors.toCollection(TreeSet::new)); + + final var eventDocumentShapes = new HashSet(); + for (MemberShape member : memberShapes) { + var targetShape = model.expectShape(member.getTarget()); + if (generatedEventMessageSerializers.contains(targetShape.toShapeId())) { + continue; + } + + AwsEventStreamUtils.generateEventMessageSerializer(context, targetShape, (ctx, payloadTarget, operand) -> { + var functionName = ProtocolGenerator.getDocumentSerializerFunctionName(payloadTarget, + ctx.getService(), ctx.getProtocolName()); + AwsProtocolUtils.writeJsonEventMessageSerializerDelegator(ctx, functionName, operand, + getDocumentContentType()); + }); + + generatedEventMessageSerializers.add(targetShape.toShapeId()); + + var hasBindings = targetShape.members().stream() + .filter(ms -> ms.getTrait(EventHeaderTrait.class).isPresent() + || ms.getTrait(EventPayloadTrait.class).isPresent()) + .findAny(); + if (hasBindings.isPresent()) { + var payload = targetShape.members().stream() + .filter(ms -> ms.getTrait(EventPayloadTrait.class).isPresent()) + .map(ms -> model.expectShape(ms.getTarget())) + .filter(ProtocolUtils::requiresDocumentSerdeFunction) + .findAny(); + payload.ifPresent(eventDocumentShapes::add); + continue; + } + eventDocumentShapes.add(targetShape); + } + + eventDocumentShapes.addAll(ProtocolUtils.resolveRequiredDocumentShapeSerde(model, eventDocumentShapes)); + generateDocumentBodyShapeSerializers(context, eventDocumentShapes); + + for (EventStreamInfo streamInfo : eventStreamInfos) { + var inputShape = model.expectShape(streamInfo.getOperation().getInput().get()); + var functionName = ProtocolGenerator.getDocumentSerializerFunctionName(inputShape, + context.getService(), context.getProtocolName()); + AwsEventStreamUtils.generateEventMessageRequestSerializer(context, inputShape, + (ctx, payloadTarget, operand) -> { + AwsProtocolUtils.writeJsonEventMessageSerializerDelegator(ctx, functionName, operand, + getDocumentContentType()); + }); + var initialMessageMembers = streamInfo.getInitialMessageMembers() + .values(); + inputShape.accept(new JsonShapeSerVisitor(context, initialMessageMembers::contains, + (shape, serviceShape, proto) -> functionName)); + } + } + + @Override + protected void generateEventStreamDeserializers( + GenerationContext context, + UnionShape eventUnion, + Set eventStreamInfos + ) { + var model = context.getModel(); + + AwsEventStreamUtils.generateEventStreamDeserializer(context, eventUnion); + AwsEventStreamUtils.generateEventStreamExceptionDeserializer(context, eventUnion, + AwsProtocolUtils::writeJsonEventStreamUnknownExceptionDeserializer); + + final var eventDocumentShapes = new HashSet(); + + for (MemberShape shape : eventUnion.members()) { + var targetShape = model.expectShape(shape.getTarget()); + if (generatedEventMessageDeserializers.contains(targetShape.toShapeId())) { + continue; + } + generatedEventMessageDeserializers.add(targetShape.toShapeId()); + if (shape.getMemberTrait(model, ErrorTrait.class).isPresent()) { + AwsEventStreamUtils.generateEventMessageExceptionDeserializer(context, targetShape, + (ctx, payloadTarget) -> { + AwsProtocolUtils.initializeJsonEventMessageDeserializer(ctx); + var functionName = ProtocolGenerator.getDocumentDeserializerFunctionName( + payloadTarget, ctx.getService(), getProtocolName()); + var ctxWriter = ctx.getWriter().get(); + ctxWriter.write("v := &$T{}", ctx.getSymbolProvider().toSymbol(payloadTarget)) + .openBlock("if err := $L(&v, shape); err != nil {", "}", functionName, + () -> handleDecodeError(ctxWriter)) + .write("return v"); + }); + + eventDocumentShapes.add(targetShape); + } else { + AwsEventStreamUtils.generateEventMessageDeserializer(context, targetShape, + (ctx, payloadTarget, operand) -> { + AwsProtocolUtils.initializeJsonEventMessageDeserializer(ctx); + var functionName = ProtocolGenerator.getDocumentDeserializerFunctionName( + payloadTarget, ctx.getService(), getProtocolName()); + var ctxWriter = ctx.getWriter().get(); + ctxWriter.openBlock("if err := $L(&$L, shape); err != nil {", "}", functionName, operand, + () -> handleDecodeError(ctxWriter)) + .write("return nil"); + }); + + var hasBindings = targetShape.members().stream() + .filter(ms -> ms.getTrait(EventHeaderTrait.class).isPresent() + || ms.getTrait(EventPayloadTrait.class).isPresent()) + .findAny(); + if (hasBindings.isPresent()) { + var payload = targetShape.members().stream() + .filter(ms -> ms.getTrait(EventPayloadTrait.class).isPresent()) + .map(ms -> model.expectShape(ms.getTarget())) + .filter(ProtocolUtils::requiresDocumentSerdeFunction) + .findAny(); + payload.ifPresent(eventDocumentShapes::add); + continue; + } + eventDocumentShapes.add(targetShape); + } + } + + eventDocumentShapes.addAll(ProtocolUtils.resolveRequiredDocumentShapeSerde(model, eventDocumentShapes)); + generateDocumentBodyShapeDeserializers(context, eventDocumentShapes); + + for (EventStreamInfo streamInfo : eventStreamInfos) { + var outputShape = model.expectShape(streamInfo.getOperation().getOutput().get()); + var functionName = ProtocolGenerator.getDocumentDeserializerFunctionName(outputShape, + context.getService(), context.getProtocolName()); + AwsEventStreamUtils.generateEventMessageRequestDeserializer(context, outputShape, + (ctx, payloadTarget, operand) -> { + AwsProtocolUtils.initializeJsonEventMessageDeserializer(ctx, "nil,"); + var ctxWriter = ctx.getWriter().get(); + ctxWriter.openBlock("if err := $L(&$L, shape); err != nil {", "}", functionName, operand, + () -> handleDecodeError(ctxWriter, "nil,")) + .write("return v, nil"); + }); + var initialMessageMembers = streamInfo.getInitialMessageMembers() + .values(); + outputShape.accept(new JsonShapeDeserVisitor(context, initialMessageMembers::contains, + (shape, serviceShape, proto) -> functionName)); + } + } + } diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/JsonShapeDeserVisitor.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/JsonShapeDeserVisitor.java index 347adbaa112..88aecdb6445 100644 --- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/JsonShapeDeserVisitor.java +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/JsonShapeDeserVisitor.java @@ -63,7 +63,7 @@ public class JsonShapeDeserVisitor extends DocumentShapeDeserVisitor { * @param context The generation context. */ public JsonShapeDeserVisitor(GenerationContext context) { - this(context, FunctionalUtils.alwaysTrue()); + this(context, FunctionalUtils.alwaysTrue(), null); } /** @@ -72,7 +72,21 @@ public JsonShapeDeserVisitor(GenerationContext context) { * members that won't be in the body. */ public JsonShapeDeserVisitor(GenerationContext context, Predicate memberFilter) { - super(context); + this(context, memberFilter, null); + } + + /** + * @param context The generation context. + * @param memberFilter A filter that is applied to structure members. This is useful for + * members that won't be in the body. + * @param deserializerNameProvider The deserializer name provider. + */ + public JsonShapeDeserVisitor( + GenerationContext context, + Predicate memberFilter, + DeserializerNameProvider deserializerNameProvider + ) { + super(context, deserializerNameProvider); this.memberFilter = memberFilter; } @@ -124,7 +138,7 @@ protected void deserializeDocument(GenerationContext context, DocumentShape shap GoWriter writer = context.getWriter().get(); Symbol newUnmarshaler = ProtocolDocumentGenerator.Utilities.getInternalDocumentSymbolBuilder( - context.getSettings(), ProtocolDocumentGenerator.INTERNAL_NEW_DOCUMENT_UNMARSHALER_FUNC) + context.getSettings(), ProtocolDocumentGenerator.INTERNAL_NEW_DOCUMENT_UNMARSHALER_FUNC) .build(); writer.write("*v = $T(value)", newUnmarshaler); diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/JsonShapeSerVisitor.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/JsonShapeSerVisitor.java index 8ce15efc90e..dd238df35e7 100644 --- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/JsonShapeSerVisitor.java +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/JsonShapeSerVisitor.java @@ -31,7 +31,6 @@ import software.amazon.smithy.go.codegen.SymbolUtils; import software.amazon.smithy.go.codegen.integration.DocumentShapeSerVisitor; import software.amazon.smithy.go.codegen.integration.ProtocolGenerator.GenerationContext; -import software.amazon.smithy.go.codegen.integration.ProtocolUtils; import software.amazon.smithy.go.codegen.knowledge.GoPointableIndex; import software.amazon.smithy.go.codegen.trait.NoSerializeTrait; import software.amazon.smithy.model.knowledge.NullableIndex; @@ -42,7 +41,6 @@ import software.amazon.smithy.model.shapes.Shape; import software.amazon.smithy.model.shapes.StructureShape; import software.amazon.smithy.model.shapes.UnionShape; -import software.amazon.smithy.model.traits.EnumTrait; import software.amazon.smithy.model.traits.JsonNameTrait; import software.amazon.smithy.model.traits.TimestampFormatTrait; import software.amazon.smithy.model.traits.TimestampFormatTrait.Format; @@ -69,7 +67,7 @@ final class JsonShapeSerVisitor extends DocumentShapeSerVisitor { * @param context The generation context. */ public JsonShapeSerVisitor(GenerationContext context) { - this(context, NoSerializeTrait.excludeNoSerializeMembers().and(FunctionalUtils.alwaysTrue())); + this(context, NoSerializeTrait.excludeNoSerializeMembers().and(FunctionalUtils.alwaysTrue()), null); } /** @@ -78,7 +76,21 @@ public JsonShapeSerVisitor(GenerationContext context) { * members that won't be in the body. */ public JsonShapeSerVisitor(GenerationContext context, Predicate memberFilter) { - super(context); + this(context, memberFilter, null); + } + + /** + * @param context The generation context. + * @param memberFilter A filter that is applied to structure members. This is useful for + * members that won't be in the body. + * @param serializerNameProvider The serializer name provider. + */ + public JsonShapeSerVisitor( + GenerationContext context, + Predicate memberFilter, + SerializerNameProvider serializerNameProvider + ) { + super(context, serializerNameProvider); this.memberFilter = NoSerializeTrait.excludeNoSerializeMembers().and(memberFilter); this.pointableIndex = GoPointableIndex.of(context.getModel()); this.nullableIndex = NullableIndex.of(context.getModel()); diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/RestJsonProtocolGenerator.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/RestJsonProtocolGenerator.java index f3c80f37cf0..b54563e456f 100644 --- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/RestJsonProtocolGenerator.java +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/RestJsonProtocolGenerator.java @@ -20,6 +20,7 @@ import static software.amazon.smithy.aws.go.codegen.AwsProtocolUtils.initializeJsonDecoder; import static software.amazon.smithy.aws.go.codegen.AwsProtocolUtils.writeJsonErrorMessageCodeDeserializer; +import java.util.HashSet; import java.util.Optional; import java.util.Set; import java.util.TreeSet; @@ -27,17 +28,15 @@ import java.util.stream.Collectors; import software.amazon.smithy.codegen.core.CodegenException; import software.amazon.smithy.codegen.core.Symbol; -import software.amazon.smithy.codegen.core.SymbolProvider; import software.amazon.smithy.go.codegen.GoStackStepMiddlewareGenerator; import software.amazon.smithy.go.codegen.GoWriter; -import software.amazon.smithy.go.codegen.ProtocolDocumentGenerator; import software.amazon.smithy.go.codegen.SmithyGoDependency; -import software.amazon.smithy.go.codegen.SymbolUtils; import software.amazon.smithy.go.codegen.SyntheticClone; import software.amazon.smithy.go.codegen.integration.HttpBindingProtocolGenerator; import software.amazon.smithy.go.codegen.integration.ProtocolGenerator; import software.amazon.smithy.go.codegen.integration.ProtocolUtils; import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.knowledge.EventStreamInfo; import software.amazon.smithy.model.knowledge.HttpBinding; import software.amazon.smithy.model.knowledge.HttpBinding.Location; import software.amazon.smithy.model.knowledge.HttpBindingIndex; @@ -45,8 +44,13 @@ import software.amazon.smithy.model.shapes.OperationShape; import software.amazon.smithy.model.shapes.ServiceShape; import software.amazon.smithy.model.shapes.Shape; +import software.amazon.smithy.model.shapes.ShapeId; import software.amazon.smithy.model.shapes.StructureShape; +import software.amazon.smithy.model.shapes.UnionShape; import software.amazon.smithy.model.traits.EnumTrait; +import software.amazon.smithy.model.traits.ErrorTrait; +import software.amazon.smithy.model.traits.EventHeaderTrait; +import software.amazon.smithy.model.traits.EventPayloadTrait; import software.amazon.smithy.model.traits.MediaTypeTrait; import software.amazon.smithy.model.traits.StreamingTrait; import software.amazon.smithy.model.traits.TimestampFormatTrait; @@ -59,6 +63,11 @@ * @see Smithy HTTP protocol bindings. */ abstract class RestJsonProtocolGenerator extends HttpBindingProtocolGenerator { + private final Set generatedDocumentBodyShapeSerializers = new HashSet<>(); + private final Set generatedEventMessageSerializers = new HashSet<>(); + private final Set generatedDocumentBodyShapeDeserializers = new HashSet<>(); + private final Set generatedEventMessageDeserializers = new HashSet<>(); + /** * Creates a AWS JSON RPC protocol generator. */ @@ -178,7 +187,13 @@ protected void writeMiddlewareDocumentSerializerDelegator( @Override protected void generateDocumentBodyShapeSerializers(GenerationContext context, Set shapes) { JsonShapeSerVisitor visitor = new JsonShapeSerVisitor(context); - shapes.forEach(shape -> shape.accept(visitor)); + shapes.forEach(shape -> { + if (generatedDocumentBodyShapeSerializers.contains(shape.toShapeId())) { + return; + } + shape.accept(visitor); + generatedDocumentBodyShapeSerializers.add(shape.toShapeId()); + }); } @Override @@ -344,7 +359,13 @@ protected void deserializeError(GenerationContext context, StructureShape shape) @Override protected void generateDocumentBodyShapeDeserializers(GenerationContext context, Set shapes) { JsonShapeDeserVisitor visitor = new JsonShapeDeserVisitor(context); - shapes.forEach(shape -> shape.accept(visitor)); + shapes.forEach(shape -> { + if (generatedDocumentBodyShapeDeserializers.contains(shape.toShapeId())) { + return; + } + shape.accept(visitor); + generatedDocumentBodyShapeDeserializers.add(shape.toShapeId()); + }); } // Generate deserializers for shapes with payload binding @@ -353,18 +374,18 @@ private void writePayloadBindingDeserializer( Shape shape, Predicate filterMemberShapes ) { - GoWriter writer = context.getWriter().get(); - SymbolProvider symbolProvider = context.getSymbolProvider(); - Symbol shapeSymbol = symbolProvider.toSymbol(shape); - String funcName = ProtocolGenerator.getDocumentDeserializerFunctionName(shape, context.getService(), getProtocolName()); + var writer = context.getWriter().get(); + var symbolProvider = context.getSymbolProvider(); + var shapeSymbol = symbolProvider.toSymbol(shape); + var funcName = ProtocolGenerator.getDocumentDeserializerFunctionName(shape, context.getService(), getProtocolName()); - for (MemberShape memberShape : new TreeSet<>(shape.members())) { + for (var memberShape : new TreeSet<>(shape.members())) { if (!filterMemberShapes.test(memberShape)) { continue; } - String memberName = symbolProvider.toMemberName(memberShape); - Shape targetShape = context.getModel().expectShape(memberShape.getTarget()); + var memberName = symbolProvider.toMemberName(memberShape); + var targetShape = context.getModel().expectShape(memberShape.getTarget()); if (targetShape.isStringShape() || targetShape.isBlobShape()) { writer.openBlock("func $L(v $P, body io.ReadCloser) error {", "}", funcName, shapeSymbol, () -> { @@ -430,4 +451,130 @@ public void generateProtocolDocumentUnmarshalerUnmarshalDocument(GenerationConte public void generateProtocolDocumentUnmarshalerMarshalDocument(GenerationContext context) { JsonProtocolDocumentUtils.generateProtocolDocumentUnmarshalerMarshalDocument(context); } + + @Override + public void generateEventStreamComponents(GenerationContext context) { + AwsEventStreamUtils.generateEventStreamComponents(context); + } + + @Override + protected void writeOperationSerializerMiddlewareEventStreamSetup(GenerationContext context, EventStreamInfo info) { + AwsEventStreamUtils.writeOperationSerializerMiddlewareEventStreamSetup(context, info); + } + + @Override + protected void generateEventStreamSerializers( + GenerationContext context, + UnionShape eventUnion, + Set eventStreamInfos + ) { + Model model = context.getModel(); + + AwsEventStreamUtils.generateEventStreamSerializer(context, eventUnion); + var memberShapes = eventUnion.members().stream() + .filter(ms -> ms.getMemberTrait(model, ErrorTrait.class).isEmpty()) + .collect(Collectors.toCollection(TreeSet::new)); + + final var eventDocumentShapes = new HashSet(); + for (MemberShape member : memberShapes) { + var targetShape = model.expectShape(member.getTarget()); + if (generatedEventMessageSerializers.contains(targetShape.toShapeId())) { + continue; + } + + AwsEventStreamUtils.generateEventMessageSerializer(context, targetShape, (ctx, payloadTarget, operand) -> { + var functionName = ProtocolGenerator.getDocumentSerializerFunctionName(payloadTarget, + ctx.getService(), ctx.getProtocolName()); + AwsProtocolUtils.writeJsonEventMessageSerializerDelegator(ctx, functionName, operand, + getDocumentContentType()); + }); + + generatedEventMessageSerializers.add(targetShape.toShapeId()); + + var hasBindings = targetShape.members().stream() + .filter(ms -> ms.getTrait(EventHeaderTrait.class).isPresent() + || ms.getTrait(EventPayloadTrait.class).isPresent()) + .findAny(); + if (hasBindings.isPresent()) { + var payload = targetShape.members().stream() + .filter(ms -> ms.getTrait(EventPayloadTrait.class).isPresent()) + .map(ms -> model.expectShape(ms.getTarget())) + .filter(ProtocolUtils::requiresDocumentSerdeFunction) + .findAny(); + payload.ifPresent(eventDocumentShapes::add); + continue; + } + eventDocumentShapes.add(targetShape); + } + + eventDocumentShapes.addAll(ProtocolUtils.resolveRequiredDocumentShapeSerde(model, eventDocumentShapes)); + generateDocumentBodyShapeSerializers(context, eventDocumentShapes); + } + + @Override + protected void generateEventStreamDeserializers( + GenerationContext context, + UnionShape eventUnion, + Set eventStreamInfos + ) { + var model = context.getModel(); + + AwsEventStreamUtils.generateEventStreamDeserializer(context, eventUnion); + AwsEventStreamUtils.generateEventStreamExceptionDeserializer(context, eventUnion, + AwsProtocolUtils::writeJsonEventStreamUnknownExceptionDeserializer); + + final var eventDocumentShapes = new HashSet(); + + for (MemberShape shape : eventUnion.members()) { + var targetShape = model.expectShape(shape.getTarget()); + if (generatedEventMessageDeserializers.contains(targetShape.toShapeId())) { + continue; + } + generatedEventMessageDeserializers.add(targetShape.toShapeId()); + if (shape.getMemberTrait(model, ErrorTrait.class).isPresent()) { + AwsEventStreamUtils.generateEventMessageExceptionDeserializer(context, targetShape, + (ctx, payloadTarget) -> { + AwsProtocolUtils.initializeJsonEventMessageDeserializer(ctx); + var functionName = ProtocolGenerator.getDocumentDeserializerFunctionName( + payloadTarget, ctx.getService(), getProtocolName()); + var ctxWriter = ctx.getWriter().get(); + ctxWriter.write("v := &$T{}", ctx.getSymbolProvider().toSymbol(payloadTarget)) + .openBlock("if err := $L(&v, shape); err != nil {", "}", functionName, + () -> handleDecodeError(ctxWriter)) + .write("return v"); + }); + + eventDocumentShapes.add(targetShape); + } else { + AwsEventStreamUtils.generateEventMessageDeserializer(context, targetShape, + (ctx, payloadTarget, operand) -> { + AwsProtocolUtils.initializeJsonEventMessageDeserializer(ctx); + var functionName = ProtocolGenerator.getDocumentDeserializerFunctionName( + payloadTarget, ctx.getService(), ctx.getProtocolName()); + var ctxWriter = ctx.getWriter().get(); + ctxWriter.openBlock("if err := $L(&$L, shape); err != nil {", "}", functionName, operand, + () -> handleDecodeError(ctxWriter)) + .write("return nil"); + }); + + var hasBindings = targetShape.members().stream() + .filter(ms -> ms.getTrait(EventHeaderTrait.class).isPresent() + || ms.getTrait(EventPayloadTrait.class).isPresent()) + .findAny(); + if (hasBindings.isPresent()) { + var payload = targetShape.members().stream() + .filter(ms -> ms.getTrait(EventPayloadTrait.class).isPresent()) + .map(ms -> model.expectShape(ms.getTarget())) + .filter(ProtocolUtils::requiresDocumentSerdeFunction) + .findAny(); + payload.ifPresent(eventDocumentShapes::add); + continue; + } + eventDocumentShapes.add(targetShape); + } + } + + eventDocumentShapes.addAll(ProtocolUtils.resolveRequiredDocumentShapeSerde(model, eventDocumentShapes)); + generateDocumentBodyShapeDeserializers(context, eventDocumentShapes); + } } diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/RestXmlProtocolGenerator.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/RestXmlProtocolGenerator.java index d76bc2bd85a..08202a310f1 100644 --- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/RestXmlProtocolGenerator.java +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/RestXmlProtocolGenerator.java @@ -8,6 +8,7 @@ import static software.amazon.smithy.aws.go.codegen.XmlProtocolUtils.generateXMLStartElement; import static software.amazon.smithy.aws.go.codegen.XmlProtocolUtils.generatePayloadAsDocumentXMLStartElement; +import java.util.HashSet; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; @@ -25,13 +26,19 @@ import software.amazon.smithy.go.codegen.integration.ProtocolGenerator; import software.amazon.smithy.go.codegen.integration.ProtocolUtils; import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.knowledge.EventStreamInfo; import software.amazon.smithy.model.knowledge.HttpBinding; import software.amazon.smithy.model.knowledge.HttpBindingIndex; import software.amazon.smithy.model.shapes.MemberShape; import software.amazon.smithy.model.shapes.OperationShape; import software.amazon.smithy.model.shapes.ServiceShape; import software.amazon.smithy.model.shapes.Shape; +import software.amazon.smithy.model.shapes.ShapeId; import software.amazon.smithy.model.shapes.StructureShape; +import software.amazon.smithy.model.shapes.UnionShape; +import software.amazon.smithy.model.traits.ErrorTrait; +import software.amazon.smithy.model.traits.EventHeaderTrait; +import software.amazon.smithy.model.traits.EventPayloadTrait; import software.amazon.smithy.model.traits.MediaTypeTrait; import software.amazon.smithy.model.traits.EnumTrait; import software.amazon.smithy.model.traits.StreamingTrait; @@ -40,6 +47,11 @@ import software.amazon.smithy.model.traits.XmlNamespaceTrait; abstract class RestXmlProtocolGenerator extends HttpBindingProtocolGenerator { + private final Set generatedDocumentBodyShapeSerializers = new HashSet<>(); + private final Set generatedEventMessageSerializers = new HashSet<>(); + private final Set generatedDocumentBodyShapeDeserializers = new HashSet<>(); + private final Set generatedEventMessageDeserializers = new HashSet<>(); + /** * Creates a AWS REST XML protocol generator. */ @@ -93,31 +105,41 @@ protected void writeMiddlewareDocumentSerializerDelegator( Shape inputShape = ProtocolUtils.expectInput(context.getModel(), operation); String functionName = ProtocolGenerator.getDocumentSerializerFunctionName(inputShape, context.getService(), getProtocolName()); + initalizeXmlEncoder(context, writer, inputShape, "root", "input"); + + writer.openBlock("if err := $L(input, xmlEncoder.RootElement(root)); err != nil {", "}", + functionName, () -> { + writer.write("return out, metadata, &smithy.SerializationError{Err: err}"); + }); + writer.insertTrailingNewline(); + + writer.openBlock("if request, err = request.SetStream(bytes.NewReader(xmlEncoder.Bytes())); " + + "err != nil {", "}", () -> { + writer.write("return out, metadata, &smithy.SerializationError{Err: err}"); + }); + } + + private void initalizeXmlEncoder( + GenerationContext context, + GoWriter writer, + Shape inputShape, + String nodeDst, + String inputSrc + ) { writer.addUseImports(SmithyGoDependency.SMITHY_XML); writer.addUseImports(SmithyGoDependency.BYTES); writer.write("xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))"); - generateXMLStartElement(context, inputShape, "root", "input"); + generateXMLStartElement(context, inputShape, nodeDst, inputSrc); // check if service shape is bound by xmlNameSpace Trait Optional xmlNamespaceTrait = context.getService().getTrait(XmlNamespaceTrait.class); if (xmlNamespaceTrait.isPresent()) { XmlNamespaceTrait namespace = xmlNamespaceTrait.get(); - writer.write("root.Attr = append(root.Attr, smithyxml.NewNamespaceAttribute($S, $S))", + writer.write("$L.Attr = append($L.Attr, smithyxml.NewNamespaceAttribute($S, $S))", nodeDst, nodeDst, namespace.getPrefix().isPresent() ? namespace.getPrefix().get() : "", namespace.getUri() ); } - - writer.openBlock("if err := $L(input, xmlEncoder.RootElement(root)); err != nil {", "}", - functionName, () -> { - writer.write("return out, metadata, &smithy.SerializationError{Err: err}"); - }); - writer.insertTrailingNewline(); - - writer.openBlock("if request, err = request.SetStream(bytes.NewReader(xmlEncoder.Bytes())); " - + "err != nil {", "}", () -> { - writer.write("return out, metadata, &smithy.SerializationError{Err: err}"); - }); } @Override @@ -130,8 +152,6 @@ protected void writeMiddlewarePayloadAsDocumentSerializerDelegator( Model model = context.getModel(); Shape payloadShape = model.expectShape(memberShape.getTarget()); - String functionName = ProtocolGenerator.getDocumentSerializerFunctionName( - payloadShape, context.getService(), getProtocolName()); writer.addUseImports(SmithyGoDependency.SMITHY_XML); writer.addUseImports(SmithyGoDependency.BYTES); writer.write("xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))"); @@ -147,6 +167,8 @@ protected void writeMiddlewarePayloadAsDocumentSerializerDelegator( ); } + String functionName = ProtocolGenerator.getDocumentSerializerFunctionName( + payloadShape, context.getService(), getProtocolName()); writer.openBlock("if err := $L($L, xmlEncoder.RootElement(payloadRoot)); err != nil {", "}", functionName, operand, () -> { writer.write("return out, metadata, &smithy.SerializationError{Err: err}"); @@ -158,7 +180,13 @@ protected void writeMiddlewarePayloadAsDocumentSerializerDelegator( protected void generateDocumentBodyShapeSerializers(GenerationContext context, Set shapes) { // filter shapes marked as attributes XmlShapeSerVisitor visitor = new XmlShapeSerVisitor(context, memberShape -> !memberShape.hasTrait(XmlAttributeTrait.class)); - shapes.forEach(shape -> shape.accept(visitor)); + shapes.forEach(shape -> { + if (generatedDocumentBodyShapeSerializers.contains(shape.toShapeId())) { + return; + } + shape.accept(visitor); + generatedDocumentBodyShapeSerializers.add(shape.toShapeId()); + }); } /** @@ -209,11 +237,9 @@ protected void deserializeError(GenerationContext context, StructureShape shape) if (isShapeWithResponseBindings(context.getModel(), shape, HttpBinding.Location.DOCUMENT)) { String documentDeserFunctionName = ProtocolGenerator.getDocumentDeserializerFunctionName( shape, context.getService(), getProtocolName()); - writer.addUseImports(SmithyGoDependency.IO); - initializeXmlDecoder(writer, "errorBody", "output"); - boolean isNoErrorWrapping = context.getService().getTrait(RestXmlTrait.class).map( - RestXmlTrait::isNoErrorWrapping).orElse(false); + initializeXmlDecoder(writer, "errorBody", "output"); + boolean isNoErrorWrapping = isNoErrorWrapping(context); Runnable writeErrorDelegator = () -> { writer.write("err = $L(&output, decoder)", documentDeserFunctionName); handleDecodeError(writer, ""); @@ -235,6 +261,11 @@ protected void deserializeError(GenerationContext context, StructureShape shape) writer.write("return output"); } + private Boolean isNoErrorWrapping(GenerationContext context) { + return context.getService().getTrait(RestXmlTrait.class).map( + RestXmlTrait::isNoErrorWrapping).orElse(false); + } + @Override protected void writeErrorMessageCodeDeserializer(GenerationContext context) { writeXmlErrorMessageCodeDeserializer(context); @@ -308,9 +339,13 @@ protected void generateOperationDocumentDeserializer( @Override protected void generateDocumentBodyShapeDeserializers(GenerationContext context, Set shapes) { XmlShapeDeserVisitor visitor = new XmlShapeDeserVisitor(context); - for (Shape shape : shapes) { + shapes.forEach(shape -> { + if (generatedDocumentBodyShapeDeserializers.contains(shape.toShapeId())) { + return; + } shape.accept(visitor); - } + generatedDocumentBodyShapeDeserializers.add(shape.toShapeId()); + }); } // Generate deserializers for shapes with payload binding @@ -368,7 +403,9 @@ private void writePayloadBindingDeserializer( } // Writes middleware that delegates to deserializers for shapes that have explicit payload. - private void writeMiddlewarePayloadBindingDeserializerDelegator(GoWriter writer, ServiceShape service, Shape shape) { + private void writeMiddlewarePayloadBindingDeserializerDelegator( + GoWriter writer, ServiceShape service, Shape shape + ) { String deserFuncName = ProtocolGenerator.getDocumentDeserializerFunctionName(shape, service, getProtocolName()); writer.write("err = $L(output, response.Body)", deserFuncName); writer.openBlock("if err != nil {", "}", () -> { @@ -386,12 +423,208 @@ private void writeMiddlewareDocumentBindingDeserializerDelegator( String operand ) { XmlProtocolUtils.initializeXmlDecoder(writer, "response.Body", "out, metadata,", "nil"); - writer.addUseImports(SmithyGoDependency.IO); String functionName = ProtocolGenerator.getDocumentDeserializerFunctionName( - shape, context.getService(), context.getProtocolName()); + shape, context.getService(), context.getProtocolName()); writer.write("err = $L(&$L, decoder)", functionName, operand); XmlProtocolUtils.handleDecodeError(writer, "out, metadata,"); } + + @Override + public void generateEventStreamComponents(GenerationContext context) { + AwsEventStreamUtils.generateEventStreamComponents(context); + } + + @Override + protected void writeOperationSerializerMiddlewareEventStreamSetup(GenerationContext context, EventStreamInfo info) { + AwsEventStreamUtils.writeOperationSerializerMiddlewareEventStreamSetup(context, info); + } + + @Override + protected void generateEventStreamSerializers( + GenerationContext context, + UnionShape eventUnion, + Set eventStreamInfos + ) { + Model model = context.getModel(); + + AwsEventStreamUtils.generateEventStreamSerializer(context, eventUnion); + var memberShapes = eventUnion.members().stream() + .filter(ms -> ms.getMemberTrait(model, ErrorTrait.class).isEmpty()) + .collect(Collectors.toCollection(TreeSet::new)); + + final var eventDocumentShapes = new HashSet(); + for (MemberShape member : memberShapes) { + var targetShape = model.expectShape(member.getTarget()); + if (generatedEventMessageSerializers.contains(targetShape.toShapeId())) { + continue; + } + + AwsEventStreamUtils.generateEventMessageSerializer(context, targetShape, (ctx, payloadTarget, operand) -> { + var ctxWriter = ctx.getWriter().get(); + var stringValue = SymbolUtils.createValueSymbolBuilder("StringValue", + AwsGoDependency.SERVICE_INTERNAL_EVENTSTREAM).build(); + var contentTypeHeader = SymbolUtils.createValueSymbolBuilder("ContentTypeHeader", + AwsGoDependency.SERVICE_INTERNAL_EVENTSTREAMAPI).build(); + + ctxWriter.write("msg.Headers.Set($T, $T($S))", + contentTypeHeader, stringValue, getDocumentContentType()); + + String functionName = ProtocolGenerator.getDocumentSerializerFunctionName(payloadTarget, + context.getService(), getProtocolName()); + + initalizeXmlEncoder(context, ctxWriter, payloadTarget, "root", operand); + + ctxWriter.openBlock("if err := $L(input, xmlEncoder.RootElement(root)); err != nil {", "}", + functionName, () -> { + ctxWriter.write("return &$T{Err: err}", + SymbolUtils.createValueSymbolBuilder("SerializationError", + SmithyGoDependency.SMITHY).build()); + }) + .write("msg.Payload = xmlEncoder.Bytes()") + .write("return nil"); + }); + + generatedEventMessageSerializers.add(targetShape.toShapeId()); + + var hasBindings = targetShape.members().stream() + .filter(ms -> ms.getTrait(EventHeaderTrait.class).isPresent() + || ms.getTrait(EventPayloadTrait.class).isPresent()) + .findAny(); + if (hasBindings.isPresent()) { + var payload = targetShape.members().stream() + .filter(ms -> ms.getTrait(EventPayloadTrait.class).isPresent()) + .map(ms -> model.expectShape(ms.getTarget())) + .filter(ProtocolUtils::requiresDocumentSerdeFunction) + .findAny(); + payload.ifPresent(eventDocumentShapes::add); + continue; + } + eventDocumentShapes.add(targetShape); + } + + eventDocumentShapes.addAll(ProtocolUtils.resolveRequiredDocumentShapeSerde(model, eventDocumentShapes)); + generateDocumentBodyShapeSerializers(context, eventDocumentShapes); + } + + @Override + protected void generateEventStreamDeserializers( + GenerationContext context, + UnionShape eventUnion, + Set eventStreamInfos + ) { + var model = context.getModel(); + + AwsEventStreamUtils.generateEventStreamDeserializer(context, eventUnion); + AwsEventStreamUtils.generateEventStreamExceptionDeserializer(context, eventUnion, ctx -> { + var ctxWriter = ctx.getWriter().get(); + ctxWriter.write("br := $T(msg.Payload)", SymbolUtils.createValueSymbolBuilder("NewReader", + SmithyGoDependency.BYTES).build()); + AwsProtocolUtils.initializeJsonDecoder(ctxWriter, "br"); + ctxWriter.addUseImports(AwsGoDependency.AWS_XML); + ctxWriter.write(""" + errorComponents, err := $T(br, $L) + if err != nil { + return err + } + errorCode := "UnknownError" + errorMessage := errorCode + if ev := exceptionType.String(); len(ev) > 0 { + errorCode = ev + } else if ev := errorComponents.Code; len(ev) > 0 { + errorCode = ev + } + if ev := errorComponents.Message; len(ev) > 0 { + errorMessage = ev + } + return &$T{ + Code: errorCode, + Message: errorMessage, + } + """, + SymbolUtils.createValueSymbolBuilder("GetErrorResponseComponents", AwsGoDependency.AWS_XML).build(), + isNoErrorWrapping(context), + SymbolUtils.createValueSymbolBuilder("GenericAPIError", SmithyGoDependency.SMITHY).build() + ); + }); + + final var eventDocumentShapes = new HashSet(); + + for (MemberShape shape : eventUnion.members()) { + var targetShape = model.expectShape(shape.getTarget()); + if (generatedEventMessageDeserializers.contains(targetShape.toShapeId())) { + continue; + } + generatedEventMessageDeserializers.add(targetShape.toShapeId()); + if (shape.getMemberTrait(model, ErrorTrait.class).isPresent()) { + AwsEventStreamUtils.generateEventMessageExceptionDeserializer(context, targetShape, + (ctx, payloadTarget) -> { + var ctxWriter = ctx.getWriter().get(); + ctxWriter.write("br := $T(msg.Payload)", SymbolUtils.createValueSymbolBuilder("NewReader", + SmithyGoDependency.BYTES).build()) + .write("output := &$T{}", context.getSymbolProvider().toSymbol(payloadTarget)); + + String functionName = ProtocolGenerator.getDocumentDeserializerFunctionName( + payloadTarget, context.getService(), getProtocolName()); + + initializeXmlDecoder(ctxWriter, "br", "output"); + boolean isNoErrorWrapping = isNoErrorWrapping(context); + Runnable writeErrorDelegator = () -> { + ctxWriter.write("err = $L(&output, decoder)", functionName); + handleDecodeError(ctxWriter, ""); + }; + + if (isNoErrorWrapping) { + writeErrorDelegator.run(); + } else { + ctxWriter.write("t, err = decoder.GetElement(\"Error\")"); + XmlProtocolUtils.handleDecodeError(ctxWriter, ""); + Symbol wrapNodeDecoder = SymbolUtils.createValueSymbolBuilder("WrapNodeDecoder", + SmithyGoDependency.SMITHY_XML).build(); + ctxWriter.write("decoder = $T(decoder.Decoder, t)", wrapNodeDecoder); + writeErrorDelegator.run(); + } + }); + + eventDocumentShapes.add(targetShape); + } else { + AwsEventStreamUtils.generateEventMessageDeserializer(context, targetShape, + (ctx, payloadTarget, operand) -> { + var ctxWriter = ctx.getWriter().get(); + + ctxWriter.write("br := $T(msg.Payload)", SymbolUtils.createValueSymbolBuilder( + "NewReader", SmithyGoDependency.BYTES).build()); + + XmlProtocolUtils.initializeXmlDecoder(ctxWriter, "br", "", "nil"); + + String functionName = ProtocolGenerator.getDocumentDeserializerFunctionName( + payloadTarget, context.getService(), context.getProtocolName()); + + ctxWriter.write("err = $L(&$L, decoder)", functionName, operand); + XmlProtocolUtils.handleDecodeError(ctxWriter, ""); + + ctxWriter.write("return nil"); + }); + + var hasBindings = targetShape.members().stream() + .filter(ms -> ms.getTrait(EventHeaderTrait.class).isPresent() + || ms.getTrait(EventPayloadTrait.class).isPresent()) + .findAny(); + if (hasBindings.isPresent()) { + var payload = targetShape.members().stream() + .filter(ms -> ms.getTrait(EventPayloadTrait.class).isPresent()) + .map(ms -> model.expectShape(ms.getTarget())) + .filter(ProtocolUtils::requiresDocumentSerdeFunction) + .findAny(); + payload.ifPresent(eventDocumentShapes::add); + continue; + } + eventDocumentShapes.add(targetShape); + } + } + + eventDocumentShapes.addAll(ProtocolUtils.resolveRequiredDocumentShapeSerde(model, eventDocumentShapes)); + generateDocumentBodyShapeDeserializers(context, eventDocumentShapes); + } } diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/XmlProtocolUtils.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/XmlProtocolUtils.java index b7fafff2e6a..55c369f2da5 100644 --- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/XmlProtocolUtils.java +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/XmlProtocolUtils.java @@ -55,10 +55,10 @@ public static void generateXMLStartElement( /** * Generates XML Start element for a document shape marked as a payload. * - * @param context is the generation context. + * @param context is the generation context. * @param memberShape is the payload as document member shape - * @param dst is the operand name which holds the generated start element. - * @param inputSrc is the input variable for the shape with values to be serialized. + * @param dst is the operand name which holds the generated start element. + * @param inputSrc is the input variable for the shape with values to be serialized. */ public static void generatePayloadAsDocumentXMLStartElement( ProtocolGenerator.GenerationContext context, MemberShape memberShape, String dst, String inputSrc @@ -91,9 +91,9 @@ public static void generatePayloadAsDocumentXMLStartElement( /** * Generates XML Attributes as per xmlNamespace and xmlAttribute traits. * - * @param context is the generation context. - * @param shape is the shape that is decorated with XmlNamespace, XmlAttribute trait. - * @param dst is the operand name which holds the generated xml Attribute value. + * @param context is the generation context. + * @param shape is the shape that is decorated with XmlNamespace, XmlAttribute trait. + * @param dst is the operand name which holds the generated xml Attribute value. * @param inputSrc is the input variable for the shape with values to be put as xml attributes. */ private static void generateXmlNamespaceAndAttributes( diff --git a/codegen/smithy-aws-go-codegen/src/main/resources/META-INF/services/software.amazon.smithy.go.codegen.integration.GoIntegration b/codegen/smithy-aws-go-codegen/src/main/resources/META-INF/services/software.amazon.smithy.go.codegen.integration.GoIntegration index e99bfaf99f0..273f76694a0 100644 --- a/codegen/smithy-aws-go-codegen/src/main/resources/META-INF/services/software.amazon.smithy.go.codegen.integration.GoIntegration +++ b/codegen/smithy-aws-go-codegen/src/main/resources/META-INF/services/software.amazon.smithy.go.codegen.integration.GoIntegration @@ -1,6 +1,7 @@ software.amazon.smithy.aws.go.codegen.AddProtocols software.amazon.smithy.aws.go.codegen.AddAwsConfigFields software.amazon.smithy.aws.go.codegen.RegisterServiceMetadataMiddleware +software.amazon.smithy.aws.go.codegen.AwsEventStreamIntegration software.amazon.smithy.aws.go.codegen.AssembleMiddlewareStack software.amazon.smithy.aws.go.codegen.AwsEndpointGenerator software.amazon.smithy.aws.go.codegen.AwsSignatureVersion4 @@ -10,6 +11,7 @@ software.amazon.smithy.aws.go.codegen.AwsSdkServiceId software.amazon.smithy.aws.go.codegen.AwsRetryMiddlewareHelper software.amazon.smithy.aws.go.codegen.AWSRequestIDRetriever software.amazon.smithy.aws.go.codegen.AWSResponseErrorWrapper +software.amazon.smithy.aws.go.codegen.FilterShapes software.amazon.smithy.aws.go.codegen.customization.ShapeBackwardsCompatabilityTransforms software.amazon.smithy.aws.go.codegen.customization.BackfillBoxTrait software.amazon.smithy.aws.go.codegen.customization.DynamoDBValidateResponseChecksum @@ -29,7 +31,6 @@ software.amazon.smithy.aws.go.codegen.customization.Route53Customizations software.amazon.smithy.aws.go.codegen.customization.S3HeadObjectCustomizations software.amazon.smithy.aws.go.codegen.customization.PresignURLAutoFill software.amazon.smithy.aws.go.codegen.customization.S3ExportInternalFeatures -software.amazon.smithy.aws.go.codegen.FilterStreamingOperations software.amazon.smithy.aws.go.codegen.customization.S3ControlEndpointResolver software.amazon.smithy.aws.go.codegen.customization.S3PaginationExtensions software.amazon.smithy.aws.go.codegen.AwsHttpPresignURLClientGenerator diff --git a/config/go.mod b/config/go.mod index 98b5be5973e..0c38c3ae412 100644 --- a/config/go.mod +++ b/config/go.mod @@ -9,7 +9,7 @@ require ( github.com/aws/aws-sdk-go-v2/internal/ini v1.2.5 github.com/aws/aws-sdk-go-v2/service/sso v1.5.0 github.com/aws/aws-sdk-go-v2/service/sts v1.8.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) diff --git a/config/go.sum b/config/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/config/go.sum +++ b/config/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/credentials/go.mod b/credentials/go.mod index 41bb496a1ea..74057c6800c 100644 --- a/credentials/go.mod +++ b/credentials/go.mod @@ -7,7 +7,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.7.0 github.com/aws/aws-sdk-go-v2/service/sso v1.5.0 github.com/aws/aws-sdk-go-v2/service/sts v1.8.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) diff --git a/credentials/go.sum b/credentials/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/credentials/go.sum +++ b/credentials/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/example/service/s3/listObjects/go.mod b/example/service/s3/listObjects/go.mod index b649fb82e12..4b9200f96c7 100644 --- a/example/service/s3/listObjects/go.mod +++ b/example/service/s3/listObjects/go.mod @@ -9,6 +9,8 @@ require ( replace github.com/aws/aws-sdk-go-v2 => ../../../../ +replace github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream => ../../../../aws/protocol/eventstream/ + replace github.com/aws/aws-sdk-go-v2/config => ../../../../config/ replace github.com/aws/aws-sdk-go-v2/credentials => ../../../../credentials/ diff --git a/example/service/s3/listObjects/go.sum b/example/service/s3/listObjects/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/example/service/s3/listObjects/go.sum +++ b/example/service/s3/listObjects/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/example/service/s3/usingPrivateLink/go.mod b/example/service/s3/usingPrivateLink/go.mod index 65e9a09c506..60dd695aa0f 100644 --- a/example/service/s3/usingPrivateLink/go.mod +++ b/example/service/s3/usingPrivateLink/go.mod @@ -11,6 +11,8 @@ require ( replace github.com/aws/aws-sdk-go-v2 => ../../../../ +replace github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream => ../../../../aws/protocol/eventstream/ + replace github.com/aws/aws-sdk-go-v2/config => ../../../../config/ replace github.com/aws/aws-sdk-go-v2/credentials => ../../../../credentials/ diff --git a/example/service/s3/usingPrivateLink/go.sum b/example/service/s3/usingPrivateLink/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/example/service/s3/usingPrivateLink/go.sum +++ b/example/service/s3/usingPrivateLink/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/feature/cloudfront/sign/go.sum b/feature/cloudfront/sign/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/feature/cloudfront/sign/go.sum +++ b/feature/cloudfront/sign/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/feature/dynamodb/attributevalue/go.mod b/feature/dynamodb/attributevalue/go.mod index 5a6b050b539..0ad15d439e4 100644 --- a/feature/dynamodb/attributevalue/go.mod +++ b/feature/dynamodb/attributevalue/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.6.0 github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.5.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) diff --git a/feature/dynamodb/attributevalue/go.sum b/feature/dynamodb/attributevalue/go.sum index 77d11920c65..b95f3bde722 100644 --- a/feature/dynamodb/attributevalue/go.sum +++ b/feature/dynamodb/attributevalue/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/feature/dynamodb/expression/go.sum b/feature/dynamodb/expression/go.sum index 77d11920c65..b95f3bde722 100644 --- a/feature/dynamodb/expression/go.sum +++ b/feature/dynamodb/expression/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/feature/dynamodbstreams/attributevalue/go.mod b/feature/dynamodbstreams/attributevalue/go.mod index 2d79422c2b0..d75575c8ad6 100644 --- a/feature/dynamodbstreams/attributevalue/go.mod +++ b/feature/dynamodbstreams/attributevalue/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.6.0 github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.5.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) diff --git a/feature/dynamodbstreams/attributevalue/go.sum b/feature/dynamodbstreams/attributevalue/go.sum index 77d11920c65..b95f3bde722 100644 --- a/feature/dynamodbstreams/attributevalue/go.sum +++ b/feature/dynamodbstreams/attributevalue/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/feature/ec2/imds/go.mod b/feature/ec2/imds/go.mod index a2348747ba5..b060ab7f950 100644 --- a/feature/ec2/imds/go.mod +++ b/feature/ec2/imds/go.mod @@ -4,7 +4,7 @@ go 1.15 require ( github.com/aws/aws-sdk-go-v2 v1.10.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) diff --git a/feature/ec2/imds/go.sum b/feature/ec2/imds/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/feature/ec2/imds/go.sum +++ b/feature/ec2/imds/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/feature/ec2/imds/internal/configtesting/go.sum b/feature/ec2/imds/internal/configtesting/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/feature/ec2/imds/internal/configtesting/go.sum +++ b/feature/ec2/imds/internal/configtesting/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/feature/rds/auth/go.sum b/feature/rds/auth/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/feature/rds/auth/go.sum +++ b/feature/rds/auth/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/feature/s3/manager/go.mod b/feature/s3/manager/go.mod index d97a9acae86..6310506c233 100644 --- a/feature/s3/manager/go.mod +++ b/feature/s3/manager/go.mod @@ -6,12 +6,14 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/config v1.9.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.17.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) replace github.com/aws/aws-sdk-go-v2 => ../../../ +replace github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream => ../../../aws/protocol/eventstream/ + replace github.com/aws/aws-sdk-go-v2/config => ../../../config/ replace github.com/aws/aws-sdk-go-v2/credentials => ../../../credentials/ diff --git a/feature/s3/manager/go.sum b/feature/s3/manager/go.sum index 77d11920c65..b95f3bde722 100644 --- a/feature/s3/manager/go.sum +++ b/feature/s3/manager/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/go.mod b/go.mod index 8d2113cbf1c..fdec4376628 100644 --- a/go.mod +++ b/go.mod @@ -1,7 +1,7 @@ module github.com/aws/aws-sdk-go-v2 require ( - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/go.sum b/go.sum index 77d11920c65..b95f3bde722 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/internal/configsources/configtesting/go.sum b/internal/configsources/configtesting/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/internal/configsources/configtesting/go.sum +++ b/internal/configsources/configtesting/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/internal/configsources/go.sum b/internal/configsources/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/internal/configsources/go.sum +++ b/internal/configsources/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/internal/endpoints/v2/go.mod b/internal/endpoints/v2/go.mod index e2628131f6f..15fd4992c32 100644 --- a/internal/endpoints/v2/go.mod +++ b/internal/endpoints/v2/go.mod @@ -4,7 +4,7 @@ go 1.15 require ( github.com/aws/aws-sdk-go-v2 v1.10.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) diff --git a/internal/endpoints/v2/go.sum b/internal/endpoints/v2/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/internal/endpoints/v2/go.sum +++ b/internal/endpoints/v2/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/internal/ini/go.sum b/internal/ini/go.sum index 53a57105f4e..78293d88c10 100644 --- a/internal/ini/go.sum +++ b/internal/ini/go.sum @@ -1,4 +1,4 @@ -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/internal/protocoltest/awsrestjson/go.mod b/internal/protocoltest/awsrestjson/go.mod index 8aeb5846b64..977c22efd9a 100644 --- a/internal/protocoltest/awsrestjson/go.mod +++ b/internal/protocoltest/awsrestjson/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) diff --git a/internal/protocoltest/awsrestjson/go.sum b/internal/protocoltest/awsrestjson/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/internal/protocoltest/awsrestjson/go.sum +++ b/internal/protocoltest/awsrestjson/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/internal/protocoltest/awsrestjson/types/types.go b/internal/protocoltest/awsrestjson/types/types.go index aaec9e8da0f..7d5ebc87c17 100644 --- a/internal/protocoltest/awsrestjson/types/types.go +++ b/internal/protocoltest/awsrestjson/types/types.go @@ -16,27 +16,27 @@ type ComplexNestedErrorData struct { // A union with a representative set of types for members. // // The following types satisfy this interface: -// MyUnionMemberStringValue -// MyUnionMemberBooleanValue -// MyUnionMemberNumberValue // MyUnionMemberBlobValue -// MyUnionMemberTimestampValue +// MyUnionMemberBooleanValue // MyUnionMemberEnumValue // MyUnionMemberListValue // MyUnionMemberMapValue -// MyUnionMemberStructureValue +// MyUnionMemberNumberValue // MyUnionMemberRenamedStructureValue +// MyUnionMemberStringValue +// MyUnionMemberStructureValue +// MyUnionMemberTimestampValue type MyUnion interface { isMyUnion() } -type MyUnionMemberStringValue struct { - Value string +type MyUnionMemberBlobValue struct { + Value []byte noSmithyDocumentSerde } -func (*MyUnionMemberStringValue) isMyUnion() {} +func (*MyUnionMemberBlobValue) isMyUnion() {} type MyUnionMemberBooleanValue struct { Value bool @@ -46,53 +46,53 @@ type MyUnionMemberBooleanValue struct { func (*MyUnionMemberBooleanValue) isMyUnion() {} -type MyUnionMemberNumberValue struct { - Value int32 +type MyUnionMemberEnumValue struct { + Value FooEnum noSmithyDocumentSerde } -func (*MyUnionMemberNumberValue) isMyUnion() {} +func (*MyUnionMemberEnumValue) isMyUnion() {} -type MyUnionMemberBlobValue struct { - Value []byte +type MyUnionMemberListValue struct { + Value []string noSmithyDocumentSerde } -func (*MyUnionMemberBlobValue) isMyUnion() {} +func (*MyUnionMemberListValue) isMyUnion() {} -type MyUnionMemberTimestampValue struct { - Value time.Time +type MyUnionMemberMapValue struct { + Value map[string]string noSmithyDocumentSerde } -func (*MyUnionMemberTimestampValue) isMyUnion() {} +func (*MyUnionMemberMapValue) isMyUnion() {} -type MyUnionMemberEnumValue struct { - Value FooEnum +type MyUnionMemberNumberValue struct { + Value int32 noSmithyDocumentSerde } -func (*MyUnionMemberEnumValue) isMyUnion() {} +func (*MyUnionMemberNumberValue) isMyUnion() {} -type MyUnionMemberListValue struct { - Value []string +type MyUnionMemberRenamedStructureValue struct { + Value RenamedGreeting noSmithyDocumentSerde } -func (*MyUnionMemberListValue) isMyUnion() {} +func (*MyUnionMemberRenamedStructureValue) isMyUnion() {} -type MyUnionMemberMapValue struct { - Value map[string]string +type MyUnionMemberStringValue struct { + Value string noSmithyDocumentSerde } -func (*MyUnionMemberMapValue) isMyUnion() {} +func (*MyUnionMemberStringValue) isMyUnion() {} type MyUnionMemberStructureValue struct { Value GreetingStruct @@ -102,13 +102,13 @@ type MyUnionMemberStructureValue struct { func (*MyUnionMemberStructureValue) isMyUnion() {} -type MyUnionMemberRenamedStructureValue struct { - Value RenamedGreeting +type MyUnionMemberTimestampValue struct { + Value time.Time noSmithyDocumentSerde } -func (*MyUnionMemberRenamedStructureValue) isMyUnion() {} +func (*MyUnionMemberTimestampValue) isMyUnion() {} type NestedPayload struct { Greeting *string diff --git a/internal/protocoltest/ec2query/go.mod b/internal/protocoltest/ec2query/go.mod index bdd4a0b5097..e56173a072f 100644 --- a/internal/protocoltest/ec2query/go.mod +++ b/internal/protocoltest/ec2query/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) diff --git a/internal/protocoltest/ec2query/go.sum b/internal/protocoltest/ec2query/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/internal/protocoltest/ec2query/go.sum +++ b/internal/protocoltest/ec2query/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/internal/protocoltest/jsonrpc/go.mod b/internal/protocoltest/jsonrpc/go.mod index b856b2b6995..8a56713da97 100644 --- a/internal/protocoltest/jsonrpc/go.mod +++ b/internal/protocoltest/jsonrpc/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) diff --git a/internal/protocoltest/jsonrpc/go.sum b/internal/protocoltest/jsonrpc/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/internal/protocoltest/jsonrpc/go.sum +++ b/internal/protocoltest/jsonrpc/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/internal/protocoltest/jsonrpc/types/types.go b/internal/protocoltest/jsonrpc/types/types.go index 3f297aa0384..7e622ce9801 100644 --- a/internal/protocoltest/jsonrpc/types/types.go +++ b/internal/protocoltest/jsonrpc/types/types.go @@ -77,26 +77,26 @@ type KitchenSink struct { // A union with a representative set of types for members. // // The following types satisfy this interface: -// MyUnionMemberStringValue -// MyUnionMemberBooleanValue -// MyUnionMemberNumberValue // MyUnionMemberBlobValue -// MyUnionMemberTimestampValue +// MyUnionMemberBooleanValue // MyUnionMemberEnumValue // MyUnionMemberListValue // MyUnionMemberMapValue +// MyUnionMemberNumberValue +// MyUnionMemberStringValue // MyUnionMemberStructureValue +// MyUnionMemberTimestampValue type MyUnion interface { isMyUnion() } -type MyUnionMemberStringValue struct { - Value string +type MyUnionMemberBlobValue struct { + Value []byte noSmithyDocumentSerde } -func (*MyUnionMemberStringValue) isMyUnion() {} +func (*MyUnionMemberBlobValue) isMyUnion() {} type MyUnionMemberBooleanValue struct { Value bool @@ -106,61 +106,61 @@ type MyUnionMemberBooleanValue struct { func (*MyUnionMemberBooleanValue) isMyUnion() {} -type MyUnionMemberNumberValue struct { - Value int32 +type MyUnionMemberEnumValue struct { + Value FooEnum noSmithyDocumentSerde } -func (*MyUnionMemberNumberValue) isMyUnion() {} +func (*MyUnionMemberEnumValue) isMyUnion() {} -type MyUnionMemberBlobValue struct { - Value []byte +type MyUnionMemberListValue struct { + Value []string noSmithyDocumentSerde } -func (*MyUnionMemberBlobValue) isMyUnion() {} +func (*MyUnionMemberListValue) isMyUnion() {} -type MyUnionMemberTimestampValue struct { - Value time.Time +type MyUnionMemberMapValue struct { + Value map[string]string noSmithyDocumentSerde } -func (*MyUnionMemberTimestampValue) isMyUnion() {} +func (*MyUnionMemberMapValue) isMyUnion() {} -type MyUnionMemberEnumValue struct { - Value FooEnum +type MyUnionMemberNumberValue struct { + Value int32 noSmithyDocumentSerde } -func (*MyUnionMemberEnumValue) isMyUnion() {} +func (*MyUnionMemberNumberValue) isMyUnion() {} -type MyUnionMemberListValue struct { - Value []string +type MyUnionMemberStringValue struct { + Value string noSmithyDocumentSerde } -func (*MyUnionMemberListValue) isMyUnion() {} +func (*MyUnionMemberStringValue) isMyUnion() {} -type MyUnionMemberMapValue struct { - Value map[string]string +type MyUnionMemberStructureValue struct { + Value GreetingStruct noSmithyDocumentSerde } -func (*MyUnionMemberMapValue) isMyUnion() {} +func (*MyUnionMemberStructureValue) isMyUnion() {} -type MyUnionMemberStructureValue struct { - Value GreetingStruct +type MyUnionMemberTimestampValue struct { + Value time.Time noSmithyDocumentSerde } -func (*MyUnionMemberStructureValue) isMyUnion() {} +func (*MyUnionMemberTimestampValue) isMyUnion() {} type SimpleStruct struct { Value *string diff --git a/internal/protocoltest/jsonrpc10/go.mod b/internal/protocoltest/jsonrpc10/go.mod index 89582e4846e..14ffdef60da 100644 --- a/internal/protocoltest/jsonrpc10/go.mod +++ b/internal/protocoltest/jsonrpc10/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) diff --git a/internal/protocoltest/jsonrpc10/go.sum b/internal/protocoltest/jsonrpc10/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/internal/protocoltest/jsonrpc10/go.sum +++ b/internal/protocoltest/jsonrpc10/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/internal/protocoltest/jsonrpc10/types/types.go b/internal/protocoltest/jsonrpc10/types/types.go index 4281daeb298..dc742a8d9a5 100644 --- a/internal/protocoltest/jsonrpc10/types/types.go +++ b/internal/protocoltest/jsonrpc10/types/types.go @@ -16,26 +16,26 @@ type ComplexNestedErrorData struct { // A union with a representative set of types for members. // // The following types satisfy this interface: -// MyUnionMemberStringValue -// MyUnionMemberBooleanValue -// MyUnionMemberNumberValue // MyUnionMemberBlobValue -// MyUnionMemberTimestampValue +// MyUnionMemberBooleanValue // MyUnionMemberEnumValue // MyUnionMemberListValue // MyUnionMemberMapValue +// MyUnionMemberNumberValue +// MyUnionMemberStringValue // MyUnionMemberStructureValue +// MyUnionMemberTimestampValue type MyUnion interface { isMyUnion() } -type MyUnionMemberStringValue struct { - Value string +type MyUnionMemberBlobValue struct { + Value []byte noSmithyDocumentSerde } -func (*MyUnionMemberStringValue) isMyUnion() {} +func (*MyUnionMemberBlobValue) isMyUnion() {} type MyUnionMemberBooleanValue struct { Value bool @@ -45,61 +45,61 @@ type MyUnionMemberBooleanValue struct { func (*MyUnionMemberBooleanValue) isMyUnion() {} -type MyUnionMemberNumberValue struct { - Value int32 +type MyUnionMemberEnumValue struct { + Value FooEnum noSmithyDocumentSerde } -func (*MyUnionMemberNumberValue) isMyUnion() {} +func (*MyUnionMemberEnumValue) isMyUnion() {} -type MyUnionMemberBlobValue struct { - Value []byte +type MyUnionMemberListValue struct { + Value []string noSmithyDocumentSerde } -func (*MyUnionMemberBlobValue) isMyUnion() {} +func (*MyUnionMemberListValue) isMyUnion() {} -type MyUnionMemberTimestampValue struct { - Value time.Time +type MyUnionMemberMapValue struct { + Value map[string]string noSmithyDocumentSerde } -func (*MyUnionMemberTimestampValue) isMyUnion() {} +func (*MyUnionMemberMapValue) isMyUnion() {} -type MyUnionMemberEnumValue struct { - Value FooEnum +type MyUnionMemberNumberValue struct { + Value int32 noSmithyDocumentSerde } -func (*MyUnionMemberEnumValue) isMyUnion() {} +func (*MyUnionMemberNumberValue) isMyUnion() {} -type MyUnionMemberListValue struct { - Value []string +type MyUnionMemberStringValue struct { + Value string noSmithyDocumentSerde } -func (*MyUnionMemberListValue) isMyUnion() {} +func (*MyUnionMemberStringValue) isMyUnion() {} -type MyUnionMemberMapValue struct { - Value map[string]string +type MyUnionMemberStructureValue struct { + Value GreetingStruct noSmithyDocumentSerde } -func (*MyUnionMemberMapValue) isMyUnion() {} +func (*MyUnionMemberStructureValue) isMyUnion() {} -type MyUnionMemberStructureValue struct { - Value GreetingStruct +type MyUnionMemberTimestampValue struct { + Value time.Time noSmithyDocumentSerde } -func (*MyUnionMemberStructureValue) isMyUnion() {} +func (*MyUnionMemberTimestampValue) isMyUnion() {} type GreetingStruct struct { Hi *string diff --git a/internal/protocoltest/query/go.mod b/internal/protocoltest/query/go.mod index e73b907cf4a..7be9c02ef6a 100644 --- a/internal/protocoltest/query/go.mod +++ b/internal/protocoltest/query/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) diff --git a/internal/protocoltest/query/go.sum b/internal/protocoltest/query/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/internal/protocoltest/query/go.sum +++ b/internal/protocoltest/query/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/internal/protocoltest/restxml/go.mod b/internal/protocoltest/restxml/go.mod index d0180c85ea4..363978c488b 100644 --- a/internal/protocoltest/restxml/go.mod +++ b/internal/protocoltest/restxml/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) diff --git a/internal/protocoltest/restxml/go.sum b/internal/protocoltest/restxml/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/internal/protocoltest/restxml/go.sum +++ b/internal/protocoltest/restxml/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/internal/protocoltest/restxml/types/types.go b/internal/protocoltest/restxml/types/types.go index 5d8dad98804..0fdfcbe8e34 100644 --- a/internal/protocoltest/restxml/types/types.go +++ b/internal/protocoltest/restxml/types/types.go @@ -99,28 +99,20 @@ type XmlNestedUnionStruct struct { } // The following types satisfy this interface: -// XmlUnionShapeMemberStringValue // XmlUnionShapeMemberBooleanValue // XmlUnionShapeMemberByteValue -// XmlUnionShapeMemberShortValue +// XmlUnionShapeMemberDoubleValue +// XmlUnionShapeMemberFloatValue // XmlUnionShapeMemberIntegerValue // XmlUnionShapeMemberLongValue -// XmlUnionShapeMemberFloatValue -// XmlUnionShapeMemberDoubleValue -// XmlUnionShapeMemberUnionValue +// XmlUnionShapeMemberShortValue +// XmlUnionShapeMemberStringValue // XmlUnionShapeMemberStructValue +// XmlUnionShapeMemberUnionValue type XmlUnionShape interface { isXmlUnionShape() } -type XmlUnionShapeMemberStringValue struct { - Value string - - noSmithyDocumentSerde -} - -func (*XmlUnionShapeMemberStringValue) isXmlUnionShape() {} - type XmlUnionShapeMemberBooleanValue struct { Value bool @@ -137,13 +129,21 @@ type XmlUnionShapeMemberByteValue struct { func (*XmlUnionShapeMemberByteValue) isXmlUnionShape() {} -type XmlUnionShapeMemberShortValue struct { - Value int16 +type XmlUnionShapeMemberDoubleValue struct { + Value float64 noSmithyDocumentSerde } -func (*XmlUnionShapeMemberShortValue) isXmlUnionShape() {} +func (*XmlUnionShapeMemberDoubleValue) isXmlUnionShape() {} + +type XmlUnionShapeMemberFloatValue struct { + Value float32 + + noSmithyDocumentSerde +} + +func (*XmlUnionShapeMemberFloatValue) isXmlUnionShape() {} type XmlUnionShapeMemberIntegerValue struct { Value int32 @@ -161,37 +161,37 @@ type XmlUnionShapeMemberLongValue struct { func (*XmlUnionShapeMemberLongValue) isXmlUnionShape() {} -type XmlUnionShapeMemberFloatValue struct { - Value float32 +type XmlUnionShapeMemberShortValue struct { + Value int16 noSmithyDocumentSerde } -func (*XmlUnionShapeMemberFloatValue) isXmlUnionShape() {} +func (*XmlUnionShapeMemberShortValue) isXmlUnionShape() {} -type XmlUnionShapeMemberDoubleValue struct { - Value float64 +type XmlUnionShapeMemberStringValue struct { + Value string noSmithyDocumentSerde } -func (*XmlUnionShapeMemberDoubleValue) isXmlUnionShape() {} +func (*XmlUnionShapeMemberStringValue) isXmlUnionShape() {} -type XmlUnionShapeMemberUnionValue struct { - Value XmlUnionShape +type XmlUnionShapeMemberStructValue struct { + Value XmlNestedUnionStruct noSmithyDocumentSerde } -func (*XmlUnionShapeMemberUnionValue) isXmlUnionShape() {} +func (*XmlUnionShapeMemberStructValue) isXmlUnionShape() {} -type XmlUnionShapeMemberStructValue struct { - Value XmlNestedUnionStruct +type XmlUnionShapeMemberUnionValue struct { + Value XmlUnionShape noSmithyDocumentSerde } -func (*XmlUnionShapeMemberStructValue) isXmlUnionShape() {} +func (*XmlUnionShapeMemberUnionValue) isXmlUnionShape() {} type GreetingStruct struct { Hi *string diff --git a/internal/protocoltest/restxmlwithnamespace/go.mod b/internal/protocoltest/restxmlwithnamespace/go.mod index e80353ff149..1bf10797e69 100644 --- a/internal/protocoltest/restxmlwithnamespace/go.mod +++ b/internal/protocoltest/restxmlwithnamespace/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) diff --git a/internal/protocoltest/restxmlwithnamespace/go.sum b/internal/protocoltest/restxmlwithnamespace/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/internal/protocoltest/restxmlwithnamespace/go.sum +++ b/internal/protocoltest/restxmlwithnamespace/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/modman.toml b/modman.toml index 3192af90e44..8e1dc284172 100644 --- a/modman.toml +++ b/modman.toml @@ -1,6 +1,6 @@ [dependencies] - "github.com/aws/smithy-go" = "v1.8.1" + "github.com/aws/smithy-go" = "v1.8.2-0.20211102001011-cc8d2d3f851f" "github.com/google/go-cmp" = "v0.5.6" "github.com/jmespath/go-jmespath" = "v0.4.0" diff --git a/service/accessanalyzer/go.mod b/service/accessanalyzer/go.mod index e5fcca1b245..696ae30f92c 100644 --- a/service/accessanalyzer/go.mod +++ b/service/accessanalyzer/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/accessanalyzer/go.sum b/service/accessanalyzer/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/accessanalyzer/go.sum +++ b/service/accessanalyzer/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/accessanalyzer/types/types.go b/service/accessanalyzer/types/types.go index fb7ba0cf921..b9106a49f2d 100644 --- a/service/accessanalyzer/types/types.go +++ b/service/accessanalyzer/types/types.go @@ -445,8 +445,8 @@ type CloudTrailProperties struct { // The following types satisfy this interface: // ConfigurationMemberIamRole // ConfigurationMemberKmsKey -// ConfigurationMemberSecretsManagerSecret // ConfigurationMemberS3Bucket +// ConfigurationMemberSecretsManagerSecret // ConfigurationMemberSqsQueue type Configuration interface { isConfiguration() @@ -470,23 +470,23 @@ type ConfigurationMemberKmsKey struct { func (*ConfigurationMemberKmsKey) isConfiguration() {} -// The access control configuration is for a Secrets Manager secret. -type ConfigurationMemberSecretsManagerSecret struct { - Value SecretsManagerSecretConfiguration +// The access control configuration is for an Amazon S3 Bucket. +type ConfigurationMemberS3Bucket struct { + Value S3BucketConfiguration noSmithyDocumentSerde } -func (*ConfigurationMemberSecretsManagerSecret) isConfiguration() {} +func (*ConfigurationMemberS3Bucket) isConfiguration() {} -// The access control configuration is for an Amazon S3 Bucket. -type ConfigurationMemberS3Bucket struct { - Value S3BucketConfiguration +// The access control configuration is for a Secrets Manager secret. +type ConfigurationMemberSecretsManagerSecret struct { + Value SecretsManagerSecretConfiguration noSmithyDocumentSerde } -func (*ConfigurationMemberS3Bucket) isConfiguration() {} +func (*ConfigurationMemberSecretsManagerSecret) isConfiguration() {} // The access control configuration is for an Amazon SQS queue. type ConfigurationMemberSqsQueue struct { @@ -932,12 +932,22 @@ type Location struct { // (https://docs.aws.amazon.com/AmazonS3/latest/dev/creating-access-points.html). // // The following types satisfy this interface: -// NetworkOriginConfigurationMemberVpcConfiguration // NetworkOriginConfigurationMemberInternetConfiguration +// NetworkOriginConfigurationMemberVpcConfiguration type NetworkOriginConfiguration interface { isNetworkOriginConfiguration() } +// The configuration for the Amazon S3 access point or multi-region access point +// with an Internet origin. +type NetworkOriginConfigurationMemberInternetConfiguration struct { + Value InternetConfiguration + + noSmithyDocumentSerde +} + +func (*NetworkOriginConfigurationMemberInternetConfiguration) isNetworkOriginConfiguration() {} + // The proposed virtual private cloud (VPC) configuration for the Amazon S3 access // point. VPC configuration does not apply to multi-region access points. For more // information, see VpcConfiguration @@ -950,16 +960,6 @@ type NetworkOriginConfigurationMemberVpcConfiguration struct { func (*NetworkOriginConfigurationMemberVpcConfiguration) isNetworkOriginConfiguration() {} -// The configuration for the Amazon S3 access point or multi-region access point -// with an Internet origin. -type NetworkOriginConfigurationMemberInternetConfiguration struct { - Value InternetConfiguration - - noSmithyDocumentSerde -} - -func (*NetworkOriginConfigurationMemberInternetConfiguration) isNetworkOriginConfiguration() {} - // A single element in a path through the JSON representation of a policy. // // The following types satisfy this interface: diff --git a/service/account/go.mod b/service/account/go.mod index c9bfda8d4e8..ca965e7efa5 100644 --- a/service/account/go.mod +++ b/service/account/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/account/go.sum b/service/account/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/account/go.sum +++ b/service/account/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/acm/go.mod b/service/acm/go.mod index 66df42e322d..e927e768a6f 100644 --- a/service/acm/go.mod +++ b/service/acm/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/acm/go.sum b/service/acm/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/acm/go.sum +++ b/service/acm/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/acmpca/go.mod b/service/acmpca/go.mod index 77b94316ee4..0c753a01504 100644 --- a/service/acmpca/go.mod +++ b/service/acmpca/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/acmpca/go.sum b/service/acmpca/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/acmpca/go.sum +++ b/service/acmpca/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/alexaforbusiness/go.mod b/service/alexaforbusiness/go.mod index 45e3a9e35f3..cb8810ae9b9 100644 --- a/service/alexaforbusiness/go.mod +++ b/service/alexaforbusiness/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/alexaforbusiness/go.sum b/service/alexaforbusiness/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/alexaforbusiness/go.sum +++ b/service/alexaforbusiness/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/amp/go.mod b/service/amp/go.mod index 4d7e4c1bd05..f7e09a25956 100644 --- a/service/amp/go.mod +++ b/service/amp/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/amp/go.sum b/service/amp/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/amp/go.sum +++ b/service/amp/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/amplify/go.mod b/service/amplify/go.mod index 17c24d60abe..f230fe3b106 100644 --- a/service/amplify/go.mod +++ b/service/amplify/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/amplify/go.sum b/service/amplify/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/amplify/go.sum +++ b/service/amplify/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/amplifybackend/go.mod b/service/amplifybackend/go.mod index d0bbcdba01b..a9a1562e232 100644 --- a/service/amplifybackend/go.mod +++ b/service/amplifybackend/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/amplifybackend/go.sum b/service/amplifybackend/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/amplifybackend/go.sum +++ b/service/amplifybackend/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/apigateway/go.mod b/service/apigateway/go.mod index e73cc521d40..b58011a4ce4 100644 --- a/service/apigateway/go.mod +++ b/service/apigateway/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/apigateway/go.sum b/service/apigateway/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/apigateway/go.sum +++ b/service/apigateway/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/apigatewaymanagementapi/go.mod b/service/apigatewaymanagementapi/go.mod index b047fee2313..93ee48f9cff 100644 --- a/service/apigatewaymanagementapi/go.mod +++ b/service/apigatewaymanagementapi/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/apigatewaymanagementapi/go.sum b/service/apigatewaymanagementapi/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/apigatewaymanagementapi/go.sum +++ b/service/apigatewaymanagementapi/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/apigatewayv2/go.mod b/service/apigatewayv2/go.mod index ebd20ad253c..3707fdd949c 100644 --- a/service/apigatewayv2/go.mod +++ b/service/apigatewayv2/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/apigatewayv2/go.sum b/service/apigatewayv2/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/apigatewayv2/go.sum +++ b/service/apigatewayv2/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/appconfig/go.mod b/service/appconfig/go.mod index 45fdf373914..63abe1d8cce 100644 --- a/service/appconfig/go.mod +++ b/service/appconfig/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/appconfig/go.sum b/service/appconfig/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/appconfig/go.sum +++ b/service/appconfig/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/appflow/go.mod b/service/appflow/go.mod index 1e238f3daab..5b4b0aa1817 100644 --- a/service/appflow/go.mod +++ b/service/appflow/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/appflow/go.sum b/service/appflow/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/appflow/go.sum +++ b/service/appflow/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/appintegrations/go.mod b/service/appintegrations/go.mod index f5af54c77cb..624d45f7784 100644 --- a/service/appintegrations/go.mod +++ b/service/appintegrations/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/appintegrations/go.sum b/service/appintegrations/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/appintegrations/go.sum +++ b/service/appintegrations/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/applicationautoscaling/go.mod b/service/applicationautoscaling/go.mod index 3fb2d51e339..332c28600e5 100644 --- a/service/applicationautoscaling/go.mod +++ b/service/applicationautoscaling/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/applicationautoscaling/go.sum b/service/applicationautoscaling/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/applicationautoscaling/go.sum +++ b/service/applicationautoscaling/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/applicationcostprofiler/go.mod b/service/applicationcostprofiler/go.mod index d976981642d..bc764910432 100644 --- a/service/applicationcostprofiler/go.mod +++ b/service/applicationcostprofiler/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/applicationcostprofiler/go.sum b/service/applicationcostprofiler/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/applicationcostprofiler/go.sum +++ b/service/applicationcostprofiler/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/applicationdiscoveryservice/go.mod b/service/applicationdiscoveryservice/go.mod index 3e24607f9e6..18bfa22b6bf 100644 --- a/service/applicationdiscoveryservice/go.mod +++ b/service/applicationdiscoveryservice/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/applicationdiscoveryservice/go.sum b/service/applicationdiscoveryservice/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/applicationdiscoveryservice/go.sum +++ b/service/applicationdiscoveryservice/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/applicationinsights/go.mod b/service/applicationinsights/go.mod index 0b45d30c1db..798ba7b4f48 100644 --- a/service/applicationinsights/go.mod +++ b/service/applicationinsights/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/applicationinsights/go.sum b/service/applicationinsights/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/applicationinsights/go.sum +++ b/service/applicationinsights/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/appmesh/go.mod b/service/appmesh/go.mod index 9b26fbefa0f..d031770f4e9 100644 --- a/service/appmesh/go.mod +++ b/service/appmesh/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/appmesh/go.sum b/service/appmesh/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/appmesh/go.sum +++ b/service/appmesh/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/appmesh/types/types.go b/service/appmesh/types/types.go index 494e9f46a02..df138dea239 100644 --- a/service/appmesh/types/types.go +++ b/service/appmesh/types/types.go @@ -458,9 +458,9 @@ type GrpcGatewayRouteRewrite struct { // // The following types satisfy this interface: // GrpcMetadataMatchMethodMemberExact -// GrpcMetadataMatchMethodMemberRegex -// GrpcMetadataMatchMethodMemberRange // GrpcMetadataMatchMethodMemberPrefix +// GrpcMetadataMatchMethodMemberRange +// GrpcMetadataMatchMethodMemberRegex // GrpcMetadataMatchMethodMemberSuffix type GrpcMetadataMatchMethod interface { isGrpcMetadataMatchMethod() @@ -475,14 +475,14 @@ type GrpcMetadataMatchMethodMemberExact struct { func (*GrpcMetadataMatchMethodMemberExact) isGrpcMetadataMatchMethod() {} -// The regex used to match the method header. -type GrpcMetadataMatchMethodMemberRegex struct { +// The specified beginning characters of the method header to be matched on. +type GrpcMetadataMatchMethodMemberPrefix struct { Value string noSmithyDocumentSerde } -func (*GrpcMetadataMatchMethodMemberRegex) isGrpcMetadataMatchMethod() {} +func (*GrpcMetadataMatchMethodMemberPrefix) isGrpcMetadataMatchMethod() {} // An object that represents the range of values to match on. The first character // of the range is included in the range, though the last character is not. For @@ -495,14 +495,14 @@ type GrpcMetadataMatchMethodMemberRange struct { func (*GrpcMetadataMatchMethodMemberRange) isGrpcMetadataMatchMethod() {} -// The specified beginning characters of the method header to be matched on. -type GrpcMetadataMatchMethodMemberPrefix struct { +// The regex used to match the method header. +type GrpcMetadataMatchMethodMemberRegex struct { Value string noSmithyDocumentSerde } -func (*GrpcMetadataMatchMethodMemberPrefix) isGrpcMetadataMatchMethod() {} +func (*GrpcMetadataMatchMethodMemberRegex) isGrpcMetadataMatchMethod() {} // The specified ending characters of the method header to match on. type GrpcMetadataMatchMethodMemberSuffix struct { @@ -628,9 +628,9 @@ type GrpcRouteMetadata struct { // // The following types satisfy this interface: // GrpcRouteMetadataMatchMethodMemberExact -// GrpcRouteMetadataMatchMethodMemberRegex -// GrpcRouteMetadataMatchMethodMemberRange // GrpcRouteMetadataMatchMethodMemberPrefix +// GrpcRouteMetadataMatchMethodMemberRange +// GrpcRouteMetadataMatchMethodMemberRegex // GrpcRouteMetadataMatchMethodMemberSuffix type GrpcRouteMetadataMatchMethod interface { isGrpcRouteMetadataMatchMethod() @@ -645,14 +645,14 @@ type GrpcRouteMetadataMatchMethodMemberExact struct { func (*GrpcRouteMetadataMatchMethodMemberExact) isGrpcRouteMetadataMatchMethod() {} -// The value sent by the client must include the specified characters. -type GrpcRouteMetadataMatchMethodMemberRegex struct { +// The value sent by the client must begin with the specified characters. +type GrpcRouteMetadataMatchMethodMemberPrefix struct { Value string noSmithyDocumentSerde } -func (*GrpcRouteMetadataMatchMethodMemberRegex) isGrpcRouteMetadataMatchMethod() {} +func (*GrpcRouteMetadataMatchMethodMemberPrefix) isGrpcRouteMetadataMatchMethod() {} // An object that represents the range of values to match on. type GrpcRouteMetadataMatchMethodMemberRange struct { @@ -663,14 +663,14 @@ type GrpcRouteMetadataMatchMethodMemberRange struct { func (*GrpcRouteMetadataMatchMethodMemberRange) isGrpcRouteMetadataMatchMethod() {} -// The value sent by the client must begin with the specified characters. -type GrpcRouteMetadataMatchMethodMemberPrefix struct { +// The value sent by the client must include the specified characters. +type GrpcRouteMetadataMatchMethodMemberRegex struct { Value string noSmithyDocumentSerde } -func (*GrpcRouteMetadataMatchMethodMemberPrefix) isGrpcRouteMetadataMatchMethod() {} +func (*GrpcRouteMetadataMatchMethodMemberRegex) isGrpcRouteMetadataMatchMethod() {} // The value sent by the client must end with the specified characters. type GrpcRouteMetadataMatchMethodMemberSuffix struct { @@ -704,9 +704,9 @@ type GrpcTimeout struct { // // The following types satisfy this interface: // HeaderMatchMethodMemberExact -// HeaderMatchMethodMemberRegex -// HeaderMatchMethodMemberRange // HeaderMatchMethodMemberPrefix +// HeaderMatchMethodMemberRange +// HeaderMatchMethodMemberRegex // HeaderMatchMethodMemberSuffix type HeaderMatchMethod interface { isHeaderMatchMethod() @@ -721,14 +721,14 @@ type HeaderMatchMethodMemberExact struct { func (*HeaderMatchMethodMemberExact) isHeaderMatchMethod() {} -// The value sent by the client must include the specified characters. -type HeaderMatchMethodMemberRegex struct { +// The value sent by the client must begin with the specified characters. +type HeaderMatchMethodMemberPrefix struct { Value string noSmithyDocumentSerde } -func (*HeaderMatchMethodMemberRegex) isHeaderMatchMethod() {} +func (*HeaderMatchMethodMemberPrefix) isHeaderMatchMethod() {} // An object that represents the range of values to match on. type HeaderMatchMethodMemberRange struct { @@ -739,14 +739,14 @@ type HeaderMatchMethodMemberRange struct { func (*HeaderMatchMethodMemberRange) isHeaderMatchMethod() {} -// The value sent by the client must begin with the specified characters. -type HeaderMatchMethodMemberPrefix struct { +// The value sent by the client must include the specified characters. +type HeaderMatchMethodMemberRegex struct { Value string noSmithyDocumentSerde } -func (*HeaderMatchMethodMemberPrefix) isHeaderMatchMethod() {} +func (*HeaderMatchMethodMemberRegex) isHeaderMatchMethod() {} // The value sent by the client must end with the specified characters. type HeaderMatchMethodMemberSuffix struct { @@ -1112,22 +1112,22 @@ type Listener struct { // An object that represents timeouts for different protocols. // // The following types satisfy this interface: -// ListenerTimeoutMemberTcp +// ListenerTimeoutMemberGrpc // ListenerTimeoutMemberHttp // ListenerTimeoutMemberHttp2 -// ListenerTimeoutMemberGrpc +// ListenerTimeoutMemberTcp type ListenerTimeout interface { isListenerTimeout() } // An object that represents types of timeouts. -type ListenerTimeoutMemberTcp struct { - Value TcpTimeout +type ListenerTimeoutMemberGrpc struct { + Value GrpcTimeout noSmithyDocumentSerde } -func (*ListenerTimeoutMemberTcp) isListenerTimeout() {} +func (*ListenerTimeoutMemberGrpc) isListenerTimeout() {} // An object that represents types of timeouts. type ListenerTimeoutMemberHttp struct { @@ -1148,13 +1148,13 @@ type ListenerTimeoutMemberHttp2 struct { func (*ListenerTimeoutMemberHttp2) isListenerTimeout() {} // An object that represents types of timeouts. -type ListenerTimeoutMemberGrpc struct { - Value GrpcTimeout +type ListenerTimeoutMemberTcp struct { + Value TcpTimeout noSmithyDocumentSerde } -func (*ListenerTimeoutMemberGrpc) isListenerTimeout() {} +func (*ListenerTimeoutMemberTcp) isListenerTimeout() {} // An object that represents the Transport Layer Security (TLS) properties for a // listener. @@ -1673,29 +1673,29 @@ type RouteStatus struct { // An object that represents the service discovery information for a virtual node. // // The following types satisfy this interface: -// ServiceDiscoveryMemberDns // ServiceDiscoveryMemberAwsCloudMap +// ServiceDiscoveryMemberDns type ServiceDiscovery interface { isServiceDiscovery() } -// Specifies the DNS information for the virtual node. -type ServiceDiscoveryMemberDns struct { - Value DnsServiceDiscovery +// Specifies any Cloud Map information for the virtual node. +type ServiceDiscoveryMemberAwsCloudMap struct { + Value AwsCloudMapServiceDiscovery noSmithyDocumentSerde } -func (*ServiceDiscoveryMemberDns) isServiceDiscovery() {} +func (*ServiceDiscoveryMemberAwsCloudMap) isServiceDiscovery() {} -// Specifies any Cloud Map information for the virtual node. -type ServiceDiscoveryMemberAwsCloudMap struct { - Value AwsCloudMapServiceDiscovery +// Specifies the DNS information for the virtual node. +type ServiceDiscoveryMemberDns struct { + Value DnsServiceDiscovery noSmithyDocumentSerde } -func (*ServiceDiscoveryMemberAwsCloudMap) isServiceDiscovery() {} +func (*ServiceDiscoveryMemberDns) isServiceDiscovery() {} // An object that represents the methods by which a subject alternative name on a // peer Transport Layer Security (TLS) certificate can be matched. @@ -1972,39 +1972,39 @@ func (*VirtualGatewayClientTlsCertificateMemberSds) isVirtualGatewayClientTlsCer // 2147483647. // // The following types satisfy this interface: +// VirtualGatewayConnectionPoolMemberGrpc // VirtualGatewayConnectionPoolMemberHttp // VirtualGatewayConnectionPoolMemberHttp2 -// VirtualGatewayConnectionPoolMemberGrpc type VirtualGatewayConnectionPool interface { isVirtualGatewayConnectionPool() } // An object that represents a type of connection pool. -type VirtualGatewayConnectionPoolMemberHttp struct { - Value VirtualGatewayHttpConnectionPool +type VirtualGatewayConnectionPoolMemberGrpc struct { + Value VirtualGatewayGrpcConnectionPool noSmithyDocumentSerde } -func (*VirtualGatewayConnectionPoolMemberHttp) isVirtualGatewayConnectionPool() {} +func (*VirtualGatewayConnectionPoolMemberGrpc) isVirtualGatewayConnectionPool() {} // An object that represents a type of connection pool. -type VirtualGatewayConnectionPoolMemberHttp2 struct { - Value VirtualGatewayHttp2ConnectionPool +type VirtualGatewayConnectionPoolMemberHttp struct { + Value VirtualGatewayHttpConnectionPool noSmithyDocumentSerde } -func (*VirtualGatewayConnectionPoolMemberHttp2) isVirtualGatewayConnectionPool() {} +func (*VirtualGatewayConnectionPoolMemberHttp) isVirtualGatewayConnectionPool() {} // An object that represents a type of connection pool. -type VirtualGatewayConnectionPoolMemberGrpc struct { - Value VirtualGatewayGrpcConnectionPool +type VirtualGatewayConnectionPoolMemberHttp2 struct { + Value VirtualGatewayHttp2ConnectionPool noSmithyDocumentSerde } -func (*VirtualGatewayConnectionPoolMemberGrpc) isVirtualGatewayConnectionPool() {} +func (*VirtualGatewayConnectionPoolMemberHttp2) isVirtualGatewayConnectionPool() {} // An object that represents a virtual gateway returned by a describe operation. type VirtualGatewayData struct { @@ -2543,22 +2543,22 @@ func (*VirtualGatewayTlsValidationContextTrustMemberSds) isVirtualGatewayTlsVali // 2147483647. // // The following types satisfy this interface: -// VirtualNodeConnectionPoolMemberTcp +// VirtualNodeConnectionPoolMemberGrpc // VirtualNodeConnectionPoolMemberHttp // VirtualNodeConnectionPoolMemberHttp2 -// VirtualNodeConnectionPoolMemberGrpc +// VirtualNodeConnectionPoolMemberTcp type VirtualNodeConnectionPool interface { isVirtualNodeConnectionPool() } // An object that represents a type of connection pool. -type VirtualNodeConnectionPoolMemberTcp struct { - Value VirtualNodeTcpConnectionPool +type VirtualNodeConnectionPoolMemberGrpc struct { + Value VirtualNodeGrpcConnectionPool noSmithyDocumentSerde } -func (*VirtualNodeConnectionPoolMemberTcp) isVirtualNodeConnectionPool() {} +func (*VirtualNodeConnectionPoolMemberGrpc) isVirtualNodeConnectionPool() {} // An object that represents a type of connection pool. type VirtualNodeConnectionPoolMemberHttp struct { @@ -2579,13 +2579,13 @@ type VirtualNodeConnectionPoolMemberHttp2 struct { func (*VirtualNodeConnectionPoolMemberHttp2) isVirtualNodeConnectionPool() {} // An object that represents a type of connection pool. -type VirtualNodeConnectionPoolMemberGrpc struct { - Value VirtualNodeGrpcConnectionPool +type VirtualNodeConnectionPoolMemberTcp struct { + Value VirtualNodeTcpConnectionPool noSmithyDocumentSerde } -func (*VirtualNodeConnectionPoolMemberGrpc) isVirtualNodeConnectionPool() {} +func (*VirtualNodeConnectionPoolMemberTcp) isVirtualNodeConnectionPool() {} // An object that represents a virtual node returned by a describe operation. type VirtualNodeData struct { diff --git a/service/apprunner/go.mod b/service/apprunner/go.mod index a00075a3129..00caee3025a 100644 --- a/service/apprunner/go.mod +++ b/service/apprunner/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/apprunner/go.sum b/service/apprunner/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/apprunner/go.sum +++ b/service/apprunner/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/appstream/go.mod b/service/appstream/go.mod index b2d24aa9b69..619861aac11 100644 --- a/service/appstream/go.mod +++ b/service/appstream/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/appstream/go.sum b/service/appstream/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/appstream/go.sum +++ b/service/appstream/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/appsync/go.mod b/service/appsync/go.mod index 9ebae7761e1..c1f65b285de 100644 --- a/service/appsync/go.mod +++ b/service/appsync/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/appsync/go.sum b/service/appsync/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/appsync/go.sum +++ b/service/appsync/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/athena/go.mod b/service/athena/go.mod index 1fe0d1a6a02..888a5458f34 100644 --- a/service/athena/go.mod +++ b/service/athena/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/athena/go.sum b/service/athena/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/athena/go.sum +++ b/service/athena/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/auditmanager/go.mod b/service/auditmanager/go.mod index 2bf1f4a574a..0c5e484cef6 100644 --- a/service/auditmanager/go.mod +++ b/service/auditmanager/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/auditmanager/go.sum b/service/auditmanager/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/auditmanager/go.sum +++ b/service/auditmanager/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/autoscaling/go.mod b/service/autoscaling/go.mod index 990867946b9..50bf36b6d40 100644 --- a/service/autoscaling/go.mod +++ b/service/autoscaling/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/autoscaling/go.sum b/service/autoscaling/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/autoscaling/go.sum +++ b/service/autoscaling/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/autoscalingplans/go.mod b/service/autoscalingplans/go.mod index 92447517b00..6c7c59931e0 100644 --- a/service/autoscalingplans/go.mod +++ b/service/autoscalingplans/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/autoscalingplans/go.sum b/service/autoscalingplans/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/autoscalingplans/go.sum +++ b/service/autoscalingplans/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/backup/go.mod b/service/backup/go.mod index 51a315aeb25..b278e995b4d 100644 --- a/service/backup/go.mod +++ b/service/backup/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/backup/go.sum b/service/backup/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/backup/go.sum +++ b/service/backup/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/batch/go.mod b/service/batch/go.mod index 2a0471221da..5e2098bf10d 100644 --- a/service/batch/go.mod +++ b/service/batch/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/batch/go.sum b/service/batch/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/batch/go.sum +++ b/service/batch/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/braket/go.mod b/service/braket/go.mod index dfc3610f58f..4c8ad96df59 100644 --- a/service/braket/go.mod +++ b/service/braket/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/braket/go.sum b/service/braket/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/braket/go.sum +++ b/service/braket/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/budgets/go.mod b/service/budgets/go.mod index fb53d1a5e52..19ee9283334 100644 --- a/service/budgets/go.mod +++ b/service/budgets/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/budgets/go.sum b/service/budgets/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/budgets/go.sum +++ b/service/budgets/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/chime/go.mod b/service/chime/go.mod index 6017aa60373..eb5c05e33fd 100644 --- a/service/chime/go.mod +++ b/service/chime/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/chime/go.sum b/service/chime/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/chime/go.sum +++ b/service/chime/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/chimesdkidentity/go.mod b/service/chimesdkidentity/go.mod index b1febb195d2..840d621910b 100644 --- a/service/chimesdkidentity/go.mod +++ b/service/chimesdkidentity/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/chimesdkidentity/go.sum b/service/chimesdkidentity/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/chimesdkidentity/go.sum +++ b/service/chimesdkidentity/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/chimesdkmessaging/go.mod b/service/chimesdkmessaging/go.mod index 317789aacd0..c1ce87dd904 100644 --- a/service/chimesdkmessaging/go.mod +++ b/service/chimesdkmessaging/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/chimesdkmessaging/go.sum b/service/chimesdkmessaging/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/chimesdkmessaging/go.sum +++ b/service/chimesdkmessaging/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/cloud9/go.mod b/service/cloud9/go.mod index 29041725beb..ff25f38332e 100644 --- a/service/cloud9/go.mod +++ b/service/cloud9/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/cloud9/go.sum b/service/cloud9/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/cloud9/go.sum +++ b/service/cloud9/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/cloudcontrol/go.mod b/service/cloudcontrol/go.mod index d7b5a1273bf..643f760d549 100644 --- a/service/cloudcontrol/go.mod +++ b/service/cloudcontrol/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/cloudcontrol/go.sum b/service/cloudcontrol/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/cloudcontrol/go.sum +++ b/service/cloudcontrol/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/clouddirectory/go.mod b/service/clouddirectory/go.mod index 8d76088ea86..b883dac480d 100644 --- a/service/clouddirectory/go.mod +++ b/service/clouddirectory/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/clouddirectory/go.sum b/service/clouddirectory/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/clouddirectory/go.sum +++ b/service/clouddirectory/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/clouddirectory/types/types.go b/service/clouddirectory/types/types.go index bc900d8e163..955a072b754 100644 --- a/service/clouddirectory/types/types.go +++ b/service/clouddirectory/types/types.go @@ -1511,24 +1511,15 @@ type Tag struct { // single value. // // The following types satisfy this interface: -// TypedAttributeValueMemberStringValue // TypedAttributeValueMemberBinaryValue // TypedAttributeValueMemberBooleanValue -// TypedAttributeValueMemberNumberValue // TypedAttributeValueMemberDatetimeValue +// TypedAttributeValueMemberNumberValue +// TypedAttributeValueMemberStringValue type TypedAttributeValue interface { isTypedAttributeValue() } -// A string data value. -type TypedAttributeValueMemberStringValue struct { - Value string - - noSmithyDocumentSerde -} - -func (*TypedAttributeValueMemberStringValue) isTypedAttributeValue() {} - // A binary data value. type TypedAttributeValueMemberBinaryValue struct { Value []byte @@ -1547,6 +1538,15 @@ type TypedAttributeValueMemberBooleanValue struct { func (*TypedAttributeValueMemberBooleanValue) isTypedAttributeValue() {} +// A date and time value. +type TypedAttributeValueMemberDatetimeValue struct { + Value time.Time + + noSmithyDocumentSerde +} + +func (*TypedAttributeValueMemberDatetimeValue) isTypedAttributeValue() {} + // A number data value. type TypedAttributeValueMemberNumberValue struct { Value string @@ -1556,14 +1556,14 @@ type TypedAttributeValueMemberNumberValue struct { func (*TypedAttributeValueMemberNumberValue) isTypedAttributeValue() {} -// A date and time value. -type TypedAttributeValueMemberDatetimeValue struct { - Value time.Time +// A string data value. +type TypedAttributeValueMemberStringValue struct { + Value string noSmithyDocumentSerde } -func (*TypedAttributeValueMemberDatetimeValue) isTypedAttributeValue() {} +func (*TypedAttributeValueMemberStringValue) isTypedAttributeValue() {} // A range of attribute values. For more information, see Range Filters // (https://docs.aws.amazon.com/clouddirectory/latest/developerguide/directory_objects_range_filters.html). diff --git a/service/cloudformation/go.mod b/service/cloudformation/go.mod index 582bc3bc2b1..d9885d2c773 100644 --- a/service/cloudformation/go.mod +++ b/service/cloudformation/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/cloudformation/go.sum b/service/cloudformation/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/cloudformation/go.sum +++ b/service/cloudformation/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/cloudfront/go.mod b/service/cloudfront/go.mod index 0ceda8dc461..38e2ec6c294 100644 --- a/service/cloudfront/go.mod +++ b/service/cloudfront/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/cloudfront/go.sum b/service/cloudfront/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/cloudfront/go.sum +++ b/service/cloudfront/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/cloudhsm/go.mod b/service/cloudhsm/go.mod index 4bf449c99ae..88144169e8c 100644 --- a/service/cloudhsm/go.mod +++ b/service/cloudhsm/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/cloudhsm/go.sum b/service/cloudhsm/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/cloudhsm/go.sum +++ b/service/cloudhsm/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/cloudhsmv2/go.mod b/service/cloudhsmv2/go.mod index 488b93ef7de..ac17eb59c11 100644 --- a/service/cloudhsmv2/go.mod +++ b/service/cloudhsmv2/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/cloudhsmv2/go.sum b/service/cloudhsmv2/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/cloudhsmv2/go.sum +++ b/service/cloudhsmv2/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/cloudsearch/go.mod b/service/cloudsearch/go.mod index a60d2ed7bf0..bb0388cdfdb 100644 --- a/service/cloudsearch/go.mod +++ b/service/cloudsearch/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/cloudsearch/go.sum b/service/cloudsearch/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/cloudsearch/go.sum +++ b/service/cloudsearch/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/cloudsearchdomain/go.mod b/service/cloudsearchdomain/go.mod index fd8c6488030..fedbb79a38f 100644 --- a/service/cloudsearchdomain/go.mod +++ b/service/cloudsearchdomain/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/cloudsearchdomain/go.sum b/service/cloudsearchdomain/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/cloudsearchdomain/go.sum +++ b/service/cloudsearchdomain/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/cloudtrail/go.mod b/service/cloudtrail/go.mod index 1dbb9931ecf..840135fd3ba 100644 --- a/service/cloudtrail/go.mod +++ b/service/cloudtrail/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/cloudtrail/go.sum b/service/cloudtrail/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/cloudtrail/go.sum +++ b/service/cloudtrail/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/cloudwatch/go.mod b/service/cloudwatch/go.mod index ba9d6013846..313f060e91b 100644 --- a/service/cloudwatch/go.mod +++ b/service/cloudwatch/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/cloudwatch/go.sum b/service/cloudwatch/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/cloudwatch/go.sum +++ b/service/cloudwatch/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/cloudwatchevents/go.mod b/service/cloudwatchevents/go.mod index 1cc819abcf4..0fdd68019cb 100644 --- a/service/cloudwatchevents/go.mod +++ b/service/cloudwatchevents/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/cloudwatchevents/go.sum b/service/cloudwatchevents/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/cloudwatchevents/go.sum +++ b/service/cloudwatchevents/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/cloudwatchlogs/go.mod b/service/cloudwatchlogs/go.mod index fa25d3cab9b..0c64dc1a0be 100644 --- a/service/cloudwatchlogs/go.mod +++ b/service/cloudwatchlogs/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/cloudwatchlogs/go.sum b/service/cloudwatchlogs/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/cloudwatchlogs/go.sum +++ b/service/cloudwatchlogs/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/codeartifact/go.mod b/service/codeartifact/go.mod index 4005606a123..1768add4d74 100644 --- a/service/codeartifact/go.mod +++ b/service/codeartifact/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/codeartifact/go.sum b/service/codeartifact/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/codeartifact/go.sum +++ b/service/codeartifact/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/codebuild/go.mod b/service/codebuild/go.mod index 0468b3c3d87..15f34f5098e 100644 --- a/service/codebuild/go.mod +++ b/service/codebuild/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/codebuild/go.sum b/service/codebuild/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/codebuild/go.sum +++ b/service/codebuild/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/codecommit/go.mod b/service/codecommit/go.mod index 6741c6d4125..d0249aee6f2 100644 --- a/service/codecommit/go.mod +++ b/service/codecommit/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/codecommit/go.sum b/service/codecommit/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/codecommit/go.sum +++ b/service/codecommit/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/codedeploy/go.mod b/service/codedeploy/go.mod index 44e6bd8a237..b14a329ed9b 100644 --- a/service/codedeploy/go.mod +++ b/service/codedeploy/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/codedeploy/go.sum b/service/codedeploy/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/codedeploy/go.sum +++ b/service/codedeploy/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/codeguruprofiler/go.mod b/service/codeguruprofiler/go.mod index 442f1379dd5..1ebf7bf61cb 100644 --- a/service/codeguruprofiler/go.mod +++ b/service/codeguruprofiler/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/codeguruprofiler/go.sum b/service/codeguruprofiler/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/codeguruprofiler/go.sum +++ b/service/codeguruprofiler/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/codegurureviewer/go.mod b/service/codegurureviewer/go.mod index f99b1b357d0..da099ca24ea 100644 --- a/service/codegurureviewer/go.mod +++ b/service/codegurureviewer/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/codegurureviewer/go.sum b/service/codegurureviewer/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/codegurureviewer/go.sum +++ b/service/codegurureviewer/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/codepipeline/go.mod b/service/codepipeline/go.mod index 65d79dc1816..d0d15c3b667 100644 --- a/service/codepipeline/go.mod +++ b/service/codepipeline/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/codepipeline/go.sum b/service/codepipeline/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/codepipeline/go.sum +++ b/service/codepipeline/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/codestar/go.mod b/service/codestar/go.mod index 2b78948a141..8c527c08b6d 100644 --- a/service/codestar/go.mod +++ b/service/codestar/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/codestar/go.sum b/service/codestar/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/codestar/go.sum +++ b/service/codestar/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/codestarconnections/go.mod b/service/codestarconnections/go.mod index ac190a06539..558a9946a9e 100644 --- a/service/codestarconnections/go.mod +++ b/service/codestarconnections/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/codestarconnections/go.sum b/service/codestarconnections/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/codestarconnections/go.sum +++ b/service/codestarconnections/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/codestarnotifications/go.mod b/service/codestarnotifications/go.mod index c879899bc57..d7926e27b9e 100644 --- a/service/codestarnotifications/go.mod +++ b/service/codestarnotifications/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/codestarnotifications/go.sum b/service/codestarnotifications/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/codestarnotifications/go.sum +++ b/service/codestarnotifications/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/cognitoidentity/go.mod b/service/cognitoidentity/go.mod index d42f4781944..7fcf0270d94 100644 --- a/service/cognitoidentity/go.mod +++ b/service/cognitoidentity/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/cognitoidentity/go.sum b/service/cognitoidentity/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/cognitoidentity/go.sum +++ b/service/cognitoidentity/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/cognitoidentityprovider/go.mod b/service/cognitoidentityprovider/go.mod index 73c29806976..1117c7eda12 100644 --- a/service/cognitoidentityprovider/go.mod +++ b/service/cognitoidentityprovider/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/cognitoidentityprovider/go.sum b/service/cognitoidentityprovider/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/cognitoidentityprovider/go.sum +++ b/service/cognitoidentityprovider/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/cognitosync/go.mod b/service/cognitosync/go.mod index 998ff78ae4b..8516f327aef 100644 --- a/service/cognitosync/go.mod +++ b/service/cognitosync/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/cognitosync/go.sum b/service/cognitosync/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/cognitosync/go.sum +++ b/service/cognitosync/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/comprehend/go.mod b/service/comprehend/go.mod index 22cae35c851..f7cdc1ed18c 100644 --- a/service/comprehend/go.mod +++ b/service/comprehend/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/comprehend/go.sum b/service/comprehend/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/comprehend/go.sum +++ b/service/comprehend/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/comprehendmedical/go.mod b/service/comprehendmedical/go.mod index 492b3435069..0d28a3acce0 100644 --- a/service/comprehendmedical/go.mod +++ b/service/comprehendmedical/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/comprehendmedical/go.sum b/service/comprehendmedical/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/comprehendmedical/go.sum +++ b/service/comprehendmedical/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/computeoptimizer/go.mod b/service/computeoptimizer/go.mod index 5c0b12be3a2..a8b6a7a974a 100644 --- a/service/computeoptimizer/go.mod +++ b/service/computeoptimizer/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/computeoptimizer/go.sum b/service/computeoptimizer/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/computeoptimizer/go.sum +++ b/service/computeoptimizer/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/configservice/go.mod b/service/configservice/go.mod index 8e3b405f671..e896a81f73d 100644 --- a/service/configservice/go.mod +++ b/service/configservice/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/configservice/go.sum b/service/configservice/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/configservice/go.sum +++ b/service/configservice/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/connect/go.mod b/service/connect/go.mod index 4df9911e283..1b23fb176af 100644 --- a/service/connect/go.mod +++ b/service/connect/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/connect/go.sum b/service/connect/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/connect/go.sum +++ b/service/connect/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/connectcontactlens/go.mod b/service/connectcontactlens/go.mod index 18b689e70a4..9c55087c0d6 100644 --- a/service/connectcontactlens/go.mod +++ b/service/connectcontactlens/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/connectcontactlens/go.sum b/service/connectcontactlens/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/connectcontactlens/go.sum +++ b/service/connectcontactlens/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/connectparticipant/go.mod b/service/connectparticipant/go.mod index f7b1efe38a7..226d9f3688d 100644 --- a/service/connectparticipant/go.mod +++ b/service/connectparticipant/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/connectparticipant/go.sum b/service/connectparticipant/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/connectparticipant/go.sum +++ b/service/connectparticipant/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/costandusagereportservice/go.mod b/service/costandusagereportservice/go.mod index 4ddcb5926aa..b3d388f4225 100644 --- a/service/costandusagereportservice/go.mod +++ b/service/costandusagereportservice/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/costandusagereportservice/go.sum b/service/costandusagereportservice/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/costandusagereportservice/go.sum +++ b/service/costandusagereportservice/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/costexplorer/go.mod b/service/costexplorer/go.mod index b157c84969f..620d55e827d 100644 --- a/service/costexplorer/go.mod +++ b/service/costexplorer/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/costexplorer/go.sum b/service/costexplorer/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/costexplorer/go.sum +++ b/service/costexplorer/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/customerprofiles/go.mod b/service/customerprofiles/go.mod index 1d13237c4ae..df4e08d39e0 100644 --- a/service/customerprofiles/go.mod +++ b/service/customerprofiles/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/customerprofiles/go.sum b/service/customerprofiles/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/customerprofiles/go.sum +++ b/service/customerprofiles/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/databasemigrationservice/go.mod b/service/databasemigrationservice/go.mod index 0068d756232..428879262f5 100644 --- a/service/databasemigrationservice/go.mod +++ b/service/databasemigrationservice/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/databasemigrationservice/go.sum b/service/databasemigrationservice/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/databasemigrationservice/go.sum +++ b/service/databasemigrationservice/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/databrew/go.mod b/service/databrew/go.mod index cdff7bcfa30..b49d28144c3 100644 --- a/service/databrew/go.mod +++ b/service/databrew/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/databrew/go.sum b/service/databrew/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/databrew/go.sum +++ b/service/databrew/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/dataexchange/go.mod b/service/dataexchange/go.mod index b6fbc28c678..9f031fda600 100644 --- a/service/dataexchange/go.mod +++ b/service/dataexchange/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/dataexchange/go.sum b/service/dataexchange/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/dataexchange/go.sum +++ b/service/dataexchange/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/datapipeline/go.mod b/service/datapipeline/go.mod index f7942b4ff8b..a6326dcea22 100644 --- a/service/datapipeline/go.mod +++ b/service/datapipeline/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/datapipeline/go.sum b/service/datapipeline/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/datapipeline/go.sum +++ b/service/datapipeline/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/datasync/go.mod b/service/datasync/go.mod index 3cc430b1d13..6e3c5b8d224 100644 --- a/service/datasync/go.mod +++ b/service/datasync/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/datasync/go.sum b/service/datasync/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/datasync/go.sum +++ b/service/datasync/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/dax/go.mod b/service/dax/go.mod index d34392bf57c..d32ec36c25b 100644 --- a/service/dax/go.mod +++ b/service/dax/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/dax/go.sum b/service/dax/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/dax/go.sum +++ b/service/dax/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/detective/go.mod b/service/detective/go.mod index b0233c4f29c..6ada0bc24f1 100644 --- a/service/detective/go.mod +++ b/service/detective/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/detective/go.sum b/service/detective/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/detective/go.sum +++ b/service/detective/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/devicefarm/go.mod b/service/devicefarm/go.mod index dabd7269d09..d9232be8923 100644 --- a/service/devicefarm/go.mod +++ b/service/devicefarm/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/devicefarm/go.sum b/service/devicefarm/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/devicefarm/go.sum +++ b/service/devicefarm/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/devopsguru/go.mod b/service/devopsguru/go.mod index add3f440580..e64b18a913b 100644 --- a/service/devopsguru/go.mod +++ b/service/devopsguru/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/devopsguru/go.sum b/service/devopsguru/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/devopsguru/go.sum +++ b/service/devopsguru/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/directconnect/go.mod b/service/directconnect/go.mod index c98e74574d8..053ad94792a 100644 --- a/service/directconnect/go.mod +++ b/service/directconnect/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/directconnect/go.sum b/service/directconnect/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/directconnect/go.sum +++ b/service/directconnect/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/directoryservice/go.mod b/service/directoryservice/go.mod index 60f7310f8f2..80105e22a6c 100644 --- a/service/directoryservice/go.mod +++ b/service/directoryservice/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/directoryservice/go.sum b/service/directoryservice/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/directoryservice/go.sum +++ b/service/directoryservice/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/dlm/go.mod b/service/dlm/go.mod index a09a4272de0..6513e0b9895 100644 --- a/service/dlm/go.mod +++ b/service/dlm/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/dlm/go.sum b/service/dlm/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/dlm/go.sum +++ b/service/dlm/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/docdb/go.mod b/service/docdb/go.mod index 9cf8e5d43d0..c2873758fd1 100644 --- a/service/docdb/go.mod +++ b/service/docdb/go.mod @@ -7,7 +7,7 @@ require ( github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.4.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/docdb/go.sum b/service/docdb/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/docdb/go.sum +++ b/service/docdb/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/dynamodb/go.mod b/service/dynamodb/go.mod index ada676e06e8..29076da2518 100644 --- a/service/dynamodb/go.mod +++ b/service/dynamodb/go.mod @@ -8,7 +8,7 @@ require ( github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.4.0 github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.2.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/dynamodb/go.sum b/service/dynamodb/go.sum index db2708b02e1..a6c7f0b6073 100644 --- a/service/dynamodb/go.sum +++ b/service/dynamodb/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/service/dynamodb/types/types.go b/service/dynamodb/types/types.go index 9e1678cea0f..56ccffe67bf 100644 --- a/service/dynamodb/types/types.go +++ b/service/dynamodb/types/types.go @@ -61,41 +61,20 @@ type AttributeDefinition struct { // in the Amazon DynamoDB Developer Guide. // // The following types satisfy this interface: -// AttributeValueMemberS -// AttributeValueMemberN // AttributeValueMemberB -// AttributeValueMemberSS -// AttributeValueMemberNS +// AttributeValueMemberBOOL // AttributeValueMemberBS -// AttributeValueMemberM // AttributeValueMemberL +// AttributeValueMemberM +// AttributeValueMemberN +// AttributeValueMemberNS // AttributeValueMemberNULL -// AttributeValueMemberBOOL +// AttributeValueMemberS +// AttributeValueMemberSS type AttributeValue interface { isAttributeValue() } -// An attribute of type String. For example: "S": "Hello" -type AttributeValueMemberS struct { - Value string - - noSmithyDocumentSerde -} - -func (*AttributeValueMemberS) isAttributeValue() {} - -// An attribute of type Number. For example: "N": "123.45" Numbers are sent across -// the network to DynamoDB as strings, to maximize compatibility across languages -// and libraries. However, DynamoDB treats them as number type attributes for -// mathematical operations. -type AttributeValueMemberN struct { - Value string - - noSmithyDocumentSerde -} - -func (*AttributeValueMemberN) isAttributeValue() {} - // An attribute of type Binary. For example: "B": // "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk" type AttributeValueMemberB struct { @@ -106,27 +85,14 @@ type AttributeValueMemberB struct { func (*AttributeValueMemberB) isAttributeValue() {} -// An attribute of type String Set. For example: "SS": ["Giraffe", "Hippo" -// ,"Zebra"] -type AttributeValueMemberSS struct { - Value []string - - noSmithyDocumentSerde -} - -func (*AttributeValueMemberSS) isAttributeValue() {} - -// An attribute of type Number Set. For example: "NS": ["42.2", "-19", "7.5", -// "3.14"] Numbers are sent across the network to DynamoDB as strings, to maximize -// compatibility across languages and libraries. However, DynamoDB treats them as -// number type attributes for mathematical operations. -type AttributeValueMemberNS struct { - Value []string +// An attribute of type Boolean. For example: "BOOL": true +type AttributeValueMemberBOOL struct { + Value bool noSmithyDocumentSerde } -func (*AttributeValueMemberNS) isAttributeValue() {} +func (*AttributeValueMemberBOOL) isAttributeValue() {} // An attribute of type Binary Set. For example: "BS": ["U3Vubnk=", "UmFpbnk=", // "U25vd3k="] @@ -138,6 +104,16 @@ type AttributeValueMemberBS struct { func (*AttributeValueMemberBS) isAttributeValue() {} +// An attribute of type List. For example: "L": [ {"S": "Cookies"} , {"S": +// "Coffee"}, {"N", "3.14159"}] +type AttributeValueMemberL struct { + Value []AttributeValue + + noSmithyDocumentSerde +} + +func (*AttributeValueMemberL) isAttributeValue() {} + // An attribute of type Map. For example: "M": {"Name": {"S": "Joe"}, "Age": {"N": // "35"}} type AttributeValueMemberM struct { @@ -148,15 +124,29 @@ type AttributeValueMemberM struct { func (*AttributeValueMemberM) isAttributeValue() {} -// An attribute of type List. For example: "L": [ {"S": "Cookies"} , {"S": -// "Coffee"}, {"N", "3.14159"}] -type AttributeValueMemberL struct { - Value []AttributeValue +// An attribute of type Number. For example: "N": "123.45" Numbers are sent across +// the network to DynamoDB as strings, to maximize compatibility across languages +// and libraries. However, DynamoDB treats them as number type attributes for +// mathematical operations. +type AttributeValueMemberN struct { + Value string noSmithyDocumentSerde } -func (*AttributeValueMemberL) isAttributeValue() {} +func (*AttributeValueMemberN) isAttributeValue() {} + +// An attribute of type Number Set. For example: "NS": ["42.2", "-19", "7.5", +// "3.14"] Numbers are sent across the network to DynamoDB as strings, to maximize +// compatibility across languages and libraries. However, DynamoDB treats them as +// number type attributes for mathematical operations. +type AttributeValueMemberNS struct { + Value []string + + noSmithyDocumentSerde +} + +func (*AttributeValueMemberNS) isAttributeValue() {} // An attribute of type Null. For example: "NULL": true type AttributeValueMemberNULL struct { @@ -167,14 +157,24 @@ type AttributeValueMemberNULL struct { func (*AttributeValueMemberNULL) isAttributeValue() {} -// An attribute of type Boolean. For example: "BOOL": true -type AttributeValueMemberBOOL struct { - Value bool +// An attribute of type String. For example: "S": "Hello" +type AttributeValueMemberS struct { + Value string noSmithyDocumentSerde } -func (*AttributeValueMemberBOOL) isAttributeValue() {} +func (*AttributeValueMemberS) isAttributeValue() {} + +// An attribute of type String Set. For example: "SS": ["Giraffe", "Hippo" +// ,"Zebra"] +type AttributeValueMemberSS struct { + Value []string + + noSmithyDocumentSerde +} + +func (*AttributeValueMemberSS) isAttributeValue() {} // For the UpdateItem operation, represents the attributes to be modified, the // action to perform on each, and the new value for each. You cannot use UpdateItem diff --git a/service/dynamodbstreams/go.mod b/service/dynamodbstreams/go.mod index 8074065e49c..84ceb6444ef 100644 --- a/service/dynamodbstreams/go.mod +++ b/service/dynamodbstreams/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/dynamodbstreams/go.sum b/service/dynamodbstreams/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/dynamodbstreams/go.sum +++ b/service/dynamodbstreams/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/dynamodbstreams/types/types.go b/service/dynamodbstreams/types/types.go index bfd195edf8e..5fc3fd25ca4 100644 --- a/service/dynamodbstreams/types/types.go +++ b/service/dynamodbstreams/types/types.go @@ -14,41 +14,20 @@ import ( // in the Amazon DynamoDB Developer Guide. // // The following types satisfy this interface: -// AttributeValueMemberS -// AttributeValueMemberN // AttributeValueMemberB -// AttributeValueMemberSS -// AttributeValueMemberNS +// AttributeValueMemberBOOL // AttributeValueMemberBS -// AttributeValueMemberM // AttributeValueMemberL +// AttributeValueMemberM +// AttributeValueMemberN +// AttributeValueMemberNS // AttributeValueMemberNULL -// AttributeValueMemberBOOL +// AttributeValueMemberS +// AttributeValueMemberSS type AttributeValue interface { isAttributeValue() } -// An attribute of type String. For example: "S": "Hello" -type AttributeValueMemberS struct { - Value string - - noSmithyDocumentSerde -} - -func (*AttributeValueMemberS) isAttributeValue() {} - -// An attribute of type Number. For example: "N": "123.45" Numbers are sent across -// the network to DynamoDB as strings, to maximize compatibility across languages -// and libraries. However, DynamoDB treats them as number type attributes for -// mathematical operations. -type AttributeValueMemberN struct { - Value string - - noSmithyDocumentSerde -} - -func (*AttributeValueMemberN) isAttributeValue() {} - // An attribute of type Binary. For example: "B": // "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk" type AttributeValueMemberB struct { @@ -59,27 +38,14 @@ type AttributeValueMemberB struct { func (*AttributeValueMemberB) isAttributeValue() {} -// An attribute of type String Set. For example: "SS": ["Giraffe", "Hippo" -// ,"Zebra"] -type AttributeValueMemberSS struct { - Value []string - - noSmithyDocumentSerde -} - -func (*AttributeValueMemberSS) isAttributeValue() {} - -// An attribute of type Number Set. For example: "NS": ["42.2", "-19", "7.5", -// "3.14"] Numbers are sent across the network to DynamoDB as strings, to maximize -// compatibility across languages and libraries. However, DynamoDB treats them as -// number type attributes for mathematical operations. -type AttributeValueMemberNS struct { - Value []string +// An attribute of type Boolean. For example: "BOOL": true +type AttributeValueMemberBOOL struct { + Value bool noSmithyDocumentSerde } -func (*AttributeValueMemberNS) isAttributeValue() {} +func (*AttributeValueMemberBOOL) isAttributeValue() {} // An attribute of type Binary Set. For example: "BS": ["U3Vubnk=", "UmFpbnk=", // "U25vd3k="] @@ -91,6 +57,16 @@ type AttributeValueMemberBS struct { func (*AttributeValueMemberBS) isAttributeValue() {} +// An attribute of type List. For example: "L": [ {"S": "Cookies"} , {"S": +// "Coffee"}, {"N", "3.14159"}] +type AttributeValueMemberL struct { + Value []AttributeValue + + noSmithyDocumentSerde +} + +func (*AttributeValueMemberL) isAttributeValue() {} + // An attribute of type Map. For example: "M": {"Name": {"S": "Joe"}, "Age": {"N": // "35"}} type AttributeValueMemberM struct { @@ -101,15 +77,29 @@ type AttributeValueMemberM struct { func (*AttributeValueMemberM) isAttributeValue() {} -// An attribute of type List. For example: "L": [ {"S": "Cookies"} , {"S": -// "Coffee"}, {"N", "3.14159"}] -type AttributeValueMemberL struct { - Value []AttributeValue +// An attribute of type Number. For example: "N": "123.45" Numbers are sent across +// the network to DynamoDB as strings, to maximize compatibility across languages +// and libraries. However, DynamoDB treats them as number type attributes for +// mathematical operations. +type AttributeValueMemberN struct { + Value string noSmithyDocumentSerde } -func (*AttributeValueMemberL) isAttributeValue() {} +func (*AttributeValueMemberN) isAttributeValue() {} + +// An attribute of type Number Set. For example: "NS": ["42.2", "-19", "7.5", +// "3.14"] Numbers are sent across the network to DynamoDB as strings, to maximize +// compatibility across languages and libraries. However, DynamoDB treats them as +// number type attributes for mathematical operations. +type AttributeValueMemberNS struct { + Value []string + + noSmithyDocumentSerde +} + +func (*AttributeValueMemberNS) isAttributeValue() {} // An attribute of type Null. For example: "NULL": true type AttributeValueMemberNULL struct { @@ -120,14 +110,24 @@ type AttributeValueMemberNULL struct { func (*AttributeValueMemberNULL) isAttributeValue() {} -// An attribute of type Boolean. For example: "BOOL": true -type AttributeValueMemberBOOL struct { - Value bool +// An attribute of type String. For example: "S": "Hello" +type AttributeValueMemberS struct { + Value string noSmithyDocumentSerde } -func (*AttributeValueMemberBOOL) isAttributeValue() {} +func (*AttributeValueMemberS) isAttributeValue() {} + +// An attribute of type String Set. For example: "SS": ["Giraffe", "Hippo" +// ,"Zebra"] +type AttributeValueMemberSS struct { + Value []string + + noSmithyDocumentSerde +} + +func (*AttributeValueMemberSS) isAttributeValue() {} // Contains details about the type of identity that made the request. type Identity struct { diff --git a/service/ebs/go.mod b/service/ebs/go.mod index 685c08968c3..8c10b6ba491 100644 --- a/service/ebs/go.mod +++ b/service/ebs/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/ebs/go.sum b/service/ebs/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/ebs/go.sum +++ b/service/ebs/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/ec2/go.mod b/service/ec2/go.mod index b7d50d395cc..c54e2e78da0 100644 --- a/service/ec2/go.mod +++ b/service/ec2/go.mod @@ -7,7 +7,7 @@ require ( github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.4.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/ec2/go.sum b/service/ec2/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/ec2/go.sum +++ b/service/ec2/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/ec2instanceconnect/go.mod b/service/ec2instanceconnect/go.mod index 7f7425aacc3..267d2b3490e 100644 --- a/service/ec2instanceconnect/go.mod +++ b/service/ec2instanceconnect/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/ec2instanceconnect/go.sum b/service/ec2instanceconnect/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/ec2instanceconnect/go.sum +++ b/service/ec2instanceconnect/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/ecr/go.mod b/service/ecr/go.mod index 67518d943b2..631755efd3c 100644 --- a/service/ecr/go.mod +++ b/service/ecr/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/ecr/go.sum b/service/ecr/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/ecr/go.sum +++ b/service/ecr/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/ecrpublic/go.mod b/service/ecrpublic/go.mod index 9e2372f70ef..41770bbca20 100644 --- a/service/ecrpublic/go.mod +++ b/service/ecrpublic/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/ecrpublic/go.sum b/service/ecrpublic/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/ecrpublic/go.sum +++ b/service/ecrpublic/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/ecs/go.mod b/service/ecs/go.mod index 4897327ad82..843ff1a5682 100644 --- a/service/ecs/go.mod +++ b/service/ecs/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/ecs/go.sum b/service/ecs/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/ecs/go.sum +++ b/service/ecs/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/efs/go.mod b/service/efs/go.mod index ba39ede2cb7..f8fbc30823e 100644 --- a/service/efs/go.mod +++ b/service/efs/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/efs/go.sum b/service/efs/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/efs/go.sum +++ b/service/efs/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/eks/go.mod b/service/eks/go.mod index e27d7efd004..bcfa91aa3bc 100644 --- a/service/eks/go.mod +++ b/service/eks/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/eks/go.sum b/service/eks/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/eks/go.sum +++ b/service/eks/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/elasticache/go.mod b/service/elasticache/go.mod index f63b9a4a3bf..b250d15bbe1 100644 --- a/service/elasticache/go.mod +++ b/service/elasticache/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/elasticache/go.sum b/service/elasticache/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/elasticache/go.sum +++ b/service/elasticache/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/elasticbeanstalk/go.mod b/service/elasticbeanstalk/go.mod index 577697d16e7..09b9bcd0a9f 100644 --- a/service/elasticbeanstalk/go.mod +++ b/service/elasticbeanstalk/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/elasticbeanstalk/go.sum b/service/elasticbeanstalk/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/elasticbeanstalk/go.sum +++ b/service/elasticbeanstalk/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/elasticinference/go.mod b/service/elasticinference/go.mod index eb25f115e1b..739e51fda97 100644 --- a/service/elasticinference/go.mod +++ b/service/elasticinference/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/elasticinference/go.sum b/service/elasticinference/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/elasticinference/go.sum +++ b/service/elasticinference/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/elasticloadbalancing/go.mod b/service/elasticloadbalancing/go.mod index d0e305b21a8..7bbd3c1d618 100644 --- a/service/elasticloadbalancing/go.mod +++ b/service/elasticloadbalancing/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/elasticloadbalancing/go.sum b/service/elasticloadbalancing/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/elasticloadbalancing/go.sum +++ b/service/elasticloadbalancing/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/elasticloadbalancingv2/go.mod b/service/elasticloadbalancingv2/go.mod index 4658890b12a..f934d8a8f52 100644 --- a/service/elasticloadbalancingv2/go.mod +++ b/service/elasticloadbalancingv2/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/elasticloadbalancingv2/go.sum b/service/elasticloadbalancingv2/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/elasticloadbalancingv2/go.sum +++ b/service/elasticloadbalancingv2/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/elasticsearchservice/go.mod b/service/elasticsearchservice/go.mod index 64a6130cce9..fe75fa245e7 100644 --- a/service/elasticsearchservice/go.mod +++ b/service/elasticsearchservice/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/elasticsearchservice/go.sum b/service/elasticsearchservice/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/elasticsearchservice/go.sum +++ b/service/elasticsearchservice/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/elastictranscoder/go.mod b/service/elastictranscoder/go.mod index a87617dda1b..44a9c099189 100644 --- a/service/elastictranscoder/go.mod +++ b/service/elastictranscoder/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/elastictranscoder/go.sum b/service/elastictranscoder/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/elastictranscoder/go.sum +++ b/service/elastictranscoder/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/emr/go.mod b/service/emr/go.mod index d8745e6de51..129b99f0208 100644 --- a/service/emr/go.mod +++ b/service/emr/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/emr/go.sum b/service/emr/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/emr/go.sum +++ b/service/emr/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/emrcontainers/go.mod b/service/emrcontainers/go.mod index 27664cf9088..565e5ee32cd 100644 --- a/service/emrcontainers/go.mod +++ b/service/emrcontainers/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/emrcontainers/go.sum b/service/emrcontainers/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/emrcontainers/go.sum +++ b/service/emrcontainers/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/eventbridge/go.mod b/service/eventbridge/go.mod index 7d8c1a7d389..a27e522b8a6 100644 --- a/service/eventbridge/go.mod +++ b/service/eventbridge/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/eventbridge/go.sum b/service/eventbridge/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/eventbridge/go.sum +++ b/service/eventbridge/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/finspace/go.mod b/service/finspace/go.mod index cbf6c3a1975..d28185ff33d 100644 --- a/service/finspace/go.mod +++ b/service/finspace/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/finspace/go.sum b/service/finspace/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/finspace/go.sum +++ b/service/finspace/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/finspacedata/go.mod b/service/finspacedata/go.mod index da6cc5159b9..873cdaae15e 100644 --- a/service/finspacedata/go.mod +++ b/service/finspacedata/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/finspacedata/go.sum b/service/finspacedata/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/finspacedata/go.sum +++ b/service/finspacedata/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/firehose/go.mod b/service/firehose/go.mod index ccc4e5c56c3..f8c0bbecf86 100644 --- a/service/firehose/go.mod +++ b/service/firehose/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/firehose/go.sum b/service/firehose/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/firehose/go.sum +++ b/service/firehose/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/fis/go.mod b/service/fis/go.mod index 655468b45b9..a79a721153d 100644 --- a/service/fis/go.mod +++ b/service/fis/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/fis/go.sum b/service/fis/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/fis/go.sum +++ b/service/fis/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/fms/go.mod b/service/fms/go.mod index ba1a3b6aa42..e82ae346828 100644 --- a/service/fms/go.mod +++ b/service/fms/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/fms/go.sum b/service/fms/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/fms/go.sum +++ b/service/fms/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/forecast/go.mod b/service/forecast/go.mod index a81237f090e..d5cda68e178 100644 --- a/service/forecast/go.mod +++ b/service/forecast/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/forecast/go.sum b/service/forecast/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/forecast/go.sum +++ b/service/forecast/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/forecastquery/go.mod b/service/forecastquery/go.mod index c6bf5ff5b41..68d1cf58045 100644 --- a/service/forecastquery/go.mod +++ b/service/forecastquery/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/forecastquery/go.sum b/service/forecastquery/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/forecastquery/go.sum +++ b/service/forecastquery/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/frauddetector/go.mod b/service/frauddetector/go.mod index abd3cf42d3b..3efc2e2dd38 100644 --- a/service/frauddetector/go.mod +++ b/service/frauddetector/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/frauddetector/go.sum b/service/frauddetector/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/frauddetector/go.sum +++ b/service/frauddetector/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/fsx/go.mod b/service/fsx/go.mod index e29313e19ce..979849fdb0f 100644 --- a/service/fsx/go.mod +++ b/service/fsx/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/fsx/go.sum b/service/fsx/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/fsx/go.sum +++ b/service/fsx/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/gamelift/go.mod b/service/gamelift/go.mod index 612f0d3fecb..92af19a66b3 100644 --- a/service/gamelift/go.mod +++ b/service/gamelift/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/gamelift/go.sum b/service/gamelift/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/gamelift/go.sum +++ b/service/gamelift/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/glacier/go.mod b/service/glacier/go.mod index 6db6cbe1095..74214f238e2 100644 --- a/service/glacier/go.mod +++ b/service/glacier/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/glacier/go.sum b/service/glacier/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/glacier/go.sum +++ b/service/glacier/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/globalaccelerator/go.mod b/service/globalaccelerator/go.mod index 629a71e4f9a..f5fc3d4ae3c 100644 --- a/service/globalaccelerator/go.mod +++ b/service/globalaccelerator/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/globalaccelerator/go.sum b/service/globalaccelerator/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/globalaccelerator/go.sum +++ b/service/globalaccelerator/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/glue/go.mod b/service/glue/go.mod index f804c7a653b..0fcef0b3825 100644 --- a/service/glue/go.mod +++ b/service/glue/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/glue/go.sum b/service/glue/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/glue/go.sum +++ b/service/glue/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/grafana/go.mod b/service/grafana/go.mod index 8164192e724..e2030ed2807 100644 --- a/service/grafana/go.mod +++ b/service/grafana/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/grafana/go.sum b/service/grafana/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/grafana/go.sum +++ b/service/grafana/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/greengrass/go.mod b/service/greengrass/go.mod index dcd4b40e77d..a30cd172e57 100644 --- a/service/greengrass/go.mod +++ b/service/greengrass/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/greengrass/go.sum b/service/greengrass/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/greengrass/go.sum +++ b/service/greengrass/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/greengrassv2/go.mod b/service/greengrassv2/go.mod index 1b497e0e147..8b6bdbf6636 100644 --- a/service/greengrassv2/go.mod +++ b/service/greengrassv2/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/greengrassv2/go.sum b/service/greengrassv2/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/greengrassv2/go.sum +++ b/service/greengrassv2/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/groundstation/go.mod b/service/groundstation/go.mod index 0b2c6b3b76c..ca434167c16 100644 --- a/service/groundstation/go.mod +++ b/service/groundstation/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/groundstation/go.sum b/service/groundstation/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/groundstation/go.sum +++ b/service/groundstation/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/groundstation/types/types.go b/service/groundstation/types/types.go index e6af21bf455..813119dfa0f 100644 --- a/service/groundstation/types/types.go +++ b/service/groundstation/types/types.go @@ -72,30 +72,30 @@ type AntennaUplinkConfig struct { // Details for certain Config object types in a contact. // // The following types satisfy this interface: -// ConfigDetailsMemberEndpointDetails // ConfigDetailsMemberAntennaDemodDecodeDetails +// ConfigDetailsMemberEndpointDetails // ConfigDetailsMemberS3RecordingDetails type ConfigDetails interface { isConfigDetails() } -// Information about the endpoint details. -type ConfigDetailsMemberEndpointDetails struct { - Value EndpointDetails +// Details for antenna demod decode Config in a contact. +type ConfigDetailsMemberAntennaDemodDecodeDetails struct { + Value AntennaDemodDecodeDetails noSmithyDocumentSerde } -func (*ConfigDetailsMemberEndpointDetails) isConfigDetails() {} +func (*ConfigDetailsMemberAntennaDemodDecodeDetails) isConfigDetails() {} -// Details for antenna demod decode Config in a contact. -type ConfigDetailsMemberAntennaDemodDecodeDetails struct { - Value AntennaDemodDecodeDetails +// Information about the endpoint details. +type ConfigDetailsMemberEndpointDetails struct { + Value EndpointDetails noSmithyDocumentSerde } -func (*ConfigDetailsMemberAntennaDemodDecodeDetails) isConfigDetails() {} +func (*ConfigDetailsMemberEndpointDetails) isConfigDetails() {} // Details for an S3 recording Config in a contact. type ConfigDetailsMemberS3RecordingDetails struct { @@ -129,12 +129,12 @@ type ConfigListItem struct { // // The following types satisfy this interface: // ConfigTypeDataMemberAntennaDownlinkConfig -// ConfigTypeDataMemberTrackingConfig -// ConfigTypeDataMemberDataflowEndpointConfig // ConfigTypeDataMemberAntennaDownlinkDemodDecodeConfig // ConfigTypeDataMemberAntennaUplinkConfig -// ConfigTypeDataMemberUplinkEchoConfig +// ConfigTypeDataMemberDataflowEndpointConfig // ConfigTypeDataMemberS3RecordingConfig +// ConfigTypeDataMemberTrackingConfig +// ConfigTypeDataMemberUplinkEchoConfig type ConfigTypeData interface { isConfigTypeData() } @@ -149,15 +149,25 @@ type ConfigTypeDataMemberAntennaDownlinkConfig struct { func (*ConfigTypeDataMemberAntennaDownlinkConfig) isConfigTypeData() {} -// Object that determines whether tracking should be used during a contact executed -// with this Config in the mission profile. -type ConfigTypeDataMemberTrackingConfig struct { - Value TrackingConfig +// Information about how AWS Ground Station should configure an antenna for downlink +// demod decode during a contact. +type ConfigTypeDataMemberAntennaDownlinkDemodDecodeConfig struct { + Value AntennaDownlinkDemodDecodeConfig noSmithyDocumentSerde } -func (*ConfigTypeDataMemberTrackingConfig) isConfigTypeData() {} +func (*ConfigTypeDataMemberAntennaDownlinkDemodDecodeConfig) isConfigTypeData() {} + +// Information about how AWS Ground Station should configure an antenna for uplink +// during a contact. +type ConfigTypeDataMemberAntennaUplinkConfig struct { + Value AntennaUplinkConfig + + noSmithyDocumentSerde +} + +func (*ConfigTypeDataMemberAntennaUplinkConfig) isConfigTypeData() {} // Information about the dataflow endpoint Config. type ConfigTypeDataMemberDataflowEndpointConfig struct { @@ -168,25 +178,24 @@ type ConfigTypeDataMemberDataflowEndpointConfig struct { func (*ConfigTypeDataMemberDataflowEndpointConfig) isConfigTypeData() {} -// Information about how AWS Ground Station should configure an antenna for downlink -// demod decode during a contact. -type ConfigTypeDataMemberAntennaDownlinkDemodDecodeConfig struct { - Value AntennaDownlinkDemodDecodeConfig +// Information about an S3 recording Config. +type ConfigTypeDataMemberS3RecordingConfig struct { + Value S3RecordingConfig noSmithyDocumentSerde } -func (*ConfigTypeDataMemberAntennaDownlinkDemodDecodeConfig) isConfigTypeData() {} +func (*ConfigTypeDataMemberS3RecordingConfig) isConfigTypeData() {} -// Information about how AWS Ground Station should configure an antenna for uplink -// during a contact. -type ConfigTypeDataMemberAntennaUplinkConfig struct { - Value AntennaUplinkConfig +// Object that determines whether tracking should be used during a contact executed +// with this Config in the mission profile. +type ConfigTypeDataMemberTrackingConfig struct { + Value TrackingConfig noSmithyDocumentSerde } -func (*ConfigTypeDataMemberAntennaUplinkConfig) isConfigTypeData() {} +func (*ConfigTypeDataMemberTrackingConfig) isConfigTypeData() {} // Information about an uplink echo Config. Parameters from the // AntennaUplinkConfig, corresponding to the specified AntennaUplinkConfigArn, are @@ -199,15 +208,6 @@ type ConfigTypeDataMemberUplinkEchoConfig struct { func (*ConfigTypeDataMemberUplinkEchoConfig) isConfigTypeData() {} -// Information about an S3 recording Config. -type ConfigTypeDataMemberS3RecordingConfig struct { - Value S3RecordingConfig - - noSmithyDocumentSerde -} - -func (*ConfigTypeDataMemberS3RecordingConfig) isConfigTypeData() {} - // Data describing a contact. type ContactData struct { diff --git a/service/guardduty/go.mod b/service/guardduty/go.mod index d4680629f33..53ec9896ca0 100644 --- a/service/guardduty/go.mod +++ b/service/guardduty/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/guardduty/go.sum b/service/guardduty/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/guardduty/go.sum +++ b/service/guardduty/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/health/go.mod b/service/health/go.mod index 9fae44c131a..577c15b83ed 100644 --- a/service/health/go.mod +++ b/service/health/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/health/go.sum b/service/health/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/health/go.sum +++ b/service/health/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/healthlake/go.mod b/service/healthlake/go.mod index 68169519be6..2c55e2e1a09 100644 --- a/service/healthlake/go.mod +++ b/service/healthlake/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/healthlake/go.sum b/service/healthlake/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/healthlake/go.sum +++ b/service/healthlake/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/honeycode/go.mod b/service/honeycode/go.mod index d5e2bd0af41..efa545a65e9 100644 --- a/service/honeycode/go.mod +++ b/service/honeycode/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/honeycode/go.sum b/service/honeycode/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/honeycode/go.sum +++ b/service/honeycode/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/iam/go.mod b/service/iam/go.mod index 6a000a54c52..568e89e371c 100644 --- a/service/iam/go.mod +++ b/service/iam/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/iam/go.sum b/service/iam/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/iam/go.sum +++ b/service/iam/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/identitystore/go.mod b/service/identitystore/go.mod index f35b5101316..e44b107437d 100644 --- a/service/identitystore/go.mod +++ b/service/identitystore/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/identitystore/go.sum b/service/identitystore/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/identitystore/go.sum +++ b/service/identitystore/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/imagebuilder/go.mod b/service/imagebuilder/go.mod index 54dc70ee896..7580bd8a1e2 100644 --- a/service/imagebuilder/go.mod +++ b/service/imagebuilder/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/imagebuilder/go.sum b/service/imagebuilder/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/imagebuilder/go.sum +++ b/service/imagebuilder/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/inspector/go.mod b/service/inspector/go.mod index 5a89026ab75..21657633cd7 100644 --- a/service/inspector/go.mod +++ b/service/inspector/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/inspector/go.sum b/service/inspector/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/inspector/go.sum +++ b/service/inspector/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/internal/accept-encoding/go.mod b/service/internal/accept-encoding/go.mod index 376c57a7d69..f60fc8823b7 100644 --- a/service/internal/accept-encoding/go.mod +++ b/service/internal/accept-encoding/go.mod @@ -2,4 +2,4 @@ module github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding go 1.15 -require github.com/aws/smithy-go v1.8.1 +require github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f diff --git a/service/internal/accept-encoding/go.sum b/service/internal/accept-encoding/go.sum index b70bc8879f1..a0526625f64 100644 --- a/service/internal/accept-encoding/go.sum +++ b/service/internal/accept-encoding/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= diff --git a/service/internal/benchmark/go.mod b/service/internal/benchmark/go.mod index 8c682da0798..3739606e9c2 100644 --- a/service/internal/benchmark/go.mod +++ b/service/internal/benchmark/go.mod @@ -7,7 +7,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.6.0 github.com/aws/aws-sdk-go-v2/service/lexruntimeservice v1.7.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../../ diff --git a/service/internal/benchmark/go.sum b/service/internal/benchmark/go.sum index 16ed1e10257..d71a17a0530 100644 --- a/service/internal/benchmark/go.sum +++ b/service/internal/benchmark/go.sum @@ -1,7 +1,7 @@ github.com/aws/aws-sdk-go v1.34.33 h1:ymkFm0rNPEOlgjyX3ojEd4zqzW6kGICBkqWs7LqgHtU= github.com/aws/aws-sdk-go v1.34.33/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= diff --git a/service/internal/endpoint-discovery/go.mod b/service/internal/endpoint-discovery/go.mod index 4c801e8fe8c..60f3268b4d3 100644 --- a/service/internal/endpoint-discovery/go.mod +++ b/service/internal/endpoint-discovery/go.mod @@ -4,7 +4,7 @@ go 1.15 require ( github.com/aws/aws-sdk-go-v2 v1.10.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../../ diff --git a/service/internal/endpoint-discovery/go.sum b/service/internal/endpoint-discovery/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/internal/endpoint-discovery/go.sum +++ b/service/internal/endpoint-discovery/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/internal/eventstreamtesting/LICENSE.txt b/service/internal/eventstreamtesting/LICENSE.txt new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/service/internal/eventstreamtesting/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/service/internal/eventstreamtesting/go.mod b/service/internal/eventstreamtesting/go.mod new file mode 100644 index 00000000000..8aa922997b7 --- /dev/null +++ b/service/internal/eventstreamtesting/go.mod @@ -0,0 +1,28 @@ +module github.com/aws/aws-sdk-go-v2/service/internal/eventstreamtesting + +go 1.15 + +require ( + github.com/aws/aws-sdk-go-v2 v1.10.0 + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v0.0.0-00010101000000-000000000000 + github.com/aws/aws-sdk-go-v2/credentials v1.5.0 + golang.org/x/net v0.0.0-20211008194852-3b03d305991f +) + +replace github.com/aws/aws-sdk-go-v2 => ../../../ + +replace github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream => ../../../aws/protocol/eventstream/ + +replace github.com/aws/aws-sdk-go-v2/credentials => ../../../credentials/ + +replace github.com/aws/aws-sdk-go-v2/feature/ec2/imds => ../../../feature/ec2/imds/ + +replace github.com/aws/aws-sdk-go-v2/internal/configsources => ../../../internal/configsources/ + +replace github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 => ../../../internal/endpoints/v2/ + +replace github.com/aws/aws-sdk-go-v2/service/internal/presigned-url => ../../../service/internal/presigned-url/ + +replace github.com/aws/aws-sdk-go-v2/service/sso => ../../../service/sso/ + +replace github.com/aws/aws-sdk-go-v2/service/sts => ../../../service/sts/ diff --git a/service/internal/eventstreamtesting/go.sum b/service/internal/eventstreamtesting/go.sum new file mode 100644 index 00000000000..0c9a67cbbd9 --- /dev/null +++ b/service/internal/eventstreamtesting/go.sum @@ -0,0 +1,22 @@ +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +golang.org/x/net v0.0.0-20211008194852-3b03d305991f h1:1scJEYZBaF48BaG6tYbtxmLcXqwYGSfGcMoStTqkkIw= +golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/service/internal/eventstreamtesting/go_module_metadata.go b/service/internal/eventstreamtesting/go_module_metadata.go new file mode 100644 index 00000000000..98ace451022 --- /dev/null +++ b/service/internal/eventstreamtesting/go_module_metadata.go @@ -0,0 +1,6 @@ +// Code generated by internal/repotools/cmd/updatemodulemeta DO NOT EDIT. + +package eventstreamtesting + +// goModuleVersion is the tagged release for this module +const goModuleVersion = "tip" diff --git a/service/internal/eventstreamtesting/server.go b/service/internal/eventstreamtesting/server.go new file mode 100644 index 00000000000..21209fc76e4 --- /dev/null +++ b/service/internal/eventstreamtesting/server.go @@ -0,0 +1,283 @@ +// Package eventstreamtesting implements helper utilities for event stream protocol testing. +package eventstreamtesting + +import ( + "bytes" + "context" + "crypto/tls" + "fmt" + "io" + "net/http" + "net/http/httptest" + "reflect" + "strings" + "sync" + "testing" + "time" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi" + awshttp "github.com/aws/aws-sdk-go-v2/aws/transport/http" + "github.com/aws/aws-sdk-go-v2/credentials" + "golang.org/x/net/http2" +) + +const ( + errClientDisconnected = "client disconnected" + errStreamClosed = "http2: stream closed" +) + +func setupServer(server *httptest.Server) aws.HTTPClient { + server.Config.TLSConfig = &tls.Config{ + InsecureSkipVerify: true, + } + + if err := http2.ConfigureServer(server.Config, nil); err != nil { + panic(err) + } + + server.Config.TLSConfig.NextProtos = []string{http2.NextProtoTLS} + server.TLS = server.Config.TLSConfig + + server.StartTLS() + + buildableClient := awshttp.NewBuildableClient().WithTransportOptions(func(transport *http.Transport) { + transport.ForceAttemptHTTP2 = true + transport.TLSClientConfig = &tls.Config{ + InsecureSkipVerify: true, + } + }) + + return buildableClient +} + +// SetupEventStream configures an HTTPS event stream testing server. +func SetupEventStream( + t *testing.T, handler http.Handler, +) ( + cfg aws.Config, cleanupFn func(), err error, +) { + server := httptest.NewUnstartedServer(handler) + + client := setupServer(server) + + cleanupFn = func() { + server.Close() + } + + cfg.Credentials = credentials.NewStaticCredentialsProvider("KEYID", "SECRET", "TOKEN") + cfg.HTTPClient = client + cfg.EndpointResolver = aws.EndpointResolverFunc(func(service, region string) (aws.Endpoint, error) { + return aws.Endpoint{URL: server.URL}, nil + }) + + return cfg, cleanupFn, nil +} + +// StaticResponse provides a way to define an HTTP event stream server that provides a fixed +// static response. +type StaticResponse struct { + StatusCode int + Body []byte +} + +// ServeEventStream provides serving EventStream messages from a HTTP server to +// the client. The events are sent sequentially to the client without delay. +type ServeEventStream struct { + T *testing.T + BiDirectional bool + + StaticResponse *StaticResponse + + Events []eventstream.Message + ClientEvents []eventstream.Message + + ForceCloseAfter time.Duration + + requestsIdx int +} + +// ServeHTTP serves an HTTP client request +func (s ServeEventStream) ServeHTTP(w http.ResponseWriter, r *http.Request) { + if s.StaticResponse != nil { + w.WriteHeader(s.StaticResponse.StatusCode) + w.(http.Flusher).Flush() + if _, err := w.Write(s.StaticResponse.Body); err != nil { + s.T.Errorf("failed to write response body error: %v", err) + } + return + } + + if s.BiDirectional { + s.serveBiDirectionalStream(w, r) + } else { + s.serveReadOnlyStream(w, r) + } +} + +func (s *ServeEventStream) serveReadOnlyStream(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.(http.Flusher).Flush() + + encoder := eventstream.NewEncoder() + + for _, event := range s.Events { + encoder.Encode(flushWriter{w}, event) + } +} + +func (s *ServeEventStream) serveBiDirectionalStream(w http.ResponseWriter, r *http.Request) { + var wg sync.WaitGroup + + ctx := context.Background() + if s.ForceCloseAfter > 0 { + var cancelFunc func() + ctx, cancelFunc = context.WithTimeout(context.Background(), s.ForceCloseAfter) + defer cancelFunc() + } + + var ( + err error + m sync.Mutex + ) + + wg.Add(1) + go func() { + defer wg.Done() + readErr := s.readEvents(ctx, r) + m.Lock() + if readErr != nil && err == nil { + err = readErr + } + m.Unlock() + }() + + w.(http.Flusher).Flush() + + writeErr := s.writeEvents(ctx, w) + m.Lock() + if writeErr != nil && err == nil { + err = writeErr + } + m.Unlock() + + wg.Wait() + + if err != nil && isError(err) { + s.T.Error(err.Error()) + } +} + +func isError(err error) bool { + switch err.(type) { + case http2.StreamError: + return false + } + + for _, s := range []string{errClientDisconnected, errStreamClosed} { + if strings.Contains(err.Error(), s) { + return false + } + } + + return true +} + +func (s ServeEventStream) readEvents(ctx context.Context, r *http.Request) error { + signBuffer := make([]byte, 1024) + messageBuffer := make([]byte, 1024) + decoder := eventstream.NewDecoder() + + for { + select { + case <-ctx.Done(): + return nil + default: + } + // unwrap signing envelope + signedMessage, err := decoder.Decode(r.Body, signBuffer) + if err != nil { + if err == io.EOF { + return nil + } + return err + } + + // empty payload is expected for the last signing message + if len(signedMessage.Payload) == 0 { + break + } + + // get service event message from payload + msg, err := decoder.Decode(bytes.NewReader(signedMessage.Payload), messageBuffer) + if err != nil { + if err == io.EOF { + return nil + } + return err + } + + if len(s.ClientEvents) > 0 { + i := s.requestsIdx + s.requestsIdx++ + + if e, a := s.ClientEvents[i], msg; !reflect.DeepEqual(e, a) { + return fmt.Errorf("expected %v, got %v", e, a) + } + } + } + + return nil +} + +func (s *ServeEventStream) writeEvents(ctx context.Context, w http.ResponseWriter) error { + encoder := eventstream.NewEncoder() + + var event eventstream.Message + pendingEvents := s.Events + + for len(pendingEvents) > 0 { + event, pendingEvents = pendingEvents[0], pendingEvents[1:] + select { + case <-ctx.Done(): + return nil + default: + err := encoder.Encode(flushWriter{w}, event) + if err != nil { + if err == io.EOF { + return nil + } + return fmt.Errorf("expected no error encoding event, got %v", err) + } + } + } + + return nil +} + +type flushWriter struct { + w io.Writer +} + +func (fw flushWriter) Write(p []byte) (n int, err error) { + n, err = fw.w.Write(p) + if f, ok := fw.w.(http.Flusher); ok { + f.Flush() + } + return +} + +// EventMessageTypeHeader is an event message type header for specifying an +// event is an message type. +var EventMessageTypeHeader = eventstream.Header{ + Name: eventstreamapi.MessageTypeHeader, + Value: eventstream.StringValue(eventstreamapi.EventMessageType), +} + +// EventExceptionTypeHeader is an event exception type header for specifying an +// event is an exception type. +var EventExceptionTypeHeader = eventstream.Header{ + Name: eventstreamapi.MessageTypeHeader, + Value: eventstream.StringValue(eventstreamapi.ExceptionMessageType), +} diff --git a/service/internal/integrationtest/go.mod b/service/internal/integrationtest/go.mod index 1e2610f4022..bb703584f9c 100644 --- a/service/internal/integrationtest/go.mod +++ b/service/internal/integrationtest/go.mod @@ -81,11 +81,12 @@ require ( github.com/aws/aws-sdk-go-v2/service/sts v1.8.0 github.com/aws/aws-sdk-go-v2/service/support v1.6.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.5.0 + github.com/aws/aws-sdk-go-v2/service/transcribestreaming v0.0.0-00010101000000-000000000000 github.com/aws/aws-sdk-go-v2/service/waf v1.5.0 github.com/aws/aws-sdk-go-v2/service/wafregional v1.6.0 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.11.0 github.com/aws/aws-sdk-go-v2/service/workspaces v1.8.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) @@ -93,6 +94,8 @@ go 1.15 replace github.com/aws/aws-sdk-go-v2 => ../../../ +replace github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream => ../../../aws/protocol/eventstream/ + replace github.com/aws/aws-sdk-go-v2/config => ../../../config/ replace github.com/aws/aws-sdk-go-v2/credentials => ../../../credentials/ @@ -271,6 +274,8 @@ replace github.com/aws/aws-sdk-go-v2/service/support => ../../../service/support replace github.com/aws/aws-sdk-go-v2/service/timestreamwrite => ../../../service/timestreamwrite/ +replace github.com/aws/aws-sdk-go-v2/service/transcribestreaming => ../../../service/transcribestreaming/ + replace github.com/aws/aws-sdk-go-v2/service/waf => ../../../service/waf/ replace github.com/aws/aws-sdk-go-v2/service/wafregional => ../../../service/wafregional/ diff --git a/service/internal/integrationtest/go.sum b/service/internal/integrationtest/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/internal/integrationtest/go.sum +++ b/service/internal/integrationtest/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/internal/integrationtest/transcribestreaming/eventstream_test.go b/service/internal/integrationtest/transcribestreaming/eventstream_test.go new file mode 100644 index 00000000000..49c0dc33e6c --- /dev/null +++ b/service/internal/integrationtest/transcribestreaming/eventstream_test.go @@ -0,0 +1,199 @@ +//go:build integration +// +build integration + +package transcribestreaming + +import ( + "bytes" + "context" + "encoding/base64" + "flag" + "fmt" + "io" + "os" + "strings" + "sync" + "testing" + "time" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/internal/integrationtest" + "github.com/aws/aws-sdk-go-v2/service/transcribestreaming" + "github.com/aws/aws-sdk-go-v2/service/transcribestreaming/types" +) + +var ( + audioFilename string + audioFormat string + audioLang string + audioSampleRate int + audioFrameSize int + withDebug bool +) + +func init() { + flag.BoolVar(&withDebug, "debug", false, "Include debug logging with test.") + flag.StringVar(&audioFilename, "audio-file", "", "Audio file filename to perform test with.") + flag.StringVar(&audioLang, "audio-lang", string(types.LanguageCodeEnUs), "Language of audio speech.") + flag.StringVar(&audioFormat, "audio-format", string(types.MediaEncodingPcm), "Format of audio.") + flag.IntVar(&audioSampleRate, "audio-sample", 16000, "Sample rate of the audio.") + flag.IntVar(&audioFrameSize, "audio-frame", 15*1024, "Size of frames of audio uploaded.") +} + +func TestInteg_StartStreamTranscription(t *testing.T) { + var audio io.Reader + if len(audioFilename) != 0 { + audioFile, err := os.Open(audioFilename) + if err != nil { + t.Fatalf("expect to open file, %v", err) + } + defer audioFile.Close() + audio = audioFile + } else { + b, err := base64.StdEncoding.DecodeString( + `UklGRjzxPQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAAZGF0YVTwPQAAAAAAAAAAAAAAAAD//wIA/f8EAA==`, + ) + if err != nil { + t.Fatalf("expect decode audio bytes, %v", err) + } + audio = bytes.NewReader(b) + } + + cfg, _ := integrationtest.LoadConfigWithDefaultRegion("us-west-2") + + ctx, cancelFn := context.WithTimeout(context.Background(), 10*time.Second) + defer cancelFn() + + client := transcribestreaming.NewFromConfig(cfg) + resp, err := client.StartStreamTranscription(ctx, &transcribestreaming.StartStreamTranscriptionInput{ + LanguageCode: types.LanguageCode(audioLang), + MediaEncoding: types.MediaEncoding(audioFormat), + MediaSampleRateHertz: aws.Int32(int32(audioSampleRate)), + }) + if err != nil { + t.Fatalf("failed to start streaming, %v", err) + } + stream := resp.GetStream() + defer stream.Close() + + go streamAudioFromReader(context.Background(), stream.Writer, audioFrameSize, audio) + + for event := range stream.Events() { + switch e := event.(type) { + case *types.TranscriptResultStreamMemberTranscriptEvent: + t.Logf("got event, %v results", len(e.Value.Transcript.Results)) + for _, res := range e.Value.Transcript.Results { + for _, alt := range res.Alternatives { + t.Logf("* %s", aws.ToString(alt.Transcript)) + } + } + default: + t.Fatalf("unexpected event, %T", event) + } + } + + if err := stream.Err(); err != nil { + t.Fatalf("expect no error from stream, got %v", err) + } +} + +func TestInteg_StartStreamTranscription_contextClose(t *testing.T) { + b, err := base64.StdEncoding.DecodeString( + `UklGRjzxPQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAAZGF0YVTwPQAAAAAAAAAAAAAAAAD//wIA/f8EAA==`, + ) + if err != nil { + t.Fatalf("expect decode audio bytes, %v", err) + } + audio := bytes.NewReader(b) + + cfg, _ := integrationtest.LoadConfigWithDefaultRegion("us-west-2") + + ctx, cancelFn := context.WithTimeout(context.Background(), 10*time.Second) + defer cancelFn() + + client := transcribestreaming.NewFromConfig(cfg) + resp, err := client.StartStreamTranscription(ctx, &transcribestreaming.StartStreamTranscriptionInput{ + LanguageCode: types.LanguageCodeEnUs, + MediaEncoding: types.MediaEncodingPcm, + MediaSampleRateHertz: aws.Int32(16000), + }) + if err != nil { + t.Fatalf("failed to start streaming, %v", err) + } + + stream := resp.GetStream() + defer stream.Close() + + var wg sync.WaitGroup + wg.Add(1) + go func() { + err := streamAudioFromReader(ctx, stream.Writer, audioFrameSize, audio) + if err == nil { + t.Errorf("expect error") + } + if e, a := "context canceled", err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error in %q", e, a) + } + wg.Done() + }() + + cancelFn() + +Loop: + for { + select { + case <-ctx.Done(): + break Loop + case event, ok := <-stream.Events(): + if !ok { + break Loop + } + switch e := event.(type) { + case *types.TranscriptResultStreamMemberTranscriptEvent: + t.Logf("got event, %v results", len(e.Value.Transcript.Results)) + for _, res := range e.Value.Transcript.Results { + for _, alt := range res.Alternatives { + t.Logf("* %s", aws.ToString(alt.Transcript)) + } + } + default: + t.Fatalf("unexpected event, %T", event) + } + } + } + + wg.Wait() + + if err := stream.Err(); err != nil { + t.Fatalf("expect no error from stream, got %v", err) + } +} + +func streamAudioFromReader(ctx context.Context, stream transcribestreaming.AudioStreamWriter, frameSize int, input io.Reader) (err error) { + defer func() { + if closeErr := stream.Close(); closeErr != nil && err == nil { + err = fmt.Errorf("failed to close stream, %v", closeErr) + } + }() + + frame := make([]byte, frameSize) + for { + var n int + n, err = input.Read(frame) + if n > 0 { + err = stream.Send(ctx, &types.AudioStreamMemberAudioEvent{Value: types.AudioEvent{ + AudioChunk: frame[:n], + }}) + if err != nil { + return fmt.Errorf("failed to send audio event, %v", err) + } + } + + if err == io.EOF { + return nil + } + if err != nil { + return fmt.Errorf("failed to read audio, %v", err) + } + } +} diff --git a/service/internal/presigned-url/go.mod b/service/internal/presigned-url/go.mod index c1f4b28b031..04875f930c8 100644 --- a/service/internal/presigned-url/go.mod +++ b/service/internal/presigned-url/go.mod @@ -4,7 +4,7 @@ go 1.15 require ( github.com/aws/aws-sdk-go-v2 v1.10.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) diff --git a/service/internal/presigned-url/go.sum b/service/internal/presigned-url/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/internal/presigned-url/go.sum +++ b/service/internal/presigned-url/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/internal/s3shared/go.mod b/service/internal/s3shared/go.mod index 2f9cb93a455..12b0e84ca18 100644 --- a/service/internal/s3shared/go.mod +++ b/service/internal/s3shared/go.mod @@ -4,7 +4,7 @@ go 1.15 require ( github.com/aws/aws-sdk-go-v2 v1.10.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../../ diff --git a/service/internal/s3shared/go.sum b/service/internal/s3shared/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/internal/s3shared/go.sum +++ b/service/internal/s3shared/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/iot/go.mod b/service/iot/go.mod index 80fc3dcc9ec..7c949e96f96 100644 --- a/service/iot/go.mod +++ b/service/iot/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/iot/go.sum b/service/iot/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/iot/go.sum +++ b/service/iot/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/iot/types/types.go b/service/iot/types/types.go index 9e1a97d1321..da71967658d 100644 --- a/service/iot/types/types.go +++ b/service/iot/types/types.go @@ -264,52 +264,52 @@ type AssetPropertyValue struct { // Contains an asset property value (of a single type). // // The following types satisfy this interface: -// AssetPropertyVariantMemberStringValue -// AssetPropertyVariantMemberIntegerValue -// AssetPropertyVariantMemberDoubleValue // AssetPropertyVariantMemberBooleanValue +// AssetPropertyVariantMemberDoubleValue +// AssetPropertyVariantMemberIntegerValue +// AssetPropertyVariantMemberStringValue type AssetPropertyVariant interface { isAssetPropertyVariant() } -// Optional. The string value of the value entry. Accepts substitution templates. -type AssetPropertyVariantMemberStringValue struct { +// Optional. A string that contains the boolean value (true or false) of the value +// entry. Accepts substitution templates. +type AssetPropertyVariantMemberBooleanValue struct { Value string noSmithyDocumentSerde } -func (*AssetPropertyVariantMemberStringValue) isAssetPropertyVariant() {} +func (*AssetPropertyVariantMemberBooleanValue) isAssetPropertyVariant() {} -// Optional. A string that contains the integer value of the value entry. Accepts +// Optional. A string that contains the double value of the value entry. Accepts // substitution templates. -type AssetPropertyVariantMemberIntegerValue struct { +type AssetPropertyVariantMemberDoubleValue struct { Value string noSmithyDocumentSerde } -func (*AssetPropertyVariantMemberIntegerValue) isAssetPropertyVariant() {} +func (*AssetPropertyVariantMemberDoubleValue) isAssetPropertyVariant() {} -// Optional. A string that contains the double value of the value entry. Accepts +// Optional. A string that contains the integer value of the value entry. Accepts // substitution templates. -type AssetPropertyVariantMemberDoubleValue struct { +type AssetPropertyVariantMemberIntegerValue struct { Value string noSmithyDocumentSerde } -func (*AssetPropertyVariantMemberDoubleValue) isAssetPropertyVariant() {} +func (*AssetPropertyVariantMemberIntegerValue) isAssetPropertyVariant() {} -// Optional. A string that contains the boolean value (true or false) of the value -// entry. Accepts substitution templates. -type AssetPropertyVariantMemberBooleanValue struct { +// Optional. The string value of the value entry. Accepts substitution templates. +type AssetPropertyVariantMemberStringValue struct { Value string noSmithyDocumentSerde } -func (*AssetPropertyVariantMemberBooleanValue) isAssetPropertyVariant() {} +func (*AssetPropertyVariantMemberStringValue) isAssetPropertyVariant() {} // The attribute payload. type AttributePayload struct { diff --git a/service/iot1clickdevicesservice/go.mod b/service/iot1clickdevicesservice/go.mod index 81127f14834..35049918447 100644 --- a/service/iot1clickdevicesservice/go.mod +++ b/service/iot1clickdevicesservice/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/iot1clickdevicesservice/go.sum b/service/iot1clickdevicesservice/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/iot1clickdevicesservice/go.sum +++ b/service/iot1clickdevicesservice/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/iot1clickprojects/go.mod b/service/iot1clickprojects/go.mod index 99bdba1af11..f4e8521256e 100644 --- a/service/iot1clickprojects/go.mod +++ b/service/iot1clickprojects/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/iot1clickprojects/go.sum b/service/iot1clickprojects/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/iot1clickprojects/go.sum +++ b/service/iot1clickprojects/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/iotanalytics/go.mod b/service/iotanalytics/go.mod index 3b01f3772c2..ebd756915ea 100644 --- a/service/iotanalytics/go.mod +++ b/service/iotanalytics/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/iotanalytics/go.sum b/service/iotanalytics/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/iotanalytics/go.sum +++ b/service/iotanalytics/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/iotanalytics/types/types.go b/service/iotanalytics/types/types.go index 4e1820fadb9..efe5f77652c 100644 --- a/service/iotanalytics/types/types.go +++ b/service/iotanalytics/types/types.go @@ -648,23 +648,13 @@ type DatastoreStatistics struct { // data store is created. // // The following types satisfy this interface: -// DatastoreStorageMemberServiceManagedS3 // DatastoreStorageMemberCustomerManagedS3 // DatastoreStorageMemberIotSiteWiseMultiLayerStorage +// DatastoreStorageMemberServiceManagedS3 type DatastoreStorage interface { isDatastoreStorage() } -// Used to store data in an Amazon S3 bucket managed by IoT Analytics. You can't -// change the choice of Amazon S3 storage after your data store is created. -type DatastoreStorageMemberServiceManagedS3 struct { - Value ServiceManagedDatastoreS3Storage - - noSmithyDocumentSerde -} - -func (*DatastoreStorageMemberServiceManagedS3) isDatastoreStorage() {} - // S3-customer-managed; When you choose customer-managed storage, the // retentionPeriod parameter is ignored. You can't change the choice of Amazon S3 // storage after your data store is created. @@ -687,6 +677,16 @@ type DatastoreStorageMemberIotSiteWiseMultiLayerStorage struct { func (*DatastoreStorageMemberIotSiteWiseMultiLayerStorage) isDatastoreStorage() {} +// Used to store data in an Amazon S3 bucket managed by IoT Analytics. You can't +// change the choice of Amazon S3 storage after your data store is created. +type DatastoreStorageMemberServiceManagedS3 struct { + Value ServiceManagedDatastoreS3Storage + + noSmithyDocumentSerde +} + +func (*DatastoreStorageMemberServiceManagedS3) isDatastoreStorage() {} + // Contains information about your data store. type DatastoreStorageSummary struct { diff --git a/service/iotdataplane/go.mod b/service/iotdataplane/go.mod index a7693d0aac1..c547c37c4c9 100644 --- a/service/iotdataplane/go.mod +++ b/service/iotdataplane/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/iotdataplane/go.sum b/service/iotdataplane/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/iotdataplane/go.sum +++ b/service/iotdataplane/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/iotdeviceadvisor/go.mod b/service/iotdeviceadvisor/go.mod index 3490e0a3bcf..5fb2f2b5884 100644 --- a/service/iotdeviceadvisor/go.mod +++ b/service/iotdeviceadvisor/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/iotdeviceadvisor/go.sum b/service/iotdeviceadvisor/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/iotdeviceadvisor/go.sum +++ b/service/iotdeviceadvisor/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/iotevents/go.mod b/service/iotevents/go.mod index 444e081dfe1..c89aee7c35c 100644 --- a/service/iotevents/go.mod +++ b/service/iotevents/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/iotevents/go.sum b/service/iotevents/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/iotevents/go.sum +++ b/service/iotevents/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/ioteventsdata/go.mod b/service/ioteventsdata/go.mod index f0ec852c78a..3f3890f8026 100644 --- a/service/ioteventsdata/go.mod +++ b/service/ioteventsdata/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/ioteventsdata/go.sum b/service/ioteventsdata/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/ioteventsdata/go.sum +++ b/service/ioteventsdata/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/iotfleethub/go.mod b/service/iotfleethub/go.mod index 72599e43a6b..b47f7bddac6 100644 --- a/service/iotfleethub/go.mod +++ b/service/iotfleethub/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/iotfleethub/go.sum b/service/iotfleethub/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/iotfleethub/go.sum +++ b/service/iotfleethub/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/iotjobsdataplane/go.mod b/service/iotjobsdataplane/go.mod index 6ef1cb159bc..a6c232f3848 100644 --- a/service/iotjobsdataplane/go.mod +++ b/service/iotjobsdataplane/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/iotjobsdataplane/go.sum b/service/iotjobsdataplane/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/iotjobsdataplane/go.sum +++ b/service/iotjobsdataplane/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/iotsecuretunneling/go.mod b/service/iotsecuretunneling/go.mod index 8025df1928d..054a58b04e7 100644 --- a/service/iotsecuretunneling/go.mod +++ b/service/iotsecuretunneling/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/iotsecuretunneling/go.sum b/service/iotsecuretunneling/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/iotsecuretunneling/go.sum +++ b/service/iotsecuretunneling/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/iotsitewise/go.mod b/service/iotsitewise/go.mod index 27808722920..046aa3bb137 100644 --- a/service/iotsitewise/go.mod +++ b/service/iotsitewise/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/iotsitewise/go.sum b/service/iotsitewise/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/iotsitewise/go.sum +++ b/service/iotsitewise/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/iotthingsgraph/go.mod b/service/iotthingsgraph/go.mod index 6b35b32763a..962965ec2a9 100644 --- a/service/iotthingsgraph/go.mod +++ b/service/iotthingsgraph/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/iotthingsgraph/go.sum b/service/iotthingsgraph/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/iotthingsgraph/go.sum +++ b/service/iotthingsgraph/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/iotwireless/go.mod b/service/iotwireless/go.mod index 12cecb95fdf..3d57983737d 100644 --- a/service/iotwireless/go.mod +++ b/service/iotwireless/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/iotwireless/go.sum b/service/iotwireless/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/iotwireless/go.sum +++ b/service/iotwireless/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/ivs/go.mod b/service/ivs/go.mod index 0ae85ddee1e..51a7759a7d6 100644 --- a/service/ivs/go.mod +++ b/service/ivs/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/ivs/go.sum b/service/ivs/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/ivs/go.sum +++ b/service/ivs/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/kafka/go.mod b/service/kafka/go.mod index ca4e3e5f181..80d498654fc 100644 --- a/service/kafka/go.mod +++ b/service/kafka/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/kafka/go.sum b/service/kafka/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/kafka/go.sum +++ b/service/kafka/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/kafkaconnect/go.mod b/service/kafkaconnect/go.mod index 939971ccb41..005a7882341 100644 --- a/service/kafkaconnect/go.mod +++ b/service/kafkaconnect/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/kafkaconnect/go.sum b/service/kafkaconnect/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/kafkaconnect/go.sum +++ b/service/kafkaconnect/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/kendra/go.mod b/service/kendra/go.mod index 62fc0ee498b..7e5f09e0489 100644 --- a/service/kendra/go.mod +++ b/service/kendra/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/kendra/go.sum b/service/kendra/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/kendra/go.sum +++ b/service/kendra/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/kendra/types/types.go b/service/kendra/types/types.go index 558a30a4448..84f6b4a9b3c 100644 --- a/service/kendra/types/types.go +++ b/service/kendra/types/types.go @@ -846,52 +846,52 @@ type DocumentAttribute struct { // custom attribute. // // The following types satisfy this interface: -// DocumentAttributeValueMemberStringValue -// DocumentAttributeValueMemberStringListValue -// DocumentAttributeValueMemberLongValue // DocumentAttributeValueMemberDateValue +// DocumentAttributeValueMemberLongValue +// DocumentAttributeValueMemberStringListValue +// DocumentAttributeValueMemberStringValue type DocumentAttributeValue interface { isDocumentAttributeValue() } -// A string, such as "department". -type DocumentAttributeValueMemberStringValue struct { - Value string +// A date expressed as an ISO 8601 string. It is important for the time zone to be +// included in the ISO 8601 date-time format. For example, 20120325T123010+01:00 is +// the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) +// in Central European Time. +type DocumentAttributeValueMemberDateValue struct { + Value time.Time noSmithyDocumentSerde } -func (*DocumentAttributeValueMemberStringValue) isDocumentAttributeValue() {} +func (*DocumentAttributeValueMemberDateValue) isDocumentAttributeValue() {} -// A list of strings. -type DocumentAttributeValueMemberStringListValue struct { - Value []string +// A long integer value. +type DocumentAttributeValueMemberLongValue struct { + Value int64 noSmithyDocumentSerde } -func (*DocumentAttributeValueMemberStringListValue) isDocumentAttributeValue() {} +func (*DocumentAttributeValueMemberLongValue) isDocumentAttributeValue() {} -// A long integer value. -type DocumentAttributeValueMemberLongValue struct { - Value int64 +// A list of strings. +type DocumentAttributeValueMemberStringListValue struct { + Value []string noSmithyDocumentSerde } -func (*DocumentAttributeValueMemberLongValue) isDocumentAttributeValue() {} +func (*DocumentAttributeValueMemberStringListValue) isDocumentAttributeValue() {} -// A date expressed as an ISO 8601 string. It is important for the time zone to be -// included in the ISO 8601 date-time format. For example, 20120325T123010+01:00 is -// the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) -// in Central European Time. -type DocumentAttributeValueMemberDateValue struct { - Value time.Time +// A string, such as "department". +type DocumentAttributeValueMemberStringValue struct { + Value string noSmithyDocumentSerde } -func (*DocumentAttributeValueMemberDateValue) isDocumentAttributeValue() {} +func (*DocumentAttributeValueMemberStringValue) isDocumentAttributeValue() {} // Provides the count of documents that match a particular attribute when doing a // faceted search. diff --git a/service/kinesis/api_client.go b/service/kinesis/api_client.go index d246abf779f..0ca37377282 100644 --- a/service/kinesis/api_client.go +++ b/service/kinesis/api_client.go @@ -125,6 +125,8 @@ func (c *Client) invokeOperation(ctx context.Context, opID string, params interf fn(&options) } + setSafeEventStreamClientLogMode(&options, opID) + finalizeClientEndpointResolverOptions(&options) for _, fn := range stackFns { diff --git a/service/kinesis/api_op_SubscribeToShard.go b/service/kinesis/api_op_SubscribeToShard.go new file mode 100644 index 00000000000..afae5b28cd7 --- /dev/null +++ b/service/kinesis/api_op_SubscribeToShard.go @@ -0,0 +1,253 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package kinesis + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/kinesis/types" + "github.com/aws/smithy-go/middleware" + smithysync "github.com/aws/smithy-go/sync" + smithyhttp "github.com/aws/smithy-go/transport/http" + "sync" +) + +// This operation establishes an HTTP/2 connection between the consumer you specify +// in the ConsumerARN parameter and the shard you specify in the ShardId parameter. +// After the connection is successfully established, Kinesis Data Streams pushes +// records from the shard to the consumer over this connection. Before you call +// this operation, call RegisterStreamConsumer to register the consumer with +// Kinesis Data Streams. When the SubscribeToShard call succeeds, your consumer +// starts receiving events of type SubscribeToShardEvent over the HTTP/2 connection +// for up to 5 minutes, after which time you need to call SubscribeToShard again to +// renew the subscription if you want to continue to receive records. You can make +// one call to SubscribeToShard per second per registered consumer per shard. For +// example, if you have a 4000 shard stream and two registered stream consumers, +// you can make one SubscribeToShard request per second for each combination of +// shard and registered consumer, allowing you to subscribe both consumers to all +// 4000 shards in one second. If you call SubscribeToShard again with the same +// ConsumerARN and ShardId within 5 seconds of a successful call, you'll get a +// ResourceInUseException. If you call SubscribeToShard 5 seconds or more after a +// successful call, the first connection will expire and the second call will take +// over the subscription. For an example of how to use this operations, see +// Enhanced Fan-Out Using the Kinesis Data Streams API. +func (c *Client) SubscribeToShard(ctx context.Context, params *SubscribeToShardInput, optFns ...func(*Options)) (*SubscribeToShardOutput, error) { + if params == nil { + params = &SubscribeToShardInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "SubscribeToShard", params, optFns, c.addOperationSubscribeToShardMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*SubscribeToShardOutput) + out.ResultMetadata = metadata + return out, nil +} + +type SubscribeToShardInput struct { + + // For this parameter, use the value you obtained when you called + // RegisterStreamConsumer. + // + // This member is required. + ConsumerARN *string + + // The ID of the shard you want to subscribe to. To see a list of all the shards + // for a given stream, use ListShards. + // + // This member is required. + ShardId *string + + // + // + // This member is required. + StartingPosition *types.StartingPosition + + noSmithyDocumentSerde +} + +type SubscribeToShardOutput struct { + eventStream *SubscribeToShardEventStream + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +// GetStream returns the type to interact with the event stream. +func (o *SubscribeToShardOutput) GetStream() *SubscribeToShardEventStream { + return o.eventStream +} + +func (c *Client) addOperationSubscribeToShardMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpSubscribeToShard{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpSubscribeToShard{}, middleware.After) + if err != nil { + return err + } + if err = addEventStreamSubscribeToShardMiddleware(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = addOpSubscribeToShardValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opSubscribeToShard(options.Region), middleware.Before); 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 + } + return nil +} + +func newServiceMetadataMiddleware_opSubscribeToShard(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "kinesis", + OperationName: "SubscribeToShard", + } +} + +// SubscribeToShardEventStream provides the event stream handling for the SubscribeToShard operation. +// +// For testing and mocking the event stream this type should be initialized via +// the NewSubscribeToShardEventStream constructor function. Using the functional options +// to pass in nested mock behavior. +type SubscribeToShardEventStream struct { + // SubscribeToShardEventStreamReader is the EventStream reader for the + // SubscribeToShardEventStream events. This value is automatically set by the SDK + // when the API call is made Use this member when unit testing your code with the + // SDK to mock out the EventStream Reader. + // + // Must not be nil. + Reader SubscribeToShardEventStreamReader + + done chan struct{} + closeOnce sync.Once + err *smithysync.OnceErr +} + +// NewSubscribeToShardEventStream initializes an SubscribeToShardEventStream. +// This function should only be used for testing and mocking the SubscribeToShardEventStream +// stream within your application. +// +// The Reader member must be set before reading events from the stream. +func NewSubscribeToShardEventStream(optFns ...func(*SubscribeToShardEventStream)) *SubscribeToShardEventStream { + es := &SubscribeToShardEventStream{ + done: make(chan struct{}), + err: smithysync.NewOnceErr(), + } + for _, fn := range optFns { + fn(es) + } + return es +} + +// Events returns a channel to read events from. +func (es *SubscribeToShardEventStream) Events() <-chan types.SubscribeToShardEventStream { + return es.Reader.Events() +} + +// Close closes the stream. This will also cause the stream to be closed. +// Close must be called when done using the stream API. Not calling Close +// may result in resource leaks. +// +// Will close the underlying EventStream writer and reader, and no more events can be +// sent or received. +func (es *SubscribeToShardEventStream) Close() error { + es.closeOnce.Do(es.safeClose) + return es.Err() +} + +func (es *SubscribeToShardEventStream) safeClose() { + close(es.done) + + es.Reader.Close() +} + +// Err returns any error that occurred while reading or writing EventStream Events +// from the service API's response. Returns nil if there were no errors. +func (es *SubscribeToShardEventStream) Err() error { + if err := es.err.Err(); err != nil { + return err + } + + if err := es.Reader.Err(); err != nil { + return err + } + + return nil +} + +func (es *SubscribeToShardEventStream) waitStreamClose() { + type errorSet interface { + ErrorSet() <-chan struct{} + } + + var outputErrCh <-chan struct{} + if v, ok := es.Reader.(errorSet); ok { + outputErrCh = v.ErrorSet() + } + var outputClosedCh <-chan struct{} + if v, ok := es.Reader.(interface{ Closed() <-chan struct{} }); ok { + outputClosedCh = v.Closed() + } + + select { + case <-es.done: + case <-outputErrCh: + es.err.SetError(es.Reader.Err()) + es.Close() + + case <-outputClosedCh: + if err := es.Reader.Err(); err != nil { + es.err.SetError(es.Reader.Err()) + } + es.Close() + + } +} diff --git a/service/kinesis/deserializers.go b/service/kinesis/deserializers.go index f3eb86fbe88..9c34fecf743 100644 --- a/service/kinesis/deserializers.go +++ b/service/kinesis/deserializers.go @@ -8,6 +8,8 @@ import ( "encoding/base64" "encoding/json" "fmt" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi" "github.com/aws/aws-sdk-go-v2/aws/protocol/restjson" "github.com/aws/aws-sdk-go-v2/service/kinesis/types" smithy "github.com/aws/smithy-go" @@ -2923,6 +2925,98 @@ func awsAwsjson11_deserializeOpErrorStopStreamEncryption(response *smithyhttp.Re } } +type awsAwsjson11_deserializeOpSubscribeToShard struct { +} + +func (*awsAwsjson11_deserializeOpSubscribeToShard) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpSubscribeToShard) 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, awsAwsjson11_deserializeOpErrorSubscribeToShard(response, &metadata) + } + output := &SubscribeToShardOutput{} + out.Result = output + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorSubscribeToShard(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 + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, 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(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("InvalidArgumentException", errorCode): + return awsAwsjson11_deserializeErrorInvalidArgumentException(response, errorBody) + + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + + case strings.EqualFold("ResourceInUseException", errorCode): + return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsjson11_deserializeOpUpdateShardCount struct { } @@ -3043,11 +3137,111 @@ func awsAwsjson11_deserializeOpErrorUpdateShardCount(response *smithyhttp.Respon } } -func awsAwsjson11_deserializeErrorExpiredIteratorException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeEventStreamSubscribeToShardEventStream(v *types.SubscribeToShardEventStream, msg *eventstream.Message) error { + if v == nil { + return fmt.Errorf("unexpected serialization of nil %T", v) + } + + eventType := msg.Headers.Get(eventstreamapi.EventTypeHeader) + if eventType == nil { + return fmt.Errorf("%s event header not present", eventstreamapi.EventTypeHeader) + } + + switch { + case strings.EqualFold("SubscribeToShardEvent", eventType.String()): + vv := &types.SubscribeToShardEventStreamMemberSubscribeToShardEvent{} + if err := awsAwsjson11_deserializeEventMessageSubscribeToShardEvent(&vv.Value, msg); err != nil { + return err + } + *v = vv + return nil + + default: + buffer := bytes.NewBuffer(nil) + eventstream.NewEncoder().Encode(buffer, *msg) + *v = &types.UnknownUnionMember{ + Tag: eventType.String(), + Value: buffer.Bytes(), + } + return nil + + } +} + +func awsAwsjson11_deserializeEventStreamExceptionSubscribeToShardEventStream(msg *eventstream.Message) error { + exceptionType := msg.Headers.Get(eventstreamapi.ExceptionTypeHeader) + if exceptionType == nil { + return fmt.Errorf("%s event header not present", eventstreamapi.ExceptionTypeHeader) + } + + switch { + case strings.EqualFold("InternalFailureException", exceptionType.String()): + return awsAwsjson11_deserializeEventMessageExceptionInternalFailureException(msg) + + case strings.EqualFold("KMSAccessDeniedException", exceptionType.String()): + return awsAwsjson11_deserializeEventMessageExceptionKMSAccessDeniedException(msg) + + case strings.EqualFold("KMSDisabledException", exceptionType.String()): + return awsAwsjson11_deserializeEventMessageExceptionKMSDisabledException(msg) + + case strings.EqualFold("KMSInvalidStateException", exceptionType.String()): + return awsAwsjson11_deserializeEventMessageExceptionKMSInvalidStateException(msg) + + case strings.EqualFold("KMSNotFoundException", exceptionType.String()): + return awsAwsjson11_deserializeEventMessageExceptionKMSNotFoundException(msg) + + case strings.EqualFold("KMSOptInRequired", exceptionType.String()): + return awsAwsjson11_deserializeEventMessageExceptionKMSOptInRequired(msg) + + case strings.EqualFold("KMSThrottlingException", exceptionType.String()): + return awsAwsjson11_deserializeEventMessageExceptionKMSThrottlingException(msg) + + case strings.EqualFold("ResourceInUseException", exceptionType.String()): + return awsAwsjson11_deserializeEventMessageExceptionResourceInUseException(msg) + + case strings.EqualFold("ResourceNotFoundException", exceptionType.String()): + return awsAwsjson11_deserializeEventMessageExceptionResourceNotFoundException(msg) + + default: + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(br, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + return err + } + errorCode := "UnknownError" + errorMessage := errorCode + if ev := exceptionType.String(); len(ev) > 0 { + errorCode = ev + } else if ev := code; len(ev) > 0 { + errorCode = ev + } + if ev := message; len(ev) > 0 { + errorMessage = ev + } + return &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + + } +} + +func awsAwsjson11_deserializeEventMessageSubscribeToShardEvent(v *types.SubscribeToShardEvent, msg *eventstream.Message) error { + if v == nil { + return fmt.Errorf("unexpected serialization of nil %T", v) + } + + br := bytes.NewReader(msg.Payload) var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(br, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -3061,28 +3255,27 @@ func awsAwsjson11_deserializeErrorExpiredIteratorException(response *smithyhttp. return err } - output := &types.ExpiredIteratorException{} - err := awsAwsjson11_deserializeDocumentExpiredIteratorException(&output, shape) - - 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(), + if err := awsAwsjson11_deserializeDocumentSubscribeToShardEvent(&v, shape); err != nil { + 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 } - return err - } - errorBody.Seek(0, io.SeekStart) - return output + } + return nil } -func awsAwsjson11_deserializeErrorExpiredNextTokenException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeEventMessageExceptionResourceNotFoundException(msg *eventstream.Message) error { + br := bytes.NewReader(msg.Payload) var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(br, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -3096,28 +3289,28 @@ func awsAwsjson11_deserializeErrorExpiredNextTokenException(response *smithyhttp return err } - output := &types.ExpiredNextTokenException{} - err := awsAwsjson11_deserializeDocumentExpiredNextTokenException(&output, shape) - - 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(), + v := &types.ResourceNotFoundException{} + if err := awsAwsjson11_deserializeDocumentResourceNotFoundException(&v, shape); err != nil { + 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 } - return err - } - errorBody.Seek(0, io.SeekStart) - return output + } + return v } -func awsAwsjson11_deserializeErrorInvalidArgumentException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeEventMessageExceptionResourceInUseException(msg *eventstream.Message) error { + br := bytes.NewReader(msg.Payload) var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(br, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -3131,28 +3324,28 @@ func awsAwsjson11_deserializeErrorInvalidArgumentException(response *smithyhttp. return err } - output := &types.InvalidArgumentException{} - err := awsAwsjson11_deserializeDocumentInvalidArgumentException(&output, shape) - - 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(), + v := &types.ResourceInUseException{} + if err := awsAwsjson11_deserializeDocumentResourceInUseException(&v, shape); err != nil { + 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 } - return err - } - errorBody.Seek(0, io.SeekStart) - return output + } + return v } -func awsAwsjson11_deserializeErrorKMSAccessDeniedException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeEventMessageExceptionKMSDisabledException(msg *eventstream.Message) error { + br := bytes.NewReader(msg.Payload) var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(br, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -3166,28 +3359,28 @@ func awsAwsjson11_deserializeErrorKMSAccessDeniedException(response *smithyhttp. return err } - output := &types.KMSAccessDeniedException{} - err := awsAwsjson11_deserializeDocumentKMSAccessDeniedException(&output, shape) - - 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(), + v := &types.KMSDisabledException{} + if err := awsAwsjson11_deserializeDocumentKMSDisabledException(&v, shape); err != nil { + 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 } - return err - } - errorBody.Seek(0, io.SeekStart) - return output + } + return v } -func awsAwsjson11_deserializeErrorKMSDisabledException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeEventMessageExceptionKMSInvalidStateException(msg *eventstream.Message) error { + br := bytes.NewReader(msg.Payload) var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(br, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -3201,10 +3394,32 @@ func awsAwsjson11_deserializeErrorKMSDisabledException(response *smithyhttp.Resp return err } - output := &types.KMSDisabledException{} - err := awsAwsjson11_deserializeDocumentKMSDisabledException(&output, shape) + v := &types.KMSInvalidStateException{} + if err := awsAwsjson11_deserializeDocumentKMSInvalidStateException(&v, shape); err != nil { + 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 + } - if err != nil { + } + return v +} + +func awsAwsjson11_deserializeEventMessageExceptionKMSAccessDeniedException(msg *eventstream.Message) error { + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(br, 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{ @@ -3214,15 +3429,28 @@ func awsAwsjson11_deserializeErrorKMSDisabledException(response *smithyhttp.Resp return err } - errorBody.Seek(0, io.SeekStart) - return output + v := &types.KMSAccessDeniedException{} + if err := awsAwsjson11_deserializeDocumentKMSAccessDeniedException(&v, shape); err != nil { + 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 + } + + } + return v } -func awsAwsjson11_deserializeErrorKMSInvalidStateException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeEventMessageExceptionKMSNotFoundException(msg *eventstream.Message) error { + br := bytes.NewReader(msg.Payload) var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(br, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -3236,10 +3464,32 @@ func awsAwsjson11_deserializeErrorKMSInvalidStateException(response *smithyhttp. return err } - output := &types.KMSInvalidStateException{} - err := awsAwsjson11_deserializeDocumentKMSInvalidStateException(&output, shape) + v := &types.KMSNotFoundException{} + if err := awsAwsjson11_deserializeDocumentKMSNotFoundException(&v, shape); err != nil { + 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 + } - if err != nil { + } + return v +} + +func awsAwsjson11_deserializeEventMessageExceptionKMSOptInRequired(msg *eventstream.Message) error { + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(br, 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{ @@ -3249,15 +3499,28 @@ func awsAwsjson11_deserializeErrorKMSInvalidStateException(response *smithyhttp. return err } - errorBody.Seek(0, io.SeekStart) - return output + v := &types.KMSOptInRequired{} + if err := awsAwsjson11_deserializeDocumentKMSOptInRequired(&v, shape); err != nil { + 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 + } + + } + return v } -func awsAwsjson11_deserializeErrorKMSNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeEventMessageExceptionKMSThrottlingException(msg *eventstream.Message) error { + br := bytes.NewReader(msg.Payload) var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(br, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -3271,168 +3534,28 @@ func awsAwsjson11_deserializeErrorKMSNotFoundException(response *smithyhttp.Resp return err } - output := &types.KMSNotFoundException{} - err := awsAwsjson11_deserializeDocumentKMSNotFoundException(&output, shape) - - 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) - return output -} - -func awsAwsjson11_deserializeErrorKMSOptInRequired(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, 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 err - } - - output := &types.KMSOptInRequired{} - err := awsAwsjson11_deserializeDocumentKMSOptInRequired(&output, shape) - - 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) - return output -} - -func awsAwsjson11_deserializeErrorKMSThrottlingException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, 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 err - } - - output := &types.KMSThrottlingException{} - err := awsAwsjson11_deserializeDocumentKMSThrottlingException(&output, shape) - - 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) - return output -} - -func awsAwsjson11_deserializeErrorLimitExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, 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 err - } - - output := &types.LimitExceededException{} - err := awsAwsjson11_deserializeDocumentLimitExceededException(&output, shape) - - 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) - return output -} - -func awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, 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(), + v := &types.KMSThrottlingException{} + if err := awsAwsjson11_deserializeDocumentKMSThrottlingException(&v, shape); err != nil { + 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 } - return err - } - - output := &types.ProvisionedThroughputExceededException{} - err := awsAwsjson11_deserializeDocumentProvisionedThroughputExceededException(&output, shape) - 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) - return output + return v } -func awsAwsjson11_deserializeErrorResourceInUseException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeEventMessageExceptionInternalFailureException(msg *eventstream.Message) error { + br := bytes.NewReader(msg.Payload) var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(br, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -3446,56 +3569,20 @@ func awsAwsjson11_deserializeErrorResourceInUseException(response *smithyhttp.Re return err } - output := &types.ResourceInUseException{} - err := awsAwsjson11_deserializeDocumentResourceInUseException(&output, shape) - - 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) - return output -} - -func awsAwsjson11_deserializeErrorResourceNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, 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(), + v := &types.InternalFailureException{} + if err := awsAwsjson11_deserializeDocumentInternalFailureException(&v, shape); err != nil { + 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 } - return err - } - - output := &types.ResourceNotFoundException{} - err := awsAwsjson11_deserializeDocumentResourceNotFoundException(&output, shape) - 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) - return output + return v } func awsAwsjson11_deserializeDocumentChildShard(v **types.ChildShard, value interface{}) error { @@ -3548,7 +3635,7 @@ func awsAwsjson11_deserializeDocumentChildShard(v **types.ChildShard, value inte return nil } -func awsAwsjson11_deserializeDocumentChildShardList(v *[]types.ChildShard, value interface{}) error { +func awsAwsjson11_deserializeDocumentHashKeyRange(v **types.HashKeyRange, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3556,33 +3643,48 @@ func awsAwsjson11_deserializeDocumentChildShardList(v *[]types.ChildShard, value return nil } - shape, ok := value.([]interface{}) + shape, ok := value.(map[string]interface{}) if !ok { return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.ChildShard + var sv *types.HashKeyRange if *v == nil { - cv = []types.ChildShard{} + sv = &types.HashKeyRange{} } else { - cv = *v + sv = *v } - for _, value := range shape { - var col types.ChildShard - destAddr := &col - if err := awsAwsjson11_deserializeDocumentChildShard(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) + for key, value := range shape { + switch key { + case "EndingHashKey": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected HashKey to be of type string, got %T instead", value) + } + sv.EndingHashKey = ptr.String(jtv) + } + + case "StartingHashKey": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected HashKey to be of type string, got %T instead", value) + } + sv.StartingHashKey = ptr.String(jtv) + } + + default: + _, _ = key, value + } } - *v = cv + *v = sv return nil } -func awsAwsjson11_deserializeDocumentConsumer(v **types.Consumer, value interface{}) error { +func awsAwsjson11_deserializeDocumentKMSInvalidStateException(v **types.KMSInvalidStateException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3595,25 +3697,56 @@ func awsAwsjson11_deserializeDocumentConsumer(v **types.Consumer, value interfac return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.Consumer + var sv *types.KMSInvalidStateException if *v == nil { - sv = &types.Consumer{} + sv = &types.KMSInvalidStateException{} } else { sv = *v } for key, value := range shape { switch key { - case "ConsumerARN": + case "message": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ConsumerARN to be of type string, got %T instead", value) + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) } - sv.ConsumerARN = ptr.String(jtv) + sv.Message = ptr.String(jtv) } - case "ConsumerCreationTimestamp": + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentRecord(v **types.Record, 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.Record + if *v == nil { + sv = &types.Record{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ApproximateArrivalTimestamp": if value != nil { switch jtv := value.(type) { case json.Number: @@ -3621,7 +3754,7 @@ func awsAwsjson11_deserializeDocumentConsumer(v **types.Consumer, value interfac if err != nil { return err } - sv.ConsumerCreationTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + sv.ApproximateArrivalTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) default: return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) @@ -3629,22 +3762,44 @@ func awsAwsjson11_deserializeDocumentConsumer(v **types.Consumer, value interfac } } - case "ConsumerName": + case "Data": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ConsumerName to be of type string, got %T instead", value) + return fmt.Errorf("expected Data to be []byte, got %T instead", value) } - sv.ConsumerName = ptr.String(jtv) + dv, err := base64.StdEncoding.DecodeString(jtv) + if err != nil { + return fmt.Errorf("failed to base64 decode Data, %w", err) + } + sv.Data = dv } - case "ConsumerStatus": + case "EncryptionType": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ConsumerStatus to be of type string, got %T instead", value) + return fmt.Errorf("expected EncryptionType to be of type string, got %T instead", value) } - sv.ConsumerStatus = types.ConsumerStatus(jtv) + sv.EncryptionType = types.EncryptionType(jtv) + } + + case "PartitionKey": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected PartitionKey to be of type string, got %T instead", value) + } + sv.PartitionKey = ptr.String(jtv) + } + + case "SequenceNumber": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SequenceNumber to be of type string, got %T instead", value) + } + sv.SequenceNumber = ptr.String(jtv) } default: @@ -3656,7 +3811,7 @@ func awsAwsjson11_deserializeDocumentConsumer(v **types.Consumer, value interfac return nil } -func awsAwsjson11_deserializeDocumentConsumerDescription(v **types.ConsumerDescription, value interface{}) error { +func awsAwsjson11_deserializeDocumentInternalFailureException(v **types.InternalFailureException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3669,65 +3824,62 @@ func awsAwsjson11_deserializeDocumentConsumerDescription(v **types.ConsumerDescr return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ConsumerDescription + var sv *types.InternalFailureException if *v == nil { - sv = &types.ConsumerDescription{} + sv = &types.InternalFailureException{} } else { sv = *v } for key, value := range shape { switch key { - case "ConsumerARN": + case "message": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ConsumerARN to be of type string, got %T instead", value) + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) } - sv.ConsumerARN = ptr.String(jtv) + sv.Message = ptr.String(jtv) } - case "ConsumerCreationTimestamp": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.ConsumerCreationTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + default: + _, _ = key, value - default: - return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + } + } + *v = sv + return nil +} - } - } +func awsAwsjson11_deserializeDocumentKMSThrottlingException(v **types.KMSThrottlingException, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } - case "ConsumerName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ConsumerName to be of type string, got %T instead", value) - } - sv.ConsumerName = ptr.String(jtv) - } + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } - case "ConsumerStatus": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ConsumerStatus to be of type string, got %T instead", value) - } - sv.ConsumerStatus = types.ConsumerStatus(jtv) - } + var sv *types.KMSThrottlingException + if *v == nil { + sv = &types.KMSThrottlingException{} + } else { + sv = *v + } - case "StreamARN": + for key, value := range shape { + switch key { + case "message": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected StreamARN to be of type string, got %T instead", value) + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) } - sv.StreamARN = ptr.String(jtv) + sv.Message = ptr.String(jtv) } default: @@ -3739,7 +3891,7 @@ func awsAwsjson11_deserializeDocumentConsumerDescription(v **types.ConsumerDescr return nil } -func awsAwsjson11_deserializeDocumentConsumerList(v *[]types.Consumer, value interface{}) error { +func awsAwsjson11_deserializeDocumentRecordList(v *[]types.Record, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3752,17 +3904,17 @@ func awsAwsjson11_deserializeDocumentConsumerList(v *[]types.Consumer, value int return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.Consumer + var cv []types.Record if *v == nil { - cv = []types.Consumer{} + cv = []types.Record{} } else { cv = *v } for _, value := range shape { - var col types.Consumer + var col types.Record destAddr := &col - if err := awsAwsjson11_deserializeDocumentConsumer(&destAddr, value); err != nil { + if err := awsAwsjson11_deserializeDocumentRecord(&destAddr, value); err != nil { return err } col = *destAddr @@ -3773,7 +3925,7 @@ func awsAwsjson11_deserializeDocumentConsumerList(v *[]types.Consumer, value int return nil } -func awsAwsjson11_deserializeDocumentEnhancedMetrics(v **types.EnhancedMetrics, value interface{}) error { +func awsAwsjson11_deserializeDocumentResourceNotFoundException(v **types.ResourceNotFoundException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3786,18 +3938,22 @@ func awsAwsjson11_deserializeDocumentEnhancedMetrics(v **types.EnhancedMetrics, return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.EnhancedMetrics + var sv *types.ResourceNotFoundException if *v == nil { - sv = &types.EnhancedMetrics{} + sv = &types.ResourceNotFoundException{} } else { sv = *v } for key, value := range shape { switch key { - case "ShardLevelMetrics": - if err := awsAwsjson11_deserializeDocumentMetricsNameList(&sv.ShardLevelMetrics, value); err != nil { - return err + case "message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) } default: @@ -3809,7 +3965,87 @@ func awsAwsjson11_deserializeDocumentEnhancedMetrics(v **types.EnhancedMetrics, return nil } -func awsAwsjson11_deserializeDocumentEnhancedMonitoringList(v *[]types.EnhancedMetrics, value interface{}) error { +func awsAwsjson11_deserializeDocumentKMSAccessDeniedException(v **types.KMSAccessDeniedException, 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.KMSAccessDeniedException + if *v == nil { + sv = &types.KMSAccessDeniedException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentKMSDisabledException(v **types.KMSDisabledException, 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.KMSDisabledException + if *v == nil { + sv = &types.KMSDisabledException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentShardIdList(v *[]string, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3822,28 +4058,769 @@ func awsAwsjson11_deserializeDocumentEnhancedMonitoringList(v *[]types.EnhancedM return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.EnhancedMetrics - if *v == nil { - cv = []types.EnhancedMetrics{} - } else { - cv = *v - } + 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 ShardId to be of type string, got %T instead", value) + } + col = jtv + } + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsAwsjson11_deserializeDocumentChildShardList(v *[]types.ChildShard, 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.ChildShard + if *v == nil { + cv = []types.ChildShard{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ChildShard + destAddr := &col + if err := awsAwsjson11_deserializeDocumentChildShard(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsAwsjson11_deserializeDocumentResourceInUseException(v **types.ResourceInUseException, 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.ResourceInUseException + if *v == nil { + sv = &types.ResourceInUseException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentKMSNotFoundException(v **types.KMSNotFoundException, 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.KMSNotFoundException + if *v == nil { + sv = &types.KMSNotFoundException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentSubscribeToShardEvent(v **types.SubscribeToShardEvent, 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.SubscribeToShardEvent + if *v == nil { + sv = &types.SubscribeToShardEvent{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ChildShards": + if err := awsAwsjson11_deserializeDocumentChildShardList(&sv.ChildShards, value); err != nil { + return err + } + + case "ContinuationSequenceNumber": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SequenceNumber to be of type string, got %T instead", value) + } + sv.ContinuationSequenceNumber = ptr.String(jtv) + } + + case "MillisBehindLatest": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected MillisBehindLatest to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.MillisBehindLatest = ptr.Int64(i64) + } + + case "Records": + if err := awsAwsjson11_deserializeDocumentRecordList(&sv.Records, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentKMSOptInRequired(v **types.KMSOptInRequired, 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.KMSOptInRequired + if *v == nil { + sv = &types.KMSOptInRequired{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeEventMessageResponseSubscribeToShardOutput(msg *eventstream.Message) (interface{}, error) { + v := &SubscribeToShardOutput{} + + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(br, 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 nil, err + } + + if err := awsAwsjson11_deserializeOpDocumentSubscribeToShardOutput(&v, shape); err != nil { + 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 nil, err + } + + } + return v, nil +} + +func awsAwsjson11_deserializeOpDocumentSubscribeToShardOutput(v **SubscribeToShardOutput, 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 *SubscribeToShardOutput + if *v == nil { + sv = &SubscribeToShardOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeErrorExpiredIteratorException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + output := &types.ExpiredIteratorException{} + err := awsAwsjson11_deserializeDocumentExpiredIteratorException(&output, shape) + + 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) + return output +} + +func awsAwsjson11_deserializeErrorExpiredNextTokenException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + output := &types.ExpiredNextTokenException{} + err := awsAwsjson11_deserializeDocumentExpiredNextTokenException(&output, shape) + + 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) + return output +} + +func awsAwsjson11_deserializeErrorInvalidArgumentException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + output := &types.InvalidArgumentException{} + err := awsAwsjson11_deserializeDocumentInvalidArgumentException(&output, shape) + + 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) + return output +} + +func awsAwsjson11_deserializeErrorKMSAccessDeniedException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + output := &types.KMSAccessDeniedException{} + err := awsAwsjson11_deserializeDocumentKMSAccessDeniedException(&output, shape) + + 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) + return output +} + +func awsAwsjson11_deserializeErrorKMSDisabledException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + output := &types.KMSDisabledException{} + err := awsAwsjson11_deserializeDocumentKMSDisabledException(&output, shape) + + 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) + return output +} + +func awsAwsjson11_deserializeErrorKMSInvalidStateException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + output := &types.KMSInvalidStateException{} + err := awsAwsjson11_deserializeDocumentKMSInvalidStateException(&output, shape) + + 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) + return output +} + +func awsAwsjson11_deserializeErrorKMSNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + output := &types.KMSNotFoundException{} + err := awsAwsjson11_deserializeDocumentKMSNotFoundException(&output, shape) + + 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) + return output +} + +func awsAwsjson11_deserializeErrorKMSOptInRequired(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + output := &types.KMSOptInRequired{} + err := awsAwsjson11_deserializeDocumentKMSOptInRequired(&output, shape) + + 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) + return output +} + +func awsAwsjson11_deserializeErrorKMSThrottlingException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + output := &types.KMSThrottlingException{} + err := awsAwsjson11_deserializeDocumentKMSThrottlingException(&output, shape) + + 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) + return output +} + +func awsAwsjson11_deserializeErrorLimitExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + output := &types.LimitExceededException{} + err := awsAwsjson11_deserializeDocumentLimitExceededException(&output, shape) + + 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) + return output +} + +func awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + output := &types.ProvisionedThroughputExceededException{} + err := awsAwsjson11_deserializeDocumentProvisionedThroughputExceededException(&output, shape) + + 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) + return output +} + +func awsAwsjson11_deserializeErrorResourceInUseException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + output := &types.ResourceInUseException{} + err := awsAwsjson11_deserializeDocumentResourceInUseException(&output, shape) + + 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) + return output +} + +func awsAwsjson11_deserializeErrorResourceNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + output := &types.ResourceNotFoundException{} + err := awsAwsjson11_deserializeDocumentResourceNotFoundException(&output, shape) - for _, value := range shape { - var col types.EnhancedMetrics - destAddr := &col - if err := awsAwsjson11_deserializeDocumentEnhancedMetrics(&destAddr, value); err != nil { - return err + 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(), } - col = *destAddr - cv = append(cv, col) - + return err } - *v = cv - return nil + + errorBody.Seek(0, io.SeekStart) + return output } -func awsAwsjson11_deserializeDocumentExpiredIteratorException(v **types.ExpiredIteratorException, value interface{}) error { +func awsAwsjson11_deserializeDocumentConsumer(v **types.Consumer, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3856,62 +4833,56 @@ func awsAwsjson11_deserializeDocumentExpiredIteratorException(v **types.ExpiredI return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ExpiredIteratorException + var sv *types.Consumer if *v == nil { - sv = &types.ExpiredIteratorException{} + sv = &types.Consumer{} } else { sv = *v } for key, value := range shape { switch key { - case "message": + case "ConsumerARN": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + return fmt.Errorf("expected ConsumerARN to be of type string, got %T instead", value) } - sv.Message = ptr.String(jtv) + sv.ConsumerARN = ptr.String(jtv) } - default: - _, _ = key, value - - } - } - *v = sv - return nil -} + case "ConsumerCreationTimestamp": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.ConsumerCreationTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) -func awsAwsjson11_deserializeDocumentExpiredNextTokenException(v **types.ExpiredNextTokenException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } + } + } - var sv *types.ExpiredNextTokenException - if *v == nil { - sv = &types.ExpiredNextTokenException{} - } else { - sv = *v - } + case "ConsumerName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConsumerName to be of type string, got %T instead", value) + } + sv.ConsumerName = ptr.String(jtv) + } - for key, value := range shape { - switch key { - case "message": + case "ConsumerStatus": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + return fmt.Errorf("expected ConsumerStatus to be of type string, got %T instead", value) } - sv.Message = ptr.String(jtv) + sv.ConsumerStatus = types.ConsumerStatus(jtv) } default: @@ -3923,7 +4894,7 @@ func awsAwsjson11_deserializeDocumentExpiredNextTokenException(v **types.Expired return nil } -func awsAwsjson11_deserializeDocumentHashKeyRange(v **types.HashKeyRange, value interface{}) error { +func awsAwsjson11_deserializeDocumentConsumerDescription(v **types.ConsumerDescription, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3936,71 +4907,65 @@ func awsAwsjson11_deserializeDocumentHashKeyRange(v **types.HashKeyRange, value return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.HashKeyRange + var sv *types.ConsumerDescription if *v == nil { - sv = &types.HashKeyRange{} + sv = &types.ConsumerDescription{} } else { sv = *v } for key, value := range shape { switch key { - case "EndingHashKey": + case "ConsumerARN": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected HashKey to be of type string, got %T instead", value) + return fmt.Errorf("expected ConsumerARN to be of type string, got %T instead", value) } - sv.EndingHashKey = ptr.String(jtv) + sv.ConsumerARN = ptr.String(jtv) } - case "StartingHashKey": + case "ConsumerCreationTimestamp": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.ConsumerCreationTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "ConsumerName": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected HashKey to be of type string, got %T instead", value) + return fmt.Errorf("expected ConsumerName to be of type string, got %T instead", value) } - sv.StartingHashKey = ptr.String(jtv) + sv.ConsumerName = ptr.String(jtv) } - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentInvalidArgumentException(v **types.InvalidArgumentException, 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.InvalidArgumentException - if *v == nil { - sv = &types.InvalidArgumentException{} - } else { - sv = *v - } + case "ConsumerStatus": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConsumerStatus to be of type string, got %T instead", value) + } + sv.ConsumerStatus = types.ConsumerStatus(jtv) + } - for key, value := range shape { - switch key { - case "message": + case "StreamARN": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + return fmt.Errorf("expected StreamARN to be of type string, got %T instead", value) } - sv.Message = ptr.String(jtv) + sv.StreamARN = ptr.String(jtv) } default: @@ -4012,7 +4977,7 @@ func awsAwsjson11_deserializeDocumentInvalidArgumentException(v **types.InvalidA return nil } -func awsAwsjson11_deserializeDocumentKMSAccessDeniedException(v **types.KMSAccessDeniedException, value interface{}) error { +func awsAwsjson11_deserializeDocumentConsumerList(v *[]types.Consumer, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4020,39 +4985,33 @@ func awsAwsjson11_deserializeDocumentKMSAccessDeniedException(v **types.KMSAcces return nil } - shape, ok := value.(map[string]interface{}) + shape, ok := value.([]interface{}) if !ok { return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.KMSAccessDeniedException + var cv []types.Consumer if *v == nil { - sv = &types.KMSAccessDeniedException{} + cv = []types.Consumer{} } else { - sv = *v + cv = *v } - for key, value := range shape { - switch key { - case "message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - + for _, value := range shape { + var col types.Consumer + destAddr := &col + if err := awsAwsjson11_deserializeDocumentConsumer(&destAddr, value); err != nil { + return err } + col = *destAddr + cv = append(cv, col) + } - *v = sv + *v = cv return nil } -func awsAwsjson11_deserializeDocumentKMSDisabledException(v **types.KMSDisabledException, value interface{}) error { +func awsAwsjson11_deserializeDocumentEnhancedMetrics(v **types.EnhancedMetrics, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4065,22 +5024,18 @@ func awsAwsjson11_deserializeDocumentKMSDisabledException(v **types.KMSDisabledE return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.KMSDisabledException + var sv *types.EnhancedMetrics if *v == nil { - sv = &types.KMSDisabledException{} + sv = &types.EnhancedMetrics{} } else { sv = *v } for key, value := range shape { switch key { - case "message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) + case "ShardLevelMetrics": + if err := awsAwsjson11_deserializeDocumentMetricsNameList(&sv.ShardLevelMetrics, value); err != nil { + return err } default: @@ -4092,7 +5047,7 @@ func awsAwsjson11_deserializeDocumentKMSDisabledException(v **types.KMSDisabledE return nil } -func awsAwsjson11_deserializeDocumentKMSInvalidStateException(v **types.KMSInvalidStateException, value interface{}) error { +func awsAwsjson11_deserializeDocumentEnhancedMonitoringList(v *[]types.EnhancedMetrics, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4100,39 +5055,33 @@ func awsAwsjson11_deserializeDocumentKMSInvalidStateException(v **types.KMSInval return nil } - shape, ok := value.(map[string]interface{}) + shape, ok := value.([]interface{}) if !ok { return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.KMSInvalidStateException + var cv []types.EnhancedMetrics if *v == nil { - sv = &types.KMSInvalidStateException{} + cv = []types.EnhancedMetrics{} } else { - sv = *v + cv = *v } - for key, value := range shape { - switch key { - case "message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - + for _, value := range shape { + var col types.EnhancedMetrics + destAddr := &col + if err := awsAwsjson11_deserializeDocumentEnhancedMetrics(&destAddr, value); err != nil { + return err } + col = *destAddr + cv = append(cv, col) + } - *v = sv + *v = cv return nil } -func awsAwsjson11_deserializeDocumentKMSNotFoundException(v **types.KMSNotFoundException, value interface{}) error { +func awsAwsjson11_deserializeDocumentExpiredIteratorException(v **types.ExpiredIteratorException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4145,9 +5094,9 @@ func awsAwsjson11_deserializeDocumentKMSNotFoundException(v **types.KMSNotFoundE return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.KMSNotFoundException + var sv *types.ExpiredIteratorException if *v == nil { - sv = &types.KMSNotFoundException{} + sv = &types.ExpiredIteratorException{} } else { sv = *v } @@ -4172,7 +5121,7 @@ func awsAwsjson11_deserializeDocumentKMSNotFoundException(v **types.KMSNotFoundE return nil } -func awsAwsjson11_deserializeDocumentKMSOptInRequired(v **types.KMSOptInRequired, value interface{}) error { +func awsAwsjson11_deserializeDocumentExpiredNextTokenException(v **types.ExpiredNextTokenException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4185,9 +5134,9 @@ func awsAwsjson11_deserializeDocumentKMSOptInRequired(v **types.KMSOptInRequired return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.KMSOptInRequired + var sv *types.ExpiredNextTokenException if *v == nil { - sv = &types.KMSOptInRequired{} + sv = &types.ExpiredNextTokenException{} } else { sv = *v } @@ -4212,7 +5161,7 @@ func awsAwsjson11_deserializeDocumentKMSOptInRequired(v **types.KMSOptInRequired return nil } -func awsAwsjson11_deserializeDocumentKMSThrottlingException(v **types.KMSThrottlingException, value interface{}) error { +func awsAwsjson11_deserializeDocumentInvalidArgumentException(v **types.InvalidArgumentException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4225,9 +5174,9 @@ func awsAwsjson11_deserializeDocumentKMSThrottlingException(v **types.KMSThrottl return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.KMSThrottlingException + var sv *types.InvalidArgumentException if *v == nil { - sv = &types.KMSThrottlingException{} + sv = &types.InvalidArgumentException{} } else { sv = *v } @@ -4469,207 +5418,6 @@ func awsAwsjson11_deserializeDocumentPutRecordsResultEntryList(v *[]types.PutRec return nil } -func awsAwsjson11_deserializeDocumentRecord(v **types.Record, 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.Record - if *v == nil { - sv = &types.Record{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "ApproximateArrivalTimestamp": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.ApproximateArrivalTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) - - } - } - - case "Data": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Data to be []byte, got %T instead", value) - } - dv, err := base64.StdEncoding.DecodeString(jtv) - if err != nil { - return fmt.Errorf("failed to base64 decode Data, %w", err) - } - sv.Data = dv - } - - case "EncryptionType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected EncryptionType to be of type string, got %T instead", value) - } - sv.EncryptionType = types.EncryptionType(jtv) - } - - case "PartitionKey": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PartitionKey to be of type string, got %T instead", value) - } - sv.PartitionKey = ptr.String(jtv) - } - - case "SequenceNumber": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected SequenceNumber to be of type string, got %T instead", value) - } - sv.SequenceNumber = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRecordList(v *[]types.Record, 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.Record - if *v == nil { - cv = []types.Record{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.Record - destAddr := &col - if err := awsAwsjson11_deserializeDocumentRecord(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentResourceInUseException(v **types.ResourceInUseException, 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.ResourceInUseException - if *v == nil { - sv = &types.ResourceInUseException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentResourceNotFoundException(v **types.ResourceNotFoundException, 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.ResourceNotFoundException - if *v == nil { - sv = &types.ResourceNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - func awsAwsjson11_deserializeDocumentSequenceNumberRange(v **types.SequenceNumberRange, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -4787,42 +5535,6 @@ func awsAwsjson11_deserializeDocumentShard(v **types.Shard, value interface{}) e return nil } -func awsAwsjson11_deserializeDocumentShardIdList(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 ShardId to be of type string, got %T instead", value) - } - col = jtv - } - cv = append(cv, col) - - } - *v = cv - return nil -} - func awsAwsjson11_deserializeDocumentShardList(v *[]types.Shard, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/kinesis/eventstream.go b/service/kinesis/eventstream.go new file mode 100644 index 00000000000..05880ea6101 --- /dev/null +++ b/service/kinesis/eventstream.go @@ -0,0 +1,342 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package kinesis + +import ( + "context" + "fmt" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi" + "github.com/aws/aws-sdk-go-v2/service/kinesis/types" + smithy "github.com/aws/smithy-go" + "github.com/aws/smithy-go/middleware" + smithysync "github.com/aws/smithy-go/sync" + smithyhttp "github.com/aws/smithy-go/transport/http" + "io" + "io/ioutil" + "sync" +) + +// SubscribeToShardEventStreamReader provides the interface for reading events from +// a stream. +// +// The writer's Close method must allow multiple concurrent calls. +type SubscribeToShardEventStreamReader interface { + Events() <-chan types.SubscribeToShardEventStream + Close() error + Err() error +} + +type subscribeToShardEventStreamReadEvent interface { + isSubscribeToShardEventStreamReadEvent() +} + +type subscribeToShardEventStreamReadEventMessage struct { + Value types.SubscribeToShardEventStream +} + +func (*subscribeToShardEventStreamReadEventMessage) isSubscribeToShardEventStreamReadEvent() {} + +type subscribeToShardEventStreamReadEventInitialResponse struct { + Value interface{} +} + +func (*subscribeToShardEventStreamReadEventInitialResponse) isSubscribeToShardEventStreamReadEvent() { +} + +type subscribeToShardEventStream struct { + stream chan types.SubscribeToShardEventStream + decoder *eventstream.Decoder + eventStream io.ReadCloser + err *smithysync.OnceErr + payloadBuf []byte + done chan struct{} + closeOnce sync.Once + initialResponseDeserializer func(*eventstream.Message) (interface{}, error) + initialResponse chan interface{} +} + +func newSubscribeToShardEventStream(readCloser io.ReadCloser, decoder *eventstream.Decoder, ird func(*eventstream.Message) (interface{}, error)) *subscribeToShardEventStream { + w := &subscribeToShardEventStream{ + stream: make(chan types.SubscribeToShardEventStream), + decoder: decoder, + eventStream: readCloser, + err: smithysync.NewOnceErr(), + done: make(chan struct{}), + payloadBuf: make([]byte, 10*1024), + initialResponseDeserializer: ird, + initialResponse: make(chan interface{}, 1), + } + + go w.readEventStream() + + return w +} + +func (r *subscribeToShardEventStream) Events() <-chan types.SubscribeToShardEventStream { + return r.stream +} + +func (r *subscribeToShardEventStream) readEventStream() { + defer r.Close() + defer close(r.stream) + + defer func() { + close(r.initialResponse) + for range r.initialResponse { + } + }() + + for { + r.payloadBuf = r.payloadBuf[0:0] + decodedMessage, err := r.decoder.Decode(r.eventStream, r.payloadBuf) + if err != nil { + if err == io.EOF { + return + } + select { + case <-r.done: + return + default: + r.err.SetError(err) + return + } + } + + event, err := r.deserializeEventMessage(&decodedMessage) + if err != nil { + r.err.SetError(err) + return + } + + switch ev := event.(type) { + case *subscribeToShardEventStreamReadEventInitialResponse: + select { + case r.initialResponse <- ev.Value: + case <-r.done: + return + default: + } + case *subscribeToShardEventStreamReadEventMessage: + select { + case r.stream <- ev.Value: + case <-r.done: + return + } + default: + r.err.SetError(fmt.Errorf("unexpected event wrapper: %T", event)) + return + } + + } +} + +func (r *subscribeToShardEventStream) deserializeEventMessage(msg *eventstream.Message) (subscribeToShardEventStreamReadEvent, error) { + messageType := msg.Headers.Get(eventstreamapi.MessageTypeHeader) + if messageType == nil { + return nil, fmt.Errorf("%s event header not present", eventstreamapi.MessageTypeHeader) + } + + switch messageType.String() { + case eventstreamapi.EventMessageType: + eventType := msg.Headers.Get(eventstreamapi.EventTypeHeader) + if eventType == nil { + return nil, fmt.Errorf("%s event header not present", eventstreamapi.EventTypeHeader) + } + + if eventType.String() == "initial-response" { + v, err := r.initialResponseDeserializer(msg) + if err != nil { + return nil, err + } + return &subscribeToShardEventStreamReadEventInitialResponse{Value: v}, nil + } + + var v types.SubscribeToShardEventStream + if err := awsAwsjson11_deserializeEventStreamSubscribeToShardEventStream(&v, msg); err != nil { + return nil, err + } + return &subscribeToShardEventStreamReadEventMessage{Value: v}, nil + + case eventstreamapi.ExceptionMessageType: + return nil, awsAwsjson11_deserializeEventStreamExceptionSubscribeToShardEventStream(msg) + + case eventstreamapi.ErrorMessageType: + errorCode := "UnknownError" + errorMessage := errorCode + if header := msg.Headers.Get(eventstreamapi.ErrorCodeHeader); header != nil { + errorCode = header.String() + } + if header := msg.Headers.Get(eventstreamapi.ErrorMessageHeader); header != nil { + errorMessage = header.String() + } + return nil, &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + + default: + mc := msg.Clone() + return nil, &UnknownEventMessageError{ + Type: messageType.String(), + Message: &mc, + } + + } +} + +func (r *subscribeToShardEventStream) ErrorSet() <-chan struct{} { + return r.err.ErrorSet() +} + +func (r *subscribeToShardEventStream) Close() error { + r.closeOnce.Do(r.safeClose) + return r.Err() +} + +func (r *subscribeToShardEventStream) safeClose() { + close(r.done) + r.eventStream.Close() + +} + +func (r *subscribeToShardEventStream) Err() error { + return r.err.Err() +} + +func (r *subscribeToShardEventStream) Closed() <-chan struct{} { + return r.done +} + +type awsAwsjson11_deserializeOpEventStreamSubscribeToShard struct { + LogEventStreamWrites bool + LogEventStreamReads bool +} + +func (*awsAwsjson11_deserializeOpEventStreamSubscribeToShard) ID() string { + return "OperationEventStreamDeserializer" +} + +func (m *awsAwsjson11_deserializeOpEventStreamSubscribeToShard) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + defer func() { + if err == nil { + return + } + m.closeResponseBody(out) + }() + + logger := middleware.GetLogger(ctx) + + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, fmt.Errorf("unknown transport type: %T", in.Request) + } + _ = request + + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + deserializeOutput, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, fmt.Errorf("unknown transport type: %T", out.RawResponse) + } + _ = deserializeOutput + + output, ok := out.Result.(*SubscribeToShardOutput) + if out.Result != nil && !ok { + return out, metadata, fmt.Errorf("unexpected output result type: %T", out.Result) + } else if out.Result == nil { + output = &SubscribeToShardOutput{} + out.Result = output + } + + eventReader := newSubscribeToShardEventStream( + deserializeOutput.Body, + eventstream.NewDecoder(func(options *eventstream.DecoderOptions) { + options.Logger = logger + options.LogMessages = m.LogEventStreamReads + + }), + awsAwsjson11_deserializeEventMessageResponseSubscribeToShardOutput, + ) + defer func() { + if err == nil { + return + } + _ = eventReader.Close() + }() + + ir := <-eventReader.initialResponse + irv, ok := ir.(*SubscribeToShardOutput) + if !ok { + return out, metadata, fmt.Errorf("unexpected output result type: %T", ir) + } + *output = *irv + + output.eventStream = NewSubscribeToShardEventStream(func(stream *SubscribeToShardEventStream) { + stream.Reader = eventReader + }) + + go output.eventStream.waitStreamClose() + + return out, metadata, nil +} + +func (*awsAwsjson11_deserializeOpEventStreamSubscribeToShard) closeResponseBody(out middleware.DeserializeOutput) { + if resp, ok := out.RawResponse.(*smithyhttp.Response); ok && resp != nil && resp.Body != nil { + _, _ = io.Copy(ioutil.Discard, resp.Body) + _ = resp.Body.Close() + } +} + +func addEventStreamSubscribeToShardMiddleware(stack *middleware.Stack, options Options) error { + return stack.Deserialize.Insert(&awsAwsjson11_deserializeOpEventStreamSubscribeToShard{ + LogEventStreamWrites: options.ClientLogMode.IsRequestEventMessage(), + LogEventStreamReads: options.ClientLogMode.IsResponseEventMessage(), + }, "OperationDeserializer", middleware.Before) +} + +// UnknownEventMessageError provides an error when a message is received from the stream, +// but the reader is unable to determine what kind of message it is. +type UnknownEventMessageError struct { + Type string + Message *eventstream.Message +} + +// Error retruns the error message string. +func (e *UnknownEventMessageError) Error() string { + return "unknown event stream message type, " + e.Type +} + +func setSafeEventStreamClientLogMode(o *Options, operation string) { + switch operation { + case "SubscribeToShard": + toggleEventStreamClientLogMode(o, false, true) + return + + default: + return + + } +} +func toggleEventStreamClientLogMode(o *Options, request, response bool) { + mode := o.ClientLogMode + + if request && mode.IsRequestWithBody() { + mode.ClearRequestWithBody() + mode |= aws.LogRequest + } + + if response && mode.IsResponseWithBody() { + mode.ClearResponseWithBody() + mode |= aws.LogResponse + } + + o.ClientLogMode = mode + +} diff --git a/service/kinesis/generated.json b/service/kinesis/generated.json index 728235707aa..f20665f9026 100644 --- a/service/kinesis/generated.json +++ b/service/kinesis/generated.json @@ -1,6 +1,7 @@ { "dependencies": { "github.com/aws/aws-sdk-go-v2": "v1.4.0", + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream": "v0.0.0-00010101000000-000000000000", "github.com/aws/aws-sdk-go-v2/internal/configsources": "v0.0.0-00010101000000-000000000000", "github.com/aws/aws-sdk-go-v2/internal/endpoints/v2": "v2.0.0-00010101000000-000000000000", "github.com/aws/smithy-go": "v1.4.0", @@ -34,10 +35,12 @@ "api_op_SplitShard.go", "api_op_StartStreamEncryption.go", "api_op_StopStreamEncryption.go", + "api_op_SubscribeToShard.go", "api_op_UpdateShardCount.go", "deserializers.go", "doc.go", "endpoints.go", + "eventstream.go", "generated.json", "internal/endpoints/endpoints.go", "internal/endpoints/endpoints_test.go", @@ -46,6 +49,7 @@ "types/enums.go", "types/errors.go", "types/types.go", + "types/types_exported_test.go", "validators.go" ], "go": "1.15", diff --git a/service/kinesis/go.mod b/service/kinesis/go.mod index 5fd8b3e6729..5c93cc42a3a 100644 --- a/service/kinesis/go.mod +++ b/service/kinesis/go.mod @@ -4,14 +4,17 @@ go 1.15 require ( github.com/aws/aws-sdk-go-v2 v1.10.0 + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v0.0.0-00010101000000-000000000000 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) replace github.com/aws/aws-sdk-go-v2 => ../../ +replace github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream => ../../aws/protocol/eventstream/ + replace github.com/aws/aws-sdk-go-v2/internal/configsources => ../../internal/configsources/ replace github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 => ../../internal/endpoints/v2/ diff --git a/service/kinesis/go.sum b/service/kinesis/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/kinesis/go.sum +++ b/service/kinesis/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/kinesis/internal/testing/LICENSE.txt b/service/kinesis/internal/testing/LICENSE.txt new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/service/kinesis/internal/testing/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/service/kinesis/internal/testing/eventstream_test.go b/service/kinesis/internal/testing/eventstream_test.go new file mode 100644 index 00000000000..8f6a543d33c --- /dev/null +++ b/service/kinesis/internal/testing/eventstream_test.go @@ -0,0 +1,487 @@ +package testing + +import ( + "bytes" + "context" + "errors" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi" + "github.com/aws/aws-sdk-go-v2/service/internal/eventstreamtesting" + "github.com/aws/aws-sdk-go-v2/service/kinesis" + "github.com/aws/aws-sdk-go-v2/service/kinesis/types" + "github.com/aws/smithy-go" + "github.com/aws/smithy-go/document" + "github.com/aws/smithy-go/middleware" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "testing" +) + +func removeValidationMiddleware(stack *middleware.Stack) error { + _, err := stack.Initialize.Remove("OperationInputValidation") + return err +} + +func TestStartStreamTranscription_Read(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + Events: []eventstream.Message{ + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("initial-response"), + }, + }, + Payload: []byte(`{}`), + }, + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("SubscribeToShardEvent"), + }, + }, + Payload: []byte(`{ + "ContinuationSequenceNumber": "01234" +}`), + }, + }, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := kinesis.NewFromConfig(cfg) + resp, err := svc.SubscribeToShard(context.Background(), + &kinesis.SubscribeToShardInput{}, func(options *kinesis.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + defer resp.GetStream().Close() + + expectEvents := []types.SubscribeToShardEventStream{ + &types.SubscribeToShardEventStreamMemberSubscribeToShardEvent{ + Value: types.SubscribeToShardEvent{ContinuationSequenceNumber: aws.String("01234")}, + }, + } + + for i := 0; i < len(expectEvents); i++ { + event := <-resp.GetStream().Events() + if event == nil { + t.Errorf("%d, expect event, got nil", i) + } + if diff := cmp.Diff(expectEvents[i], event, cmpopts.IgnoreTypes(document.NoSerde{})); len(diff) > 0 { + t.Errorf("%d, %v", i, diff) + } + } + + if err := resp.GetStream().Err(); err != nil { + t.Errorf("expect no error, %v", err) + } +} + +func TestStartStreamTranscription_ReadClose(t *testing.T) { + sess, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + Events: []eventstream.Message{ + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("initial-response"), + }, + }, + Payload: []byte(`{}`), + }, + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("SubscribeToShardEvent"), + }, + }, + Payload: []byte(`{ + "ContinuationSequenceNumber": "01234" +}`), + }, + }, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := kinesis.NewFromConfig(sess) + resp, err := svc.SubscribeToShard(context.Background(), &kinesis.SubscribeToShardInput{}, func(options *kinesis.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + + // Assert calling Err before close does not close the stream. + resp.GetStream().Err() + select { + case _, ok := <-resp.GetStream().Events(): + if !ok { + t.Fatalf("expect stream not to be closed, but was") + } + default: + } + + resp.GetStream().Close() + <-resp.GetStream().Events() + + if err := resp.GetStream().Err(); err != nil { + t.Errorf("expect no error, %v", err) + } +} + +func TestStartStreamTranscription_ReadUnknownEvent(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + Events: []eventstream.Message{ + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("initial-response"), + }, + }, + Payload: []byte(`{}`), + }, + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("SubscribeToShardEvent"), + }, + }, + Payload: []byte(`{ + "ContinuationSequenceNumber": "01234" +}`), + }, + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("UnknownEventName"), + }, + }, + Payload: []byte(`{}`), + }, + }, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := kinesis.NewFromConfig(cfg) + resp, err := svc.SubscribeToShard(context.Background(), &kinesis.SubscribeToShardInput{}, func(options *kinesis.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + defer resp.GetStream().Close() + + expectEvents := []types.SubscribeToShardEventStream{ + &types.SubscribeToShardEventStreamMemberSubscribeToShardEvent{ + Value: types.SubscribeToShardEvent{ContinuationSequenceNumber: aws.String("01234")}, + }, + &types.UnknownUnionMember{Tag: "UnknownEventName", Value: func() []byte { + encoder := eventstream.NewEncoder() + buff := bytes.NewBuffer(nil) + encoder.Encode(buff, eventstream.Message{ + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("UnknownEventName"), + }, + }, + Payload: []byte(`{}`)}) + return buff.Bytes() + }()}, + } + + for i := 0; i < len(expectEvents); i++ { + event := <-resp.GetStream().Events() + if event == nil { + t.Errorf("%d, expect event, got nil", i) + } + if diff := cmp.Diff(expectEvents[i], event, cmpopts.IgnoreTypes(document.NoSerde{})); len(diff) > 0 { + t.Errorf("%d, %v", i, diff) + } + } + + if err := resp.GetStream().Err(); err != nil { + t.Errorf("expect no error, %v", err) + } +} + +func TestStartStreamTranscription_ReadException(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + Events: []eventstream.Message{ + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("initial-response"), + }, + }, + Payload: []byte(`{}`), + }, + { + Headers: eventstream.Headers{ + eventstreamtesting.EventExceptionTypeHeader, + { + Name: eventstreamapi.ExceptionTypeHeader, + Value: eventstream.StringValue("InternalFailureException"), + }, + }, + Payload: []byte(`{ + "message": "this is an exception message" +}`), + }, + }, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := kinesis.NewFromConfig(cfg) + resp, err := svc.SubscribeToShard(context.Background(), &kinesis.SubscribeToShardInput{}, func(options *kinesis.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + defer resp.GetStream().Close() + + <-resp.GetStream().Events() + + err = resp.GetStream().Err() + if err == nil { + t.Fatalf("expect err, got none") + } + + var expectedErr *types.InternalFailureException + if !errors.As(err, &expectedErr) { + t.Errorf("expect err type %T", expectedErr) + } + + if diff := cmp.Diff( + expectedErr, + &types.InternalFailureException{Message: aws.String("this is an exception message")}, + cmpopts.IgnoreTypes(document.NoSerde{}), + ); len(diff) > 0 { + t.Errorf(diff) + } +} + +func TestStartStreamTranscription_ReadUnmodeledException(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + Events: []eventstream.Message{ + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("initial-response"), + }, + }, + Payload: []byte(`{}`), + }, + { + Headers: eventstream.Headers{ + eventstreamtesting.EventExceptionTypeHeader, + { + Name: eventstreamapi.ExceptionTypeHeader, + Value: eventstream.StringValue("UnmodeledException"), + }, + }, + Payload: []byte(`{ + "Message": "this is an unmodeled exception message" +}`), + }, + }, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := kinesis.NewFromConfig(cfg) + resp, err := svc.SubscribeToShard(context.Background(), &kinesis.SubscribeToShardInput{}, func(options *kinesis.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + defer resp.GetStream().Close() + + <-resp.GetStream().Events() + + err = resp.GetStream().Err() + if err == nil { + t.Fatalf("expect err, got none") + } + + var expectedErr *smithy.GenericAPIError + if !errors.As(err, &expectedErr) { + t.Errorf("expect err type %T", expectedErr) + } + + if diff := cmp.Diff( + expectedErr, + &smithy.GenericAPIError{ + Code: "UnmodeledException", + Message: "this is an unmodeled exception message", + }, + cmpopts.IgnoreTypes(document.NoSerde{}), + ); len(diff) > 0 { + t.Errorf(diff) + } +} + +func TestStartStreamTranscription_ReadErrorEvent(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + Events: []eventstream.Message{ + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("initial-response"), + }, + }, + Payload: []byte(`{}`), + }, + { + Headers: eventstream.Headers{ + { + Name: eventstreamapi.MessageTypeHeader, + Value: eventstream.StringValue(eventstreamapi.ErrorMessageType), + }, + { + Name: eventstreamapi.ErrorCodeHeader, + Value: eventstream.StringValue("AnErrorCode"), + }, + { + Name: eventstreamapi.ErrorMessageHeader, + Value: eventstream.StringValue("An error message"), + }, + }, + }, + }, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := kinesis.NewFromConfig(cfg) + resp, err := svc.SubscribeToShard(context.Background(), &kinesis.SubscribeToShardInput{}, func(options *kinesis.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + defer resp.GetStream().Close() + + <-resp.GetStream().Events() + + err = resp.GetStream().Err() + if err == nil { + t.Fatalf("expect err, got none") + } + + var expectedErr *smithy.GenericAPIError + if !errors.As(err, &expectedErr) { + t.Errorf("expect err type %T", expectedErr) + } + + if diff := cmp.Diff( + expectedErr, + &smithy.GenericAPIError{ + Code: "AnErrorCode", + Message: "An error message", + }, + cmpopts.IgnoreTypes(document.NoSerde{}), + ); len(diff) > 0 { + t.Errorf(diff) + } +} + +func TestSubscribeToShard_ResponseError(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + StaticResponse: &eventstreamtesting.StaticResponse{ + StatusCode: 500, + Body: []byte(`{ + "Message": "this is an exception message" +}`), + }, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := kinesis.NewFromConfig(cfg) + _, err = svc.SubscribeToShard(context.Background(), &kinesis.SubscribeToShardInput{}, func(options *kinesis.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err == nil { + t.Fatal("expect error got nil") + } + + var expectedErr *smithy.GenericAPIError + if !errors.As(err, &expectedErr) { + t.Errorf("expect err type %T, got %v", expectedErr, err) + } + + if diff := cmp.Diff( + expectedErr, + &smithy.GenericAPIError{ + Code: "UnknownError", + Message: "this is an exception message", + }, + cmpopts.IgnoreTypes(document.NoSerde{}), + ); len(diff) > 0 { + t.Errorf(diff) + } +} diff --git a/service/kinesis/internal/testing/go.mod b/service/kinesis/internal/testing/go.mod new file mode 100644 index 00000000000..17af4838bd7 --- /dev/null +++ b/service/kinesis/internal/testing/go.mod @@ -0,0 +1,34 @@ +module github.com/aws/aws-sdk-go-v2/service/transcribestreaming/internal/testing + +go 1.15 + +require ( + github.com/aws/aws-sdk-go-v2 v1.10.0 + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v0.0.0-00010101000000-000000000000 + github.com/aws/aws-sdk-go-v2/service/internal/eventstreamtesting v0.0.0-00010101000000-000000000000 + github.com/aws/aws-sdk-go-v2/service/kinesis v1.6.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f + github.com/google/go-cmp v0.5.6 +) + +replace github.com/aws/aws-sdk-go-v2 => ../../../../ + +replace github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream => ../../../../aws/protocol/eventstream/ + +replace github.com/aws/aws-sdk-go-v2/service/internal/eventstreamtesting => ../../../../service/internal/eventstreamtesting/ + +replace github.com/aws/aws-sdk-go-v2/credentials => ../../../../credentials/ + +replace github.com/aws/aws-sdk-go-v2/feature/ec2/imds => ../../../../feature/ec2/imds/ + +replace github.com/aws/aws-sdk-go-v2/internal/configsources => ../../../../internal/configsources + +replace github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 => ../../../../internal/endpoints/v2/ + +replace github.com/aws/aws-sdk-go-v2/service/internal/presigned-url => ../../../../service/internal/presigned-url/ + +replace github.com/aws/aws-sdk-go-v2/service/kinesis => ../../../../service/kinesis/ + +replace github.com/aws/aws-sdk-go-v2/service/sso => ../../../../service/sso/ + +replace github.com/aws/aws-sdk-go-v2/service/sts => ../../../../service/sts/ diff --git a/service/kinesis/internal/testing/go.sum b/service/kinesis/internal/testing/go.sum new file mode 100644 index 00000000000..35c59e492ff --- /dev/null +++ b/service/kinesis/internal/testing/go.sum @@ -0,0 +1,30 @@ +github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 h1:/0GQVY8J25hww4J9a+rYKDr9ryGh2KdIdR8YHBP54h0= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7/go.mod h1:QXoZAXmBEHeMIFiBr3XumpTyoNTXTQbqPV+qaGX7gfY= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +golang.org/x/net v0.0.0-20211008194852-3b03d305991f h1:1scJEYZBaF48BaG6tYbtxmLcXqwYGSfGcMoStTqkkIw= +golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/service/kinesis/internal/testing/go_module_metadata.go b/service/kinesis/internal/testing/go_module_metadata.go new file mode 100644 index 00000000000..ee2810d5b76 --- /dev/null +++ b/service/kinesis/internal/testing/go_module_metadata.go @@ -0,0 +1,6 @@ +// Code generated by internal/repotools/cmd/updatemodulemeta DO NOT EDIT. + +package testing + +// goModuleVersion is the tagged release for this module +const goModuleVersion = "tip" diff --git a/service/kinesis/serializers.go b/service/kinesis/serializers.go index c86c0700f44..818bbf6a329 100644 --- a/service/kinesis/serializers.go +++ b/service/kinesis/serializers.go @@ -1237,6 +1237,53 @@ func (m *awsAwsjson11_serializeOpStopStreamEncryption) HandleSerialize(ctx conte return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpSubscribeToShard struct { +} + +func (*awsAwsjson11_serializeOpSubscribeToShard) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpSubscribeToShard) 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.(*SubscribeToShardInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("Kinesis_20131202.SubscribeToShard") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentSubscribeToShardInput(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 = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpUpdateShardCount struct { } @@ -1351,6 +1398,28 @@ func awsAwsjson11_serializeDocumentShardFilter(v *types.ShardFilter, value smith return nil } +func awsAwsjson11_serializeDocumentStartingPosition(v *types.StartingPosition, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.SequenceNumber != nil { + ok := object.Key("SequenceNumber") + ok.String(*v.SequenceNumber) + } + + if v.Timestamp != nil { + ok := object.Key("Timestamp") + ok.Double(smithytime.FormatEpochSeconds(*v.Timestamp)) + } + + if len(v.Type) > 0 { + ok := object.Key("Type") + ok.String(string(v.Type)) + } + + return nil +} + func awsAwsjson11_serializeDocumentTagKeyList(v []string, value smithyjson.Value) error { array := value.Array() defer array.Close() @@ -1912,6 +1981,30 @@ func awsAwsjson11_serializeOpDocumentStopStreamEncryptionInput(v *StopStreamEncr return nil } +func awsAwsjson11_serializeOpDocumentSubscribeToShardInput(v *SubscribeToShardInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ConsumerARN != nil { + ok := object.Key("ConsumerARN") + ok.String(*v.ConsumerARN) + } + + if v.ShardId != nil { + ok := object.Key("ShardId") + ok.String(*v.ShardId) + } + + if v.StartingPosition != nil { + ok := object.Key("StartingPosition") + if err := awsAwsjson11_serializeDocumentStartingPosition(v.StartingPosition, ok); err != nil { + return err + } + } + + return nil +} + func awsAwsjson11_serializeOpDocumentUpdateShardCountInput(v *UpdateShardCountInput, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/kinesis/types/errors.go b/service/kinesis/types/errors.go index 67dc6104401..3e0702798e4 100644 --- a/service/kinesis/types/errors.go +++ b/service/kinesis/types/errors.go @@ -45,6 +45,26 @@ func (e *ExpiredNextTokenException) ErrorMessage() string { func (e *ExpiredNextTokenException) ErrorCode() string { return "ExpiredNextTokenException" } func (e *ExpiredNextTokenException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +// The processing of the request failed because of an unknown error, exception, or +// failure. +type InternalFailureException struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *InternalFailureException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *InternalFailureException) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *InternalFailureException) ErrorCode() string { return "InternalFailureException" } +func (e *InternalFailureException) ErrorFault() smithy.ErrorFault { return smithy.FaultServer } + // A specified parameter exceeds its restrictions, is not supported, or can't be // used. For more information, see the returned message. type InvalidArgumentException struct { diff --git a/service/kinesis/types/types.go b/service/kinesis/types/types.go index ae4293b6bef..636b8a5a2a8 100644 --- a/service/kinesis/types/types.go +++ b/service/kinesis/types/types.go @@ -291,6 +291,39 @@ type ShardFilter struct { noSmithyDocumentSerde } +// +type StartingPosition struct { + + // You can set the starting position to one of the following values: + // AT_SEQUENCE_NUMBER: Start streaming from the position denoted by the sequence + // number specified in the SequenceNumber field. AFTER_SEQUENCE_NUMBER: Start + // streaming right after the position denoted by the sequence number specified in + // the SequenceNumber field. AT_TIMESTAMP: Start streaming from the position + // denoted by the time stamp specified in the Timestamp field. TRIM_HORIZON: Start + // streaming at the last untrimmed record in the shard, which is the oldest data + // record in the shard. LATEST: Start streaming just after the most recent record + // in the shard, so that you always read the most recent data in the shard. + // + // This member is required. + Type ShardIteratorType + + // The sequence number of the data record in the shard from which to start + // streaming. To specify a sequence number, set StartingPosition to + // AT_SEQUENCE_NUMBER or AFTER_SEQUENCE_NUMBER. + SequenceNumber *string + + // The time stamp of the data record from which to start reading. To specify a time + // stamp, set StartingPosition to Type AT_TIMESTAMP. A time stamp is the Unix epoch + // date with precision in milliseconds. For example, 2016-04-04T19:58:46.480-00:00 + // or 1459799926.480. If a record with this exact time stamp does not exist, + // records will be streamed from the next (later) record. If the time stamp is + // older than the current trim horizon, records will be streamed from the oldest + // untrimmed data record (TRIM_HORIZON). + Timestamp *time.Time + + noSmithyDocumentSerde +} + // Represents the output for DescribeStream. type StreamDescription struct { @@ -473,6 +506,56 @@ type StreamDescriptionSummary struct { noSmithyDocumentSerde } +// After you call SubscribeToShard, Kinesis Data Streams sends events of this type +// over an HTTP/2 connection to your consumer. +type SubscribeToShardEvent struct { + + // Use this as SequenceNumber in the next call to SubscribeToShard, with + // StartingPosition set to AT_SEQUENCE_NUMBER or AFTER_SEQUENCE_NUMBER. Use + // ContinuationSequenceNumber for checkpointing because it captures your shard + // progress even when no data is written to the shard. + // + // This member is required. + ContinuationSequenceNumber *string + + // The number of milliseconds the read records are from the tip of the stream, + // indicating how far behind current time the consumer is. A value of zero + // indicates that record processing is caught up, and there are no new records to + // process at this moment. + // + // This member is required. + MillisBehindLatest *int64 + + // + // + // This member is required. + Records []Record + + ChildShards []ChildShard + + noSmithyDocumentSerde +} + +// This is a tagged union for all of the types of events an enhanced fan-out +// consumer can receive over HTTP/2 after a call to SubscribeToShard. +// +// The following types satisfy this interface: +// SubscribeToShardEventStreamMemberSubscribeToShardEvent +type SubscribeToShardEventStream interface { + isSubscribeToShardEventStream() +} + +// After you call SubscribeToShard, Kinesis Data Streams sends events of this type +// to your consumer. For an example of how to handle these events, see Enhanced +// Fan-Out Using the Kinesis Data Streams API. +type SubscribeToShardEventStreamMemberSubscribeToShardEvent struct { + Value SubscribeToShardEvent + + noSmithyDocumentSerde +} + +func (*SubscribeToShardEventStreamMemberSubscribeToShardEvent) isSubscribeToShardEventStream() {} + // Metadata assigned to the stream, consisting of a key-value pair. type Tag struct { @@ -491,3 +574,14 @@ type Tag struct { } type noSmithyDocumentSerde = smithydocument.NoSerde + +// UnknownUnionMember is returned when a union member is returned over the wire, +// but has an unknown tag. +type UnknownUnionMember struct { + Tag string + Value []byte + + noSmithyDocumentSerde +} + +func (*UnknownUnionMember) isSubscribeToShardEventStream() {} diff --git a/service/kinesis/types/types_exported_test.go b/service/kinesis/types/types_exported_test.go new file mode 100644 index 00000000000..7f9a0d7c264 --- /dev/null +++ b/service/kinesis/types/types_exported_test.go @@ -0,0 +1,26 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package types_test + +import ( + "fmt" + "github.com/aws/aws-sdk-go-v2/service/kinesis/types" +) + +func ExampleSubscribeToShardEventStream_outputUsage() { + var union types.SubscribeToShardEventStream + // type switches can be used to check the union value + switch v := union.(type) { + case *types.SubscribeToShardEventStreamMemberSubscribeToShardEvent: + _ = v.Value // Value is types.SubscribeToShardEvent + + case *types.UnknownUnionMember: + fmt.Println("unknown tag:", v.Tag) + + default: + fmt.Println("union is nil or unknown type") + + } +} + +var _ *types.SubscribeToShardEvent diff --git a/service/kinesis/validators.go b/service/kinesis/validators.go index 254a6fa8cea..fadb5d4d013 100644 --- a/service/kinesis/validators.go +++ b/service/kinesis/validators.go @@ -450,6 +450,26 @@ func (m *validateOpStopStreamEncryption) HandleInitialize(ctx context.Context, i return next.HandleInitialize(ctx, in) } +type validateOpSubscribeToShard struct { +} + +func (*validateOpSubscribeToShard) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpSubscribeToShard) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*SubscribeToShardInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpSubscribeToShardInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpUpdateShardCount struct { } @@ -558,6 +578,10 @@ func addOpStopStreamEncryptionValidationMiddleware(stack *middleware.Stack) erro return stack.Initialize.Add(&validateOpStopStreamEncryption{}, middleware.After) } +func addOpSubscribeToShardValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpSubscribeToShard{}, middleware.After) +} + func addOpUpdateShardCountValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdateShardCount{}, middleware.After) } @@ -612,6 +636,21 @@ func validateShardFilter(v *types.ShardFilter) error { } } +func validateStartingPosition(v *types.StartingPosition) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "StartingPosition"} + if len(v.Type) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("Type")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpAddTagsToStreamInput(v *AddTagsToStreamInput) error { if v == nil { return nil @@ -1011,6 +1050,31 @@ func validateOpStopStreamEncryptionInput(v *StopStreamEncryptionInput) error { } } +func validateOpSubscribeToShardInput(v *SubscribeToShardInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "SubscribeToShardInput"} + if v.ConsumerARN == nil { + invalidParams.Add(smithy.NewErrParamRequired("ConsumerARN")) + } + if v.ShardId == nil { + invalidParams.Add(smithy.NewErrParamRequired("ShardId")) + } + if v.StartingPosition == nil { + invalidParams.Add(smithy.NewErrParamRequired("StartingPosition")) + } else if v.StartingPosition != nil { + if err := validateStartingPosition(v.StartingPosition); err != nil { + invalidParams.AddNested("StartingPosition", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpUpdateShardCountInput(v *UpdateShardCountInput) error { if v == nil { return nil diff --git a/service/kinesisanalytics/go.mod b/service/kinesisanalytics/go.mod index c46a6e749fd..0dafba9232d 100644 --- a/service/kinesisanalytics/go.mod +++ b/service/kinesisanalytics/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/kinesisanalytics/go.sum b/service/kinesisanalytics/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/kinesisanalytics/go.sum +++ b/service/kinesisanalytics/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/kinesisanalyticsv2/go.mod b/service/kinesisanalyticsv2/go.mod index 8b1b2eceac3..23079c1a1d9 100644 --- a/service/kinesisanalyticsv2/go.mod +++ b/service/kinesisanalyticsv2/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/kinesisanalyticsv2/go.sum b/service/kinesisanalyticsv2/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/kinesisanalyticsv2/go.sum +++ b/service/kinesisanalyticsv2/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/kinesisvideo/go.mod b/service/kinesisvideo/go.mod index 7dfd7bc8640..e1a53f0c0cc 100644 --- a/service/kinesisvideo/go.mod +++ b/service/kinesisvideo/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/kinesisvideo/go.sum b/service/kinesisvideo/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/kinesisvideo/go.sum +++ b/service/kinesisvideo/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/kinesisvideoarchivedmedia/go.mod b/service/kinesisvideoarchivedmedia/go.mod index d81a83f86db..12620f0c285 100644 --- a/service/kinesisvideoarchivedmedia/go.mod +++ b/service/kinesisvideoarchivedmedia/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/kinesisvideoarchivedmedia/go.sum b/service/kinesisvideoarchivedmedia/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/kinesisvideoarchivedmedia/go.sum +++ b/service/kinesisvideoarchivedmedia/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/kinesisvideomedia/go.mod b/service/kinesisvideomedia/go.mod index d17c5861ced..7bcd6386b0f 100644 --- a/service/kinesisvideomedia/go.mod +++ b/service/kinesisvideomedia/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/kinesisvideomedia/go.sum b/service/kinesisvideomedia/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/kinesisvideomedia/go.sum +++ b/service/kinesisvideomedia/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/kinesisvideosignaling/go.mod b/service/kinesisvideosignaling/go.mod index 1c6d744e47d..279a5220cdf 100644 --- a/service/kinesisvideosignaling/go.mod +++ b/service/kinesisvideosignaling/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/kinesisvideosignaling/go.sum b/service/kinesisvideosignaling/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/kinesisvideosignaling/go.sum +++ b/service/kinesisvideosignaling/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/kms/go.mod b/service/kms/go.mod index 0062a323919..0719f4a0d7a 100644 --- a/service/kms/go.mod +++ b/service/kms/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/kms/go.sum b/service/kms/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/kms/go.sum +++ b/service/kms/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/lakeformation/go.mod b/service/lakeformation/go.mod index 00a3f4479c8..d44ae8d2207 100644 --- a/service/lakeformation/go.mod +++ b/service/lakeformation/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/lakeformation/go.sum b/service/lakeformation/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/lakeformation/go.sum +++ b/service/lakeformation/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/lambda/go.mod b/service/lambda/go.mod index 8c13433dc29..09dec3a9947 100644 --- a/service/lambda/go.mod +++ b/service/lambda/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/lambda/go.sum b/service/lambda/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/lambda/go.sum +++ b/service/lambda/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/lexmodelbuildingservice/go.mod b/service/lexmodelbuildingservice/go.mod index d13ea276562..166b8db15c4 100644 --- a/service/lexmodelbuildingservice/go.mod +++ b/service/lexmodelbuildingservice/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/lexmodelbuildingservice/go.sum b/service/lexmodelbuildingservice/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/lexmodelbuildingservice/go.sum +++ b/service/lexmodelbuildingservice/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/lexmodelsv2/go.mod b/service/lexmodelsv2/go.mod index dbf1e78ea8c..3a26df7957a 100644 --- a/service/lexmodelsv2/go.mod +++ b/service/lexmodelsv2/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/lexmodelsv2/go.sum b/service/lexmodelsv2/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/lexmodelsv2/go.sum +++ b/service/lexmodelsv2/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/lexruntimeservice/go.mod b/service/lexruntimeservice/go.mod index d23550e9edc..4a5ba1ab53b 100644 --- a/service/lexruntimeservice/go.mod +++ b/service/lexruntimeservice/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/lexruntimeservice/go.sum b/service/lexruntimeservice/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/lexruntimeservice/go.sum +++ b/service/lexruntimeservice/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/lexruntimev2/go.mod b/service/lexruntimev2/go.mod index 349b6951863..2a9cf818d46 100644 --- a/service/lexruntimev2/go.mod +++ b/service/lexruntimev2/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/lexruntimev2/go.sum b/service/lexruntimev2/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/lexruntimev2/go.sum +++ b/service/lexruntimev2/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/licensemanager/go.mod b/service/licensemanager/go.mod index ded39d52ef6..5faf0499385 100644 --- a/service/licensemanager/go.mod +++ b/service/licensemanager/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/licensemanager/go.sum b/service/licensemanager/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/licensemanager/go.sum +++ b/service/licensemanager/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/lightsail/go.mod b/service/lightsail/go.mod index 251dc3994c7..53657462865 100644 --- a/service/lightsail/go.mod +++ b/service/lightsail/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/lightsail/go.sum b/service/lightsail/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/lightsail/go.sum +++ b/service/lightsail/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/location/go.mod b/service/location/go.mod index d9861faaf3f..d29c5d829bf 100644 --- a/service/location/go.mod +++ b/service/location/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/location/go.sum b/service/location/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/location/go.sum +++ b/service/location/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/lookoutequipment/go.mod b/service/lookoutequipment/go.mod index 3e684b96118..37d11d4883c 100644 --- a/service/lookoutequipment/go.mod +++ b/service/lookoutequipment/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/lookoutequipment/go.sum b/service/lookoutequipment/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/lookoutequipment/go.sum +++ b/service/lookoutequipment/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/lookoutmetrics/go.mod b/service/lookoutmetrics/go.mod index af4850f8a24..8fc5d6ecd7d 100644 --- a/service/lookoutmetrics/go.mod +++ b/service/lookoutmetrics/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/lookoutmetrics/go.sum b/service/lookoutmetrics/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/lookoutmetrics/go.sum +++ b/service/lookoutmetrics/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/lookoutvision/go.mod b/service/lookoutvision/go.mod index f57cc37dd03..dfd8f6570d4 100644 --- a/service/lookoutvision/go.mod +++ b/service/lookoutvision/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/lookoutvision/go.sum b/service/lookoutvision/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/lookoutvision/go.sum +++ b/service/lookoutvision/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/machinelearning/go.mod b/service/machinelearning/go.mod index e4304b614c1..e35812d0807 100644 --- a/service/machinelearning/go.mod +++ b/service/machinelearning/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/machinelearning/go.sum b/service/machinelearning/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/machinelearning/go.sum +++ b/service/machinelearning/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/macie/go.mod b/service/macie/go.mod index 04944462e94..64d017096d1 100644 --- a/service/macie/go.mod +++ b/service/macie/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/macie/go.sum b/service/macie/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/macie/go.sum +++ b/service/macie/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/macie2/go.mod b/service/macie2/go.mod index 98eab4e097e..91754a71067 100644 --- a/service/macie2/go.mod +++ b/service/macie2/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/macie2/go.sum b/service/macie2/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/macie2/go.sum +++ b/service/macie2/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/managedblockchain/go.mod b/service/managedblockchain/go.mod index 75838723fe1..334e09a30aa 100644 --- a/service/managedblockchain/go.mod +++ b/service/managedblockchain/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/managedblockchain/go.sum b/service/managedblockchain/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/managedblockchain/go.sum +++ b/service/managedblockchain/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/marketplacecatalog/go.mod b/service/marketplacecatalog/go.mod index 18984dc1233..4b30889c172 100644 --- a/service/marketplacecatalog/go.mod +++ b/service/marketplacecatalog/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/marketplacecatalog/go.sum b/service/marketplacecatalog/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/marketplacecatalog/go.sum +++ b/service/marketplacecatalog/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/marketplacecommerceanalytics/go.mod b/service/marketplacecommerceanalytics/go.mod index 634ef17adb6..166eab77180 100644 --- a/service/marketplacecommerceanalytics/go.mod +++ b/service/marketplacecommerceanalytics/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/marketplacecommerceanalytics/go.sum b/service/marketplacecommerceanalytics/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/marketplacecommerceanalytics/go.sum +++ b/service/marketplacecommerceanalytics/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/marketplaceentitlementservice/go.mod b/service/marketplaceentitlementservice/go.mod index c4616588a6b..6fdb1e5ccd7 100644 --- a/service/marketplaceentitlementservice/go.mod +++ b/service/marketplaceentitlementservice/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/marketplaceentitlementservice/go.sum b/service/marketplaceentitlementservice/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/marketplaceentitlementservice/go.sum +++ b/service/marketplaceentitlementservice/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/marketplaceentitlementservice/types/types.go b/service/marketplaceentitlementservice/types/types.go index a975c76e7bd..817d56ae8a1 100644 --- a/service/marketplaceentitlementservice/types/types.go +++ b/service/marketplaceentitlementservice/types/types.go @@ -44,23 +44,23 @@ type Entitlement struct { // entitled to for the product. // // The following types satisfy this interface: -// EntitlementValueMemberIntegerValue -// EntitlementValueMemberDoubleValue // EntitlementValueMemberBooleanValue +// EntitlementValueMemberDoubleValue +// EntitlementValueMemberIntegerValue // EntitlementValueMemberStringValue type EntitlementValue interface { isEntitlementValue() } -// The IntegerValue field will be populated with an integer value when the -// entitlement is an integer type. Otherwise, the field will not be set. -type EntitlementValueMemberIntegerValue struct { - Value int32 +// The BooleanValue field will be populated with a boolean value when the +// entitlement is a boolean type. Otherwise, the field will not be set. +type EntitlementValueMemberBooleanValue struct { + Value bool noSmithyDocumentSerde } -func (*EntitlementValueMemberIntegerValue) isEntitlementValue() {} +func (*EntitlementValueMemberBooleanValue) isEntitlementValue() {} // The DoubleValue field will be populated with a double value when the entitlement // is a double type. Otherwise, the field will not be set. @@ -72,15 +72,15 @@ type EntitlementValueMemberDoubleValue struct { func (*EntitlementValueMemberDoubleValue) isEntitlementValue() {} -// The BooleanValue field will be populated with a boolean value when the -// entitlement is a boolean type. Otherwise, the field will not be set. -type EntitlementValueMemberBooleanValue struct { - Value bool +// The IntegerValue field will be populated with an integer value when the +// entitlement is an integer type. Otherwise, the field will not be set. +type EntitlementValueMemberIntegerValue struct { + Value int32 noSmithyDocumentSerde } -func (*EntitlementValueMemberBooleanValue) isEntitlementValue() {} +func (*EntitlementValueMemberIntegerValue) isEntitlementValue() {} // The StringValue field will be populated with a string value when the entitlement // is a string type. Otherwise, the field will not be set. diff --git a/service/marketplacemetering/go.mod b/service/marketplacemetering/go.mod index 007877dd388..27505c87a5c 100644 --- a/service/marketplacemetering/go.mod +++ b/service/marketplacemetering/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/marketplacemetering/go.sum b/service/marketplacemetering/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/marketplacemetering/go.sum +++ b/service/marketplacemetering/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/mediaconnect/go.mod b/service/mediaconnect/go.mod index 250fd2ee0b0..fbecc4365cc 100644 --- a/service/mediaconnect/go.mod +++ b/service/mediaconnect/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/mediaconnect/go.sum b/service/mediaconnect/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/mediaconnect/go.sum +++ b/service/mediaconnect/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/mediaconvert/go.mod b/service/mediaconvert/go.mod index 1eb5b6f4f8d..ed8f99e63cb 100644 --- a/service/mediaconvert/go.mod +++ b/service/mediaconvert/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/mediaconvert/go.sum b/service/mediaconvert/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/mediaconvert/go.sum +++ b/service/mediaconvert/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/medialive/go.mod b/service/medialive/go.mod index f73d0b6f81b..10ee4ae9b4c 100644 --- a/service/medialive/go.mod +++ b/service/medialive/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/medialive/go.sum b/service/medialive/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/medialive/go.sum +++ b/service/medialive/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/mediapackage/go.mod b/service/mediapackage/go.mod index 87d284db3e6..8cf10bd6b30 100644 --- a/service/mediapackage/go.mod +++ b/service/mediapackage/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/mediapackage/go.sum b/service/mediapackage/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/mediapackage/go.sum +++ b/service/mediapackage/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/mediapackagevod/go.mod b/service/mediapackagevod/go.mod index 95343dc1223..cef64f507f2 100644 --- a/service/mediapackagevod/go.mod +++ b/service/mediapackagevod/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/mediapackagevod/go.sum b/service/mediapackagevod/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/mediapackagevod/go.sum +++ b/service/mediapackagevod/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/mediastore/go.mod b/service/mediastore/go.mod index 833c9c8b858..95cedf3b76d 100644 --- a/service/mediastore/go.mod +++ b/service/mediastore/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/mediastore/go.sum b/service/mediastore/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/mediastore/go.sum +++ b/service/mediastore/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/mediastoredata/go.mod b/service/mediastoredata/go.mod index 712f754e2c2..24d66db6ca6 100644 --- a/service/mediastoredata/go.mod +++ b/service/mediastoredata/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/mediastoredata/go.sum b/service/mediastoredata/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/mediastoredata/go.sum +++ b/service/mediastoredata/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/mediatailor/go.mod b/service/mediatailor/go.mod index 4d5746207fa..2ab64e95f31 100644 --- a/service/mediatailor/go.mod +++ b/service/mediatailor/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/mediatailor/go.sum b/service/mediatailor/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/mediatailor/go.sum +++ b/service/mediatailor/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/memorydb/go.mod b/service/memorydb/go.mod index 717a524ca19..8292302e5bd 100644 --- a/service/memorydb/go.mod +++ b/service/memorydb/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/memorydb/go.sum b/service/memorydb/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/memorydb/go.sum +++ b/service/memorydb/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/mgn/go.mod b/service/mgn/go.mod index 6adaef52180..05be8e051e7 100644 --- a/service/mgn/go.mod +++ b/service/mgn/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/mgn/go.sum b/service/mgn/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/mgn/go.sum +++ b/service/mgn/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/migrationhub/go.mod b/service/migrationhub/go.mod index 7ceca9c9c82..1ecc7b622ea 100644 --- a/service/migrationhub/go.mod +++ b/service/migrationhub/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/migrationhub/go.sum b/service/migrationhub/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/migrationhub/go.sum +++ b/service/migrationhub/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/migrationhubconfig/go.mod b/service/migrationhubconfig/go.mod index ca18593654f..88fc3fd8d9c 100644 --- a/service/migrationhubconfig/go.mod +++ b/service/migrationhubconfig/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/migrationhubconfig/go.sum b/service/migrationhubconfig/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/migrationhubconfig/go.sum +++ b/service/migrationhubconfig/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/mobile/go.mod b/service/mobile/go.mod index 399d7081963..19c054d18cd 100644 --- a/service/mobile/go.mod +++ b/service/mobile/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/mobile/go.sum b/service/mobile/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/mobile/go.sum +++ b/service/mobile/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/mq/go.mod b/service/mq/go.mod index acfbe535fe5..4cb8160781b 100644 --- a/service/mq/go.mod +++ b/service/mq/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/mq/go.sum b/service/mq/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/mq/go.sum +++ b/service/mq/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/mturk/go.mod b/service/mturk/go.mod index 9c1e87613ae..3add93f84e5 100644 --- a/service/mturk/go.mod +++ b/service/mturk/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/mturk/go.sum b/service/mturk/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/mturk/go.sum +++ b/service/mturk/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/mwaa/go.mod b/service/mwaa/go.mod index 3510e45afb9..82552a5fda2 100644 --- a/service/mwaa/go.mod +++ b/service/mwaa/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/mwaa/go.sum b/service/mwaa/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/mwaa/go.sum +++ b/service/mwaa/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/neptune/go.mod b/service/neptune/go.mod index 13db32b4152..2adb4680085 100644 --- a/service/neptune/go.mod +++ b/service/neptune/go.mod @@ -7,7 +7,7 @@ require ( github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.4.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/neptune/go.sum b/service/neptune/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/neptune/go.sum +++ b/service/neptune/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/networkfirewall/go.mod b/service/networkfirewall/go.mod index db052915241..3d53a404c26 100644 --- a/service/networkfirewall/go.mod +++ b/service/networkfirewall/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/networkfirewall/go.sum b/service/networkfirewall/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/networkfirewall/go.sum +++ b/service/networkfirewall/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/networkmanager/go.mod b/service/networkmanager/go.mod index d098d680caa..9fe81b643b7 100644 --- a/service/networkmanager/go.mod +++ b/service/networkmanager/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/networkmanager/go.sum b/service/networkmanager/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/networkmanager/go.sum +++ b/service/networkmanager/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/nimble/go.mod b/service/nimble/go.mod index 48ee52ff802..601865f9a52 100644 --- a/service/nimble/go.mod +++ b/service/nimble/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/nimble/go.sum b/service/nimble/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/nimble/go.sum +++ b/service/nimble/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/opensearch/go.mod b/service/opensearch/go.mod index 94887c57080..443e8dd6c83 100644 --- a/service/opensearch/go.mod +++ b/service/opensearch/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/opensearch/go.sum b/service/opensearch/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/opensearch/go.sum +++ b/service/opensearch/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/opsworks/go.mod b/service/opsworks/go.mod index 5ee5660ba76..b0a86972f93 100644 --- a/service/opsworks/go.mod +++ b/service/opsworks/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/opsworks/go.sum b/service/opsworks/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/opsworks/go.sum +++ b/service/opsworks/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/opsworkscm/go.mod b/service/opsworkscm/go.mod index 2b155f3556d..76cf8f5112b 100644 --- a/service/opsworkscm/go.mod +++ b/service/opsworkscm/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/opsworkscm/go.sum b/service/opsworkscm/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/opsworkscm/go.sum +++ b/service/opsworkscm/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/organizations/go.mod b/service/organizations/go.mod index c16a1721e9e..b29320f82ca 100644 --- a/service/organizations/go.mod +++ b/service/organizations/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/organizations/go.sum b/service/organizations/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/organizations/go.sum +++ b/service/organizations/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/outposts/go.mod b/service/outposts/go.mod index 7accbf11453..af44a52b57b 100644 --- a/service/outposts/go.mod +++ b/service/outposts/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/outposts/go.sum b/service/outposts/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/outposts/go.sum +++ b/service/outposts/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/panorama/go.mod b/service/panorama/go.mod index 670249327a0..c9e31bad3cf 100644 --- a/service/panorama/go.mod +++ b/service/panorama/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/panorama/go.sum b/service/panorama/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/panorama/go.sum +++ b/service/panorama/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/personalize/go.mod b/service/personalize/go.mod index c50096a96a0..bafaed5a941 100644 --- a/service/personalize/go.mod +++ b/service/personalize/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/personalize/go.sum b/service/personalize/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/personalize/go.sum +++ b/service/personalize/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/personalizeevents/go.mod b/service/personalizeevents/go.mod index a4dbe4f27e8..d31ab392fca 100644 --- a/service/personalizeevents/go.mod +++ b/service/personalizeevents/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/personalizeevents/go.sum b/service/personalizeevents/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/personalizeevents/go.sum +++ b/service/personalizeevents/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/personalizeruntime/go.mod b/service/personalizeruntime/go.mod index 8759f526855..175de05e00a 100644 --- a/service/personalizeruntime/go.mod +++ b/service/personalizeruntime/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/personalizeruntime/go.sum b/service/personalizeruntime/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/personalizeruntime/go.sum +++ b/service/personalizeruntime/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/pi/go.mod b/service/pi/go.mod index bdab3e3f1e0..684f24f1667 100644 --- a/service/pi/go.mod +++ b/service/pi/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/pi/go.sum b/service/pi/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/pi/go.sum +++ b/service/pi/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/pinpoint/go.mod b/service/pinpoint/go.mod index 75de69950cf..df1286df791 100644 --- a/service/pinpoint/go.mod +++ b/service/pinpoint/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/pinpoint/go.sum b/service/pinpoint/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/pinpoint/go.sum +++ b/service/pinpoint/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/pinpointemail/go.mod b/service/pinpointemail/go.mod index be8786a54fa..0e526b083cb 100644 --- a/service/pinpointemail/go.mod +++ b/service/pinpointemail/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/pinpointemail/go.sum b/service/pinpointemail/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/pinpointemail/go.sum +++ b/service/pinpointemail/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/pinpointsmsvoice/go.mod b/service/pinpointsmsvoice/go.mod index 488507051b2..bfd4cc7404e 100644 --- a/service/pinpointsmsvoice/go.mod +++ b/service/pinpointsmsvoice/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/pinpointsmsvoice/go.sum b/service/pinpointsmsvoice/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/pinpointsmsvoice/go.sum +++ b/service/pinpointsmsvoice/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/polly/go.mod b/service/polly/go.mod index afd1e217ea0..0f1f5d32f19 100644 --- a/service/polly/go.mod +++ b/service/polly/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/polly/go.sum b/service/polly/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/polly/go.sum +++ b/service/polly/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/pricing/go.mod b/service/pricing/go.mod index 2abcf795175..25b0cd8e49f 100644 --- a/service/pricing/go.mod +++ b/service/pricing/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/pricing/go.sum b/service/pricing/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/pricing/go.sum +++ b/service/pricing/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/proton/go.mod b/service/proton/go.mod index 1d69e6bc87a..caf37d38a28 100644 --- a/service/proton/go.mod +++ b/service/proton/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/proton/go.sum b/service/proton/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/proton/go.sum +++ b/service/proton/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/qldb/go.mod b/service/qldb/go.mod index 98c8cf6d521..84a48231eb9 100644 --- a/service/qldb/go.mod +++ b/service/qldb/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/qldb/go.sum b/service/qldb/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/qldb/go.sum +++ b/service/qldb/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/qldbsession/go.mod b/service/qldbsession/go.mod index 8517c54e3e3..58b276a5a90 100644 --- a/service/qldbsession/go.mod +++ b/service/qldbsession/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/qldbsession/go.sum b/service/qldbsession/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/qldbsession/go.sum +++ b/service/qldbsession/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/quicksight/go.mod b/service/quicksight/go.mod index 285f7458b38..4ba5569311d 100644 --- a/service/quicksight/go.mod +++ b/service/quicksight/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/quicksight/go.sum b/service/quicksight/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/quicksight/go.sum +++ b/service/quicksight/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/quicksight/types/types.go b/service/quicksight/types/types.go index 799d4054af6..120ebf6d6d7 100644 --- a/service/quicksight/types/types.go +++ b/service/quicksight/types/types.go @@ -931,6 +931,7 @@ type DataSourceErrorInfo struct { // // The following types satisfy this interface: // DataSourceParametersMemberAmazonElasticsearchParameters +// DataSourceParametersMemberAmazonOpenSearchParameters // DataSourceParametersMemberAthenaParameters // DataSourceParametersMemberAuroraParameters // DataSourceParametersMemberAuroraPostgreSqlParameters @@ -950,7 +951,6 @@ type DataSourceErrorInfo struct { // DataSourceParametersMemberSqlServerParameters // DataSourceParametersMemberTeradataParameters // DataSourceParametersMemberTwitterParameters -// DataSourceParametersMemberAmazonOpenSearchParameters type DataSourceParameters interface { isDataSourceParameters() } @@ -964,6 +964,14 @@ type DataSourceParametersMemberAmazonElasticsearchParameters struct { func (*DataSourceParametersMemberAmazonElasticsearchParameters) isDataSourceParameters() {} +type DataSourceParametersMemberAmazonOpenSearchParameters struct { + Value AmazonOpenSearchParameters + + noSmithyDocumentSerde +} + +func (*DataSourceParametersMemberAmazonOpenSearchParameters) isDataSourceParameters() {} + // The parameters for Amazon Athena. type DataSourceParametersMemberAthenaParameters struct { Value AthenaParameters @@ -1135,14 +1143,6 @@ type DataSourceParametersMemberTwitterParameters struct { func (*DataSourceParametersMemberTwitterParameters) isDataSourceParameters() {} -type DataSourceParametersMemberAmazonOpenSearchParameters struct { - Value AmazonOpenSearchParameters - - noSmithyDocumentSerde -} - -func (*DataSourceParametersMemberAmazonOpenSearchParameters) isDataSourceParameters() {} - // A date-time parameter. type DateTimeParameter struct { @@ -1745,30 +1745,30 @@ type Parameters struct { // be valid, only one of the attributes can be non-null. // // The following types satisfy this interface: -// PhysicalTableMemberRelationalTable // PhysicalTableMemberCustomSql +// PhysicalTableMemberRelationalTable // PhysicalTableMemberS3Source type PhysicalTable interface { isPhysicalTable() } -// A physical table type for relational data sources. -type PhysicalTableMemberRelationalTable struct { - Value RelationalTable +// A physical table type built from the results of the custom SQL query. +type PhysicalTableMemberCustomSql struct { + Value CustomSql noSmithyDocumentSerde } -func (*PhysicalTableMemberRelationalTable) isPhysicalTable() {} +func (*PhysicalTableMemberCustomSql) isPhysicalTable() {} -// A physical table type built from the results of the custom SQL query. -type PhysicalTableMemberCustomSql struct { - Value CustomSql +// A physical table type for relational data sources. +type PhysicalTableMemberRelationalTable struct { + Value RelationalTable noSmithyDocumentSerde } -func (*PhysicalTableMemberCustomSql) isPhysicalTable() {} +func (*PhysicalTableMemberRelationalTable) isPhysicalTable() {} // A physical table type for as S3 data source. type PhysicalTableMemberS3Source struct { @@ -2747,26 +2747,35 @@ type TileStyle struct { // this structure to be valid, only one of the attributes can be non-null. // // The following types satisfy this interface: -// TransformOperationMemberProjectOperation -// TransformOperationMemberFilterOperation +// TransformOperationMemberCastColumnTypeOperation // TransformOperationMemberCreateColumnsOperation +// TransformOperationMemberFilterOperation +// TransformOperationMemberProjectOperation // TransformOperationMemberRenameColumnOperation -// TransformOperationMemberCastColumnTypeOperation // TransformOperationMemberTagColumnOperation // TransformOperationMemberUntagColumnOperation type TransformOperation interface { isTransformOperation() } -// An operation that projects columns. Operations that come after a projection can -// only refer to projected columns. -type TransformOperationMemberProjectOperation struct { - Value ProjectOperation +// A transform operation that casts a column to a different type. +type TransformOperationMemberCastColumnTypeOperation struct { + Value CastColumnTypeOperation noSmithyDocumentSerde } -func (*TransformOperationMemberProjectOperation) isTransformOperation() {} +func (*TransformOperationMemberCastColumnTypeOperation) isTransformOperation() {} + +// An operation that creates calculated columns. Columns created in one such +// operation form a lexical closure. +type TransformOperationMemberCreateColumnsOperation struct { + Value CreateColumnsOperation + + noSmithyDocumentSerde +} + +func (*TransformOperationMemberCreateColumnsOperation) isTransformOperation() {} // An operation that filters rows based on some condition. type TransformOperationMemberFilterOperation struct { @@ -2777,15 +2786,15 @@ type TransformOperationMemberFilterOperation struct { func (*TransformOperationMemberFilterOperation) isTransformOperation() {} -// An operation that creates calculated columns. Columns created in one such -// operation form a lexical closure. -type TransformOperationMemberCreateColumnsOperation struct { - Value CreateColumnsOperation +// An operation that projects columns. Operations that come after a projection can +// only refer to projected columns. +type TransformOperationMemberProjectOperation struct { + Value ProjectOperation noSmithyDocumentSerde } -func (*TransformOperationMemberCreateColumnsOperation) isTransformOperation() {} +func (*TransformOperationMemberProjectOperation) isTransformOperation() {} // An operation that renames a column. type TransformOperationMemberRenameColumnOperation struct { @@ -2796,15 +2805,6 @@ type TransformOperationMemberRenameColumnOperation struct { func (*TransformOperationMemberRenameColumnOperation) isTransformOperation() {} -// A transform operation that casts a column to a different type. -type TransformOperationMemberCastColumnTypeOperation struct { - Value CastColumnTypeOperation - - noSmithyDocumentSerde -} - -func (*TransformOperationMemberCastColumnTypeOperation) isTransformOperation() {} - // An operation that tags a column with additional information. type TransformOperationMemberTagColumnOperation struct { Value TagColumnOperation diff --git a/service/ram/go.mod b/service/ram/go.mod index 13cad3a00aa..772082d39e8 100644 --- a/service/ram/go.mod +++ b/service/ram/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/ram/go.sum b/service/ram/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/ram/go.sum +++ b/service/ram/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/rds/go.mod b/service/rds/go.mod index 7da41c9c0e9..52c84e3552d 100644 --- a/service/rds/go.mod +++ b/service/rds/go.mod @@ -7,7 +7,7 @@ require ( github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.4.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/rds/go.sum b/service/rds/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/rds/go.sum +++ b/service/rds/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/rdsdata/go.mod b/service/rdsdata/go.mod index cea38616c49..acd58e4db88 100644 --- a/service/rdsdata/go.mod +++ b/service/rdsdata/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/rdsdata/go.sum b/service/rdsdata/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/rdsdata/go.sum +++ b/service/rdsdata/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/rdsdata/types/types.go b/service/rdsdata/types/types.go index 1430f594679..f16f03de23e 100644 --- a/service/rdsdata/types/types.go +++ b/service/rdsdata/types/types.go @@ -9,32 +9,32 @@ import ( // Contains an array. // // The following types satisfy this interface: +// ArrayValueMemberArrayValues // ArrayValueMemberBooleanValues -// ArrayValueMemberLongValues // ArrayValueMemberDoubleValues +// ArrayValueMemberLongValues // ArrayValueMemberStringValues -// ArrayValueMemberArrayValues type ArrayValue interface { isArrayValue() } -// An array of Boolean values. -type ArrayValueMemberBooleanValues struct { - Value []bool +// An array of arrays. +type ArrayValueMemberArrayValues struct { + Value []ArrayValue noSmithyDocumentSerde } -func (*ArrayValueMemberBooleanValues) isArrayValue() {} +func (*ArrayValueMemberArrayValues) isArrayValue() {} -// An array of floating point numbers. -type ArrayValueMemberLongValues struct { - Value []int64 +// An array of Boolean values. +type ArrayValueMemberBooleanValues struct { + Value []bool noSmithyDocumentSerde } -func (*ArrayValueMemberLongValues) isArrayValue() {} +func (*ArrayValueMemberBooleanValues) isArrayValue() {} // An array of integers. type ArrayValueMemberDoubleValues struct { @@ -45,23 +45,23 @@ type ArrayValueMemberDoubleValues struct { func (*ArrayValueMemberDoubleValues) isArrayValue() {} -// An array of strings. -type ArrayValueMemberStringValues struct { - Value []string +// An array of floating point numbers. +type ArrayValueMemberLongValues struct { + Value []int64 noSmithyDocumentSerde } -func (*ArrayValueMemberStringValues) isArrayValue() {} +func (*ArrayValueMemberLongValues) isArrayValue() {} -// An array of arrays. -type ArrayValueMemberArrayValues struct { - Value []ArrayValue +// An array of strings. +type ArrayValueMemberStringValues struct { + Value []string noSmithyDocumentSerde } -func (*ArrayValueMemberArrayValues) isArrayValue() {} +func (*ArrayValueMemberStringValues) isArrayValue() {} // Contains the metadata for a column. type ColumnMetadata struct { @@ -114,43 +114,43 @@ type ColumnMetadata struct { // Contains a value. // // The following types satisfy this interface: -// FieldMemberIsNull +// FieldMemberArrayValue +// FieldMemberBlobValue // FieldMemberBooleanValue -// FieldMemberLongValue // FieldMemberDoubleValue +// FieldMemberIsNull +// FieldMemberLongValue // FieldMemberStringValue -// FieldMemberBlobValue -// FieldMemberArrayValue type Field interface { isField() } -// A NULL value. -type FieldMemberIsNull struct { - Value bool +// An array of values. +type FieldMemberArrayValue struct { + Value ArrayValue noSmithyDocumentSerde } -func (*FieldMemberIsNull) isField() {} +func (*FieldMemberArrayValue) isField() {} -// A value of Boolean data type. -type FieldMemberBooleanValue struct { - Value bool +// A value of BLOB data type. +type FieldMemberBlobValue struct { + Value []byte noSmithyDocumentSerde } -func (*FieldMemberBooleanValue) isField() {} +func (*FieldMemberBlobValue) isField() {} -// A value of long data type. -type FieldMemberLongValue struct { - Value int64 +// A value of Boolean data type. +type FieldMemberBooleanValue struct { + Value bool noSmithyDocumentSerde } -func (*FieldMemberLongValue) isField() {} +func (*FieldMemberBooleanValue) isField() {} // A value of double data type. type FieldMemberDoubleValue struct { @@ -161,32 +161,32 @@ type FieldMemberDoubleValue struct { func (*FieldMemberDoubleValue) isField() {} -// A value of string data type. -type FieldMemberStringValue struct { - Value string +// A NULL value. +type FieldMemberIsNull struct { + Value bool noSmithyDocumentSerde } -func (*FieldMemberStringValue) isField() {} +func (*FieldMemberIsNull) isField() {} -// A value of BLOB data type. -type FieldMemberBlobValue struct { - Value []byte +// A value of long data type. +type FieldMemberLongValue struct { + Value int64 noSmithyDocumentSerde } -func (*FieldMemberBlobValue) isField() {} +func (*FieldMemberLongValue) isField() {} -// An array of values. -type FieldMemberArrayValue struct { - Value ArrayValue +// A value of string data type. +type FieldMemberStringValue struct { + Value string noSmithyDocumentSerde } -func (*FieldMemberArrayValue) isField() {} +func (*FieldMemberStringValue) isField() {} // A record returned by a call. type Record struct { @@ -306,28 +306,37 @@ type UpdateResult struct { // Contains the value of a column. This data type is deprecated. // // The following types satisfy this interface: -// ValueMemberIsNull -// ValueMemberBitValue +// ValueMemberArrayValues // ValueMemberBigIntValue -// ValueMemberIntValue +// ValueMemberBitValue +// ValueMemberBlobValue // ValueMemberDoubleValue +// ValueMemberIntValue +// ValueMemberIsNull // ValueMemberRealValue // ValueMemberStringValue -// ValueMemberBlobValue -// ValueMemberArrayValues // ValueMemberStructValue type Value interface { isValue() } -// A NULL value. -type ValueMemberIsNull struct { - Value bool +// An array of column values. +type ValueMemberArrayValues struct { + Value []Value noSmithyDocumentSerde } -func (*ValueMemberIsNull) isValue() {} +func (*ValueMemberArrayValues) isValue() {} + +// A value for a column of big integer data type. +type ValueMemberBigIntValue struct { + Value int64 + + noSmithyDocumentSerde +} + +func (*ValueMemberBigIntValue) isValue() {} // A value for a column of BIT data type. type ValueMemberBitValue struct { @@ -338,14 +347,23 @@ type ValueMemberBitValue struct { func (*ValueMemberBitValue) isValue() {} -// A value for a column of big integer data type. -type ValueMemberBigIntValue struct { - Value int64 +// A value for a column of BLOB data type. +type ValueMemberBlobValue struct { + Value []byte noSmithyDocumentSerde } -func (*ValueMemberBigIntValue) isValue() {} +func (*ValueMemberBlobValue) isValue() {} + +// A value for a column of double data type. +type ValueMemberDoubleValue struct { + Value float64 + + noSmithyDocumentSerde +} + +func (*ValueMemberDoubleValue) isValue() {} // A value for a column of integer data type. type ValueMemberIntValue struct { @@ -356,14 +374,14 @@ type ValueMemberIntValue struct { func (*ValueMemberIntValue) isValue() {} -// A value for a column of double data type. -type ValueMemberDoubleValue struct { - Value float64 +// A NULL value. +type ValueMemberIsNull struct { + Value bool noSmithyDocumentSerde } -func (*ValueMemberDoubleValue) isValue() {} +func (*ValueMemberIsNull) isValue() {} // A value for a column of real data type. type ValueMemberRealValue struct { @@ -383,24 +401,6 @@ type ValueMemberStringValue struct { func (*ValueMemberStringValue) isValue() {} -// A value for a column of BLOB data type. -type ValueMemberBlobValue struct { - Value []byte - - noSmithyDocumentSerde -} - -func (*ValueMemberBlobValue) isValue() {} - -// An array of column values. -type ValueMemberArrayValues struct { - Value []Value - - noSmithyDocumentSerde -} - -func (*ValueMemberArrayValues) isValue() {} - // A value for a column of STRUCT data type. type ValueMemberStructValue struct { Value StructValue diff --git a/service/redshift/go.mod b/service/redshift/go.mod index 9639c3b6bdb..4fdc78b3ff8 100644 --- a/service/redshift/go.mod +++ b/service/redshift/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/redshift/go.sum b/service/redshift/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/redshift/go.sum +++ b/service/redshift/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/redshiftdata/go.mod b/service/redshiftdata/go.mod index 37e4e76710a..0bebfbf5fc3 100644 --- a/service/redshiftdata/go.mod +++ b/service/redshiftdata/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/redshiftdata/go.sum b/service/redshiftdata/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/redshiftdata/go.sum +++ b/service/redshiftdata/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/redshiftdata/types/types.go b/service/redshiftdata/types/types.go index a12051e99ad..253e7f55a29 100644 --- a/service/redshiftdata/types/types.go +++ b/service/redshiftdata/types/types.go @@ -55,24 +55,24 @@ type ColumnMetadata struct { // A data value in a column. // // The following types satisfy this interface: -// FieldMemberIsNull +// FieldMemberBlobValue // FieldMemberBooleanValue -// FieldMemberLongValue // FieldMemberDoubleValue +// FieldMemberIsNull +// FieldMemberLongValue // FieldMemberStringValue -// FieldMemberBlobValue type Field interface { isField() } -// A value that indicates whether the data is NULL. -type FieldMemberIsNull struct { - Value bool +// A value of the BLOB data type. +type FieldMemberBlobValue struct { + Value []byte noSmithyDocumentSerde } -func (*FieldMemberIsNull) isField() {} +func (*FieldMemberBlobValue) isField() {} // A value of the Boolean data type. type FieldMemberBooleanValue struct { @@ -83,41 +83,41 @@ type FieldMemberBooleanValue struct { func (*FieldMemberBooleanValue) isField() {} -// A value of the long data type. -type FieldMemberLongValue struct { - Value int64 +// A value of the double data type. +type FieldMemberDoubleValue struct { + Value float64 noSmithyDocumentSerde } -func (*FieldMemberLongValue) isField() {} +func (*FieldMemberDoubleValue) isField() {} -// A value of the double data type. -type FieldMemberDoubleValue struct { - Value float64 +// A value that indicates whether the data is NULL. +type FieldMemberIsNull struct { + Value bool noSmithyDocumentSerde } -func (*FieldMemberDoubleValue) isField() {} +func (*FieldMemberIsNull) isField() {} -// A value of the string data type. -type FieldMemberStringValue struct { - Value string +// A value of the long data type. +type FieldMemberLongValue struct { + Value int64 noSmithyDocumentSerde } -func (*FieldMemberStringValue) isField() {} +func (*FieldMemberLongValue) isField() {} -// A value of the BLOB data type. -type FieldMemberBlobValue struct { - Value []byte +// A value of the string data type. +type FieldMemberStringValue struct { + Value string noSmithyDocumentSerde } -func (*FieldMemberBlobValue) isField() {} +func (*FieldMemberStringValue) isField() {} // A parameter used in a SQL statement. type SqlParameter struct { diff --git a/service/rekognition/go.mod b/service/rekognition/go.mod index 928e6b7cbb4..d710f41d87e 100644 --- a/service/rekognition/go.mod +++ b/service/rekognition/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/rekognition/go.sum b/service/rekognition/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/rekognition/go.sum +++ b/service/rekognition/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/resourcegroups/go.mod b/service/resourcegroups/go.mod index da4d8623e73..d1fc82ac5a0 100644 --- a/service/resourcegroups/go.mod +++ b/service/resourcegroups/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/resourcegroups/go.sum b/service/resourcegroups/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/resourcegroups/go.sum +++ b/service/resourcegroups/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/resourcegroupstaggingapi/go.mod b/service/resourcegroupstaggingapi/go.mod index 005e5660cc5..e84d6da055a 100644 --- a/service/resourcegroupstaggingapi/go.mod +++ b/service/resourcegroupstaggingapi/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/resourcegroupstaggingapi/go.sum b/service/resourcegroupstaggingapi/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/resourcegroupstaggingapi/go.sum +++ b/service/resourcegroupstaggingapi/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/robomaker/go.mod b/service/robomaker/go.mod index 00fa6885770..2a9a0b1c9c0 100644 --- a/service/robomaker/go.mod +++ b/service/robomaker/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/robomaker/go.sum b/service/robomaker/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/robomaker/go.sum +++ b/service/robomaker/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/route53/go.mod b/service/route53/go.mod index 64f3c2f88af..018da2c8b35 100644 --- a/service/route53/go.mod +++ b/service/route53/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/route53/go.sum b/service/route53/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/route53/go.sum +++ b/service/route53/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/route53domains/go.mod b/service/route53domains/go.mod index 4e439123719..dfcdc81d608 100644 --- a/service/route53domains/go.mod +++ b/service/route53domains/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/route53domains/go.sum b/service/route53domains/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/route53domains/go.sum +++ b/service/route53domains/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/route53recoverycluster/go.mod b/service/route53recoverycluster/go.mod index fbf87899542..4219fb29c9d 100644 --- a/service/route53recoverycluster/go.mod +++ b/service/route53recoverycluster/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/route53recoverycluster/go.sum b/service/route53recoverycluster/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/route53recoverycluster/go.sum +++ b/service/route53recoverycluster/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/route53recoverycontrolconfig/go.mod b/service/route53recoverycontrolconfig/go.mod index e5cb3536b72..29489480a4b 100644 --- a/service/route53recoverycontrolconfig/go.mod +++ b/service/route53recoverycontrolconfig/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/route53recoverycontrolconfig/go.sum b/service/route53recoverycontrolconfig/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/route53recoverycontrolconfig/go.sum +++ b/service/route53recoverycontrolconfig/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/route53recoveryreadiness/go.mod b/service/route53recoveryreadiness/go.mod index 34463b256c4..ee86aa15fcd 100644 --- a/service/route53recoveryreadiness/go.mod +++ b/service/route53recoveryreadiness/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/route53recoveryreadiness/go.sum b/service/route53recoveryreadiness/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/route53recoveryreadiness/go.sum +++ b/service/route53recoveryreadiness/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/route53resolver/go.mod b/service/route53resolver/go.mod index 5f7ebcb933f..e0cbfbd06cb 100644 --- a/service/route53resolver/go.mod +++ b/service/route53resolver/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/route53resolver/go.sum b/service/route53resolver/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/route53resolver/go.sum +++ b/service/route53resolver/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/s3/api_client.go b/service/s3/api_client.go index 622da1e5ca1..8764f4a8f2b 100644 --- a/service/s3/api_client.go +++ b/service/s3/api_client.go @@ -166,6 +166,8 @@ func (c *Client) invokeOperation(ctx context.Context, opID string, params interf fn(&options) } + setSafeEventStreamClientLogMode(&options, opID) + finalizeClientEndpointResolverOptions(&options) resolveCredentialProvider(&options) diff --git a/service/s3/api_op_SelectObjectContent.go b/service/s3/api_op_SelectObjectContent.go new file mode 100644 index 00000000000..272e72ceffd --- /dev/null +++ b/service/s3/api_op_SelectObjectContent.go @@ -0,0 +1,417 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package s3 + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations" + "github.com/aws/aws-sdk-go-v2/service/s3/types" + "github.com/aws/smithy-go/middleware" + smithysync "github.com/aws/smithy-go/sync" + smithyhttp "github.com/aws/smithy-go/transport/http" + "sync" +) + +// This action filters the contents of an Amazon S3 object based on a simple +// structured query language (SQL) statement. In the request, along with the SQL +// expression, you must also specify a data serialization format (JSON, CSV, or +// Apache Parquet) of the object. Amazon S3 uses this format to parse object data +// into records, and returns only records that match the specified SQL expression. +// You must also specify the data serialization format for the response. This +// action is not supported by Amazon S3 on Outposts. For more information about +// Amazon S3 Select, see Selecting Content from Objects +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html) +// in the Amazon S3 User Guide. For more information about using SQL with Amazon S3 +// Select, see SQL Reference for Amazon S3 Select and S3 Glacier Select +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html) +// in the Amazon S3 User Guide. Permissions You must have s3:GetObject permission +// for this operation. Amazon S3 Select does not support anonymous access. For more +// information about permissions, see Specifying Permissions in a Policy +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html) in +// the Amazon S3 User Guide. Object Data Formats You can use Amazon S3 Select to +// query objects that have the following format properties: +// +// * CSV, JSON, and +// Parquet - Objects must be in CSV, JSON, or Parquet format. +// +// * UTF-8 - UTF-8 is +// the only encoding type Amazon S3 Select supports. +// +// * GZIP or BZIP2 - CSV and +// JSON files can be compressed using GZIP or BZIP2. GZIP and BZIP2 are the only +// compression formats that Amazon S3 Select supports for CSV and JSON files. +// Amazon S3 Select supports columnar compression for Parquet using GZIP or Snappy. +// Amazon S3 Select does not support whole-object compression for Parquet +// objects. +// +// * Server-side encryption - Amazon S3 Select supports querying objects +// that are protected with server-side encryption. For objects that are encrypted +// with customer-provided encryption keys (SSE-C), you must use HTTPS, and you must +// use the headers that are documented in the GetObject +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html). For more +// information about SSE-C, see Server-Side Encryption (Using Customer-Provided +// Encryption Keys) +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html) +// in the Amazon S3 User Guide. For objects that are encrypted with Amazon S3 +// managed encryption keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), +// server-side encryption is handled transparently, so you don't need to specify +// anything. For more information about server-side encryption, including SSE-S3 +// and SSE-KMS, see Protecting Data Using Server-Side Encryption +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html) in +// the Amazon S3 User Guide. +// +// Working with the Response Body Given the response +// size is unknown, Amazon S3 Select streams the response as a series of messages +// and includes a Transfer-Encoding header with chunked as its value in the +// response. For more information, see Appendix: SelectObjectContent Response +// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html). +// GetObject Support The SelectObjectContent action does not support the following +// GetObject functionality. For more information, see GetObject +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html). +// +// * Range: +// Although you can specify a scan range for an Amazon S3 Select request (see +// SelectObjectContentRequest - ScanRange +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange) +// in the request parameters), you cannot specify the range of bytes of an object +// to return. +// +// * GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You +// cannot specify the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes. +// For more information, about storage classes see Storage Classes +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro) +// in the Amazon S3 User Guide. +// +// Special Errors For a list of special errors for +// this operation, see List of SELECT Object Content Error Codes +// (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList) +// Related Resources +// +// * GetObject +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) +// +// * +// GetBucketLifecycleConfiguration +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html) +// +// * +// PutBucketLifecycleConfiguration +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) +func (c *Client) SelectObjectContent(ctx context.Context, params *SelectObjectContentInput, optFns ...func(*Options)) (*SelectObjectContentOutput, error) { + if params == nil { + params = &SelectObjectContentInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "SelectObjectContent", params, optFns, c.addOperationSelectObjectContentMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*SelectObjectContentOutput) + out.ResultMetadata = metadata + return out, nil +} + +// Request to filter the contents of an Amazon S3 object based on a simple +// Structured Query Language (SQL) statement. In the request, along with the SQL +// expression, you must specify a data serialization format (JSON or CSV) of the +// object. Amazon S3 uses this to parse object data into records. It returns only +// records that match the specified SQL expression. You must also specify the data +// serialization format for the response. For more information, see S3Select API +// Documentation +// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html). +type SelectObjectContentInput struct { + + // The S3 bucket. + // + // This member is required. + Bucket *string + + // The expression that is used to query the object. + // + // This member is required. + Expression *string + + // The type of the provided expression (for example, SQL). + // + // This member is required. + ExpressionType types.ExpressionType + + // Describes the format of the data in the object that is being queried. + // + // This member is required. + InputSerialization *types.InputSerialization + + // The object key. + // + // This member is required. + Key *string + + // Describes the format of the data that you want Amazon S3 to return in response. + // + // This member is required. + OutputSerialization *types.OutputSerialization + + // The account ID of the expected bucket owner. If the bucket is owned by a + // different account, the request will fail with an HTTP 403 (Access Denied) error. + ExpectedBucketOwner *string + + // Specifies if periodic request progress information should be enabled. + RequestProgress *types.RequestProgress + + // The SSE Algorithm used to encrypt the object. For more information, see + // Server-Side Encryption (Using Customer-Provided Encryption Keys + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). + SSECustomerAlgorithm *string + + // The SSE Customer Key. For more information, see Server-Side Encryption (Using + // Customer-Provided Encryption Keys + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). + SSECustomerKey *string + + // The SSE Customer Key MD5. For more information, see Server-Side Encryption + // (Using Customer-Provided Encryption Keys + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). + SSECustomerKeyMD5 *string + + // Specifies the byte range of the object to get the records from. A record is + // processed when its first byte is contained by the range. This parameter is + // optional, but when specified, it must not be empty. See RFC 2616, Section + // 14.35.1 about how to specify the start and end of the range. ScanRangemay be + // used in the following ways: + // + // * 50100 - process only the records starting between + // the bytes 50 and 100 (inclusive, counting from zero) + // + // * 50 - process only the + // records starting after the byte 50 + // + // * 50 - process only the records within the + // last 50 bytes of the file. + ScanRange *types.ScanRange + + noSmithyDocumentSerde +} + +type SelectObjectContentOutput struct { + eventStream *SelectObjectContentEventStream + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +// GetStream returns the type to interact with the event stream. +func (o *SelectObjectContentOutput) GetStream() *SelectObjectContentEventStream { + return o.eventStream +} + +func (c *Client) addOperationSelectObjectContentMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestxml_serializeOpSelectObjectContent{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestxml_deserializeOpSelectObjectContent{}, middleware.After) + if err != nil { + return err + } + if err = addEventStreamSelectObjectContentMiddleware(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil { + return err + } + if err = addOpSelectObjectContentValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opSelectObjectContent(options.Region), middleware.Before); err != nil { + return err + } + if err = addMetadataRetrieverMiddleware(stack); err != nil { + return err + } + if err = addSelectObjectContentUpdateEndpoint(stack, options); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = v4.AddContentSHA256HeaderMiddleware(stack); err != nil { + return err + } + if err = disableAcceptEncodingGzip(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opSelectObjectContent(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "s3", + OperationName: "SelectObjectContent", + } +} + +// getSelectObjectContentBucketMember returns a pointer to string denoting a +// provided bucket member valueand a boolean indicating if the input has a modeled +// bucket name, +func getSelectObjectContentBucketMember(input interface{}) (*string, bool) { + in := input.(*SelectObjectContentInput) + if in.Bucket == nil { + return nil, false + } + return in.Bucket, true +} +func addSelectObjectContentUpdateEndpoint(stack *middleware.Stack, options Options) error { + return s3cust.UpdateEndpoint(stack, s3cust.UpdateEndpointOptions{ + Accessor: s3cust.UpdateEndpointParameterAccessor{ + GetBucketFromInput: getSelectObjectContentBucketMember, + }, + UsePathStyle: options.UsePathStyle, + UseAccelerate: options.UseAccelerate, + SupportsAccelerate: true, + TargetS3ObjectLambda: false, + EndpointResolver: options.EndpointResolver, + EndpointResolverOptions: options.EndpointOptions, + UseARNRegion: options.UseARNRegion, + DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints, + }) +} + +// SelectObjectContentEventStream provides the event stream handling for the SelectObjectContent operation. +// +// For testing and mocking the event stream this type should be initialized via +// the NewSelectObjectContentEventStream constructor function. Using the functional options +// to pass in nested mock behavior. +type SelectObjectContentEventStream struct { + // SelectObjectContentEventStreamReader is the EventStream reader for the + // SelectObjectContentEventStream events. This value is automatically set by the + // SDK when the API call is made Use this member when unit testing your code with + // the SDK to mock out the EventStream Reader. + // + // Must not be nil. + Reader SelectObjectContentEventStreamReader + + done chan struct{} + closeOnce sync.Once + err *smithysync.OnceErr +} + +// NewSelectObjectContentEventStream initializes an SelectObjectContentEventStream. +// This function should only be used for testing and mocking the SelectObjectContentEventStream +// stream within your application. +// +// The Reader member must be set before reading events from the stream. +func NewSelectObjectContentEventStream(optFns ...func(*SelectObjectContentEventStream)) *SelectObjectContentEventStream { + es := &SelectObjectContentEventStream{ + done: make(chan struct{}), + err: smithysync.NewOnceErr(), + } + for _, fn := range optFns { + fn(es) + } + return es +} + +// Events returns a channel to read events from. +func (es *SelectObjectContentEventStream) Events() <-chan types.SelectObjectContentEventStream { + return es.Reader.Events() +} + +// Close closes the stream. This will also cause the stream to be closed. +// Close must be called when done using the stream API. Not calling Close +// may result in resource leaks. +// +// Will close the underlying EventStream writer and reader, and no more events can be +// sent or received. +func (es *SelectObjectContentEventStream) Close() error { + es.closeOnce.Do(es.safeClose) + return es.Err() +} + +func (es *SelectObjectContentEventStream) safeClose() { + close(es.done) + + es.Reader.Close() +} + +// Err returns any error that occurred while reading or writing EventStream Events +// from the service API's response. Returns nil if there were no errors. +func (es *SelectObjectContentEventStream) Err() error { + if err := es.err.Err(); err != nil { + return err + } + + if err := es.Reader.Err(); err != nil { + return err + } + + return nil +} + +func (es *SelectObjectContentEventStream) waitStreamClose() { + type errorSet interface { + ErrorSet() <-chan struct{} + } + + var outputErrCh <-chan struct{} + if v, ok := es.Reader.(errorSet); ok { + outputErrCh = v.ErrorSet() + } + var outputClosedCh <-chan struct{} + if v, ok := es.Reader.(interface{ Closed() <-chan struct{} }); ok { + outputClosedCh = v.Closed() + } + + select { + case <-es.done: + case <-outputErrCh: + es.err.SetError(es.Reader.Err()) + es.Close() + + case <-outputClosedCh: + if err := es.Reader.Err(); err != nil { + es.err.SetError(es.Reader.Err()) + } + es.Close() + + } +} diff --git a/service/s3/deserializers.go b/service/s3/deserializers.go index 1b853c461cc..6c846fdcc50 100644 --- a/service/s3/deserializers.go +++ b/service/s3/deserializers.go @@ -5,9 +5,13 @@ package s3 import ( "bytes" "context" + "encoding/json" "encoding/xml" "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi" + awsxml "github.com/aws/aws-sdk-go-v2/aws/protocol/xml" "github.com/aws/aws-sdk-go-v2/service/internal/s3shared" "github.com/aws/aws-sdk-go-v2/service/s3/types" smithy "github.com/aws/smithy-go" @@ -11081,6 +11085,75 @@ func awsRestxml_deserializeOpHttpBindingsRestoreObjectOutput(v *RestoreObjectOut return nil } +type awsRestxml_deserializeOpSelectObjectContent struct { +} + +func (*awsRestxml_deserializeOpSelectObjectContent) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestxml_deserializeOpSelectObjectContent) 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, awsRestxml_deserializeOpErrorSelectObjectContent(response, &metadata) + } + output := &SelectObjectContentOutput{} + out.Result = output + + return out, metadata, err +} + +func awsRestxml_deserializeOpErrorSelectObjectContent(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 + + errorComponents, err := s3shared.GetErrorResponseComponents(errorBody, s3shared.ErrorResponseDeserializerOptions{ + UseStatusCode: true, StatusCode: response.StatusCode, + }) + if err != nil { + return err + } + if hostID := errorComponents.HostID; len(hostID) != 0 { + s3shared.SetHostIDMetadata(metadata, hostID) + } + if reqID := errorComponents.RequestID; len(reqID) != 0 { + awsmiddleware.SetRequestIDMetadata(metadata, reqID) + } + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsRestxml_deserializeOpUploadPart struct { } @@ -11467,6 +11540,514 @@ func awsRestxml_deserializeOpErrorWriteGetObjectResponse(response *smithyhttp.Re } } +func awsRestxml_deserializeEventStreamSelectObjectContentEventStream(v *types.SelectObjectContentEventStream, msg *eventstream.Message) error { + if v == nil { + return fmt.Errorf("unexpected serialization of nil %T", v) + } + + eventType := msg.Headers.Get(eventstreamapi.EventTypeHeader) + if eventType == nil { + return fmt.Errorf("%s event header not present", eventstreamapi.EventTypeHeader) + } + + switch { + case strings.EqualFold("Cont", eventType.String()): + vv := &types.SelectObjectContentEventStreamMemberCont{} + if err := awsRestxml_deserializeEventMessageContinuationEvent(&vv.Value, msg); err != nil { + return err + } + *v = vv + return nil + + case strings.EqualFold("End", eventType.String()): + vv := &types.SelectObjectContentEventStreamMemberEnd{} + if err := awsRestxml_deserializeEventMessageEndEvent(&vv.Value, msg); err != nil { + return err + } + *v = vv + return nil + + case strings.EqualFold("Progress", eventType.String()): + vv := &types.SelectObjectContentEventStreamMemberProgress{} + if err := awsRestxml_deserializeEventMessageProgressEvent(&vv.Value, msg); err != nil { + return err + } + *v = vv + return nil + + case strings.EqualFold("Records", eventType.String()): + vv := &types.SelectObjectContentEventStreamMemberRecords{} + if err := awsRestxml_deserializeEventMessageRecordsEvent(&vv.Value, msg); err != nil { + return err + } + *v = vv + return nil + + case strings.EqualFold("Stats", eventType.String()): + vv := &types.SelectObjectContentEventStreamMemberStats{} + if err := awsRestxml_deserializeEventMessageStatsEvent(&vv.Value, msg); err != nil { + return err + } + *v = vv + return nil + + default: + buffer := bytes.NewBuffer(nil) + eventstream.NewEncoder().Encode(buffer, *msg) + *v = &types.UnknownUnionMember{ + Tag: eventType.String(), + Value: buffer.Bytes(), + } + return nil + + } +} + +func awsRestxml_deserializeEventStreamExceptionSelectObjectContentEventStream(msg *eventstream.Message) error { + exceptionType := msg.Headers.Get(eventstreamapi.ExceptionTypeHeader) + if exceptionType == nil { + return fmt.Errorf("%s event header not present", eventstreamapi.ExceptionTypeHeader) + } + + switch { + default: + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(br, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + errorComponents, err := awsxml.GetErrorResponseComponents(br, true) + if err != nil { + return err + } + errorCode := "UnknownError" + errorMessage := errorCode + if ev := exceptionType.String(); len(ev) > 0 { + errorCode = ev + } else if ev := errorComponents.Code; len(ev) > 0 { + errorCode = ev + } + if ev := errorComponents.Message; len(ev) > 0 { + errorMessage = ev + } + return &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + + } +} + +func awsRestxml_deserializeEventMessageRecordsEvent(v *types.RecordsEvent, msg *eventstream.Message) error { + if v == nil { + return fmt.Errorf("unexpected serialization of nil %T", v) + } + + if msg.Payload != nil { + bsv := make([]byte, len(msg.Payload)) + copy(bsv, msg.Payload) + + v.Payload = bsv + } + return nil +} + +func awsRestxml_deserializeEventMessageStatsEvent(v *types.StatsEvent, msg *eventstream.Message) error { + if v == nil { + return fmt.Errorf("unexpected serialization of nil %T", v) + } + + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(br, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsRestxml_deserializeDocumentStats(&v.Details, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return nil +} + +func awsRestxml_deserializeEventMessageProgressEvent(v *types.ProgressEvent, msg *eventstream.Message) error { + if v == nil { + return fmt.Errorf("unexpected serialization of nil %T", v) + } + + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(br, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsRestxml_deserializeDocumentProgress(&v.Details, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return nil +} + +func awsRestxml_deserializeEventMessageContinuationEvent(v *types.ContinuationEvent, msg *eventstream.Message) error { + if v == nil { + return fmt.Errorf("unexpected serialization of nil %T", v) + } + + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(br, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsRestxml_deserializeDocumentContinuationEvent(&v, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return nil +} + +func awsRestxml_deserializeEventMessageEndEvent(v *types.EndEvent, msg *eventstream.Message) error { + if v == nil { + return fmt.Errorf("unexpected serialization of nil %T", v) + } + + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(br, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsRestxml_deserializeDocumentEndEvent(&v, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return nil +} + +func awsRestxml_deserializeDocumentEndEvent(v **types.EndEvent, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.EndEvent + if *v == nil { + sv = &types.EndEvent{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentProgress(v **types.Progress, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.Progress + if *v == nil { + sv = &types.Progress{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("BytesProcessed", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.BytesProcessed = i64 + } + + case strings.EqualFold("BytesReturned", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.BytesReturned = i64 + } + + case strings.EqualFold("BytesScanned", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.BytesScanned = i64 + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentContinuationEvent(v **types.ContinuationEvent, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ContinuationEvent + if *v == nil { + sv = &types.ContinuationEvent{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentStats(v **types.Stats, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.Stats + if *v == nil { + sv = &types.Stats{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("BytesProcessed", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.BytesProcessed = i64 + } + + case strings.EqualFold("BytesReturned", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.BytesReturned = i64 + } + + case strings.EqualFold("BytesScanned", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.BytesScanned = i64 + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsRestxml_deserializeErrorBucketAlreadyExists(response *smithyhttp.Response, errorBody *bytes.Reader) error { output := &types.BucketAlreadyExists{} return output diff --git a/service/s3/eventstream.go b/service/s3/eventstream.go new file mode 100644 index 00000000000..38d579a3a4f --- /dev/null +++ b/service/s3/eventstream.go @@ -0,0 +1,281 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package s3 + +import ( + "context" + "fmt" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi" + "github.com/aws/aws-sdk-go-v2/service/s3/types" + smithy "github.com/aws/smithy-go" + "github.com/aws/smithy-go/middleware" + smithysync "github.com/aws/smithy-go/sync" + smithyhttp "github.com/aws/smithy-go/transport/http" + "io" + "io/ioutil" + "sync" +) + +// SelectObjectContentEventStreamReader provides the interface for reading events +// from a stream. +// +// The writer's Close method must allow multiple concurrent calls. +type SelectObjectContentEventStreamReader interface { + Events() <-chan types.SelectObjectContentEventStream + Close() error + Err() error +} + +type selectObjectContentEventStream struct { + stream chan types.SelectObjectContentEventStream + decoder *eventstream.Decoder + eventStream io.ReadCloser + err *smithysync.OnceErr + payloadBuf []byte + done chan struct{} + closeOnce sync.Once +} + +func newSelectObjectContentEventStream(readCloser io.ReadCloser, decoder *eventstream.Decoder) *selectObjectContentEventStream { + w := &selectObjectContentEventStream{ + stream: make(chan types.SelectObjectContentEventStream), + decoder: decoder, + eventStream: readCloser, + err: smithysync.NewOnceErr(), + done: make(chan struct{}), + payloadBuf: make([]byte, 10*1024), + } + + go w.readEventStream() + + return w +} + +func (r *selectObjectContentEventStream) Events() <-chan types.SelectObjectContentEventStream { + return r.stream +} + +func (r *selectObjectContentEventStream) readEventStream() { + defer r.Close() + defer close(r.stream) + + for { + r.payloadBuf = r.payloadBuf[0:0] + decodedMessage, err := r.decoder.Decode(r.eventStream, r.payloadBuf) + if err != nil { + if err == io.EOF { + return + } + select { + case <-r.done: + return + default: + r.err.SetError(err) + return + } + } + + event, err := r.deserializeEventMessage(&decodedMessage) + if err != nil { + r.err.SetError(err) + return + } + + select { + case r.stream <- event: + case <-r.done: + return + } + + } +} + +func (r *selectObjectContentEventStream) deserializeEventMessage(msg *eventstream.Message) (types.SelectObjectContentEventStream, error) { + messageType := msg.Headers.Get(eventstreamapi.MessageTypeHeader) + if messageType == nil { + return nil, fmt.Errorf("%s event header not present", eventstreamapi.MessageTypeHeader) + } + + switch messageType.String() { + case eventstreamapi.EventMessageType: + var v types.SelectObjectContentEventStream + if err := awsRestxml_deserializeEventStreamSelectObjectContentEventStream(&v, msg); err != nil { + return nil, err + } + return v, nil + + case eventstreamapi.ExceptionMessageType: + return nil, awsRestxml_deserializeEventStreamExceptionSelectObjectContentEventStream(msg) + + case eventstreamapi.ErrorMessageType: + errorCode := "UnknownError" + errorMessage := errorCode + if header := msg.Headers.Get(eventstreamapi.ErrorCodeHeader); header != nil { + errorCode = header.String() + } + if header := msg.Headers.Get(eventstreamapi.ErrorMessageHeader); header != nil { + errorMessage = header.String() + } + return nil, &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + + default: + mc := msg.Clone() + return nil, &UnknownEventMessageError{ + Type: messageType.String(), + Message: &mc, + } + + } +} + +func (r *selectObjectContentEventStream) ErrorSet() <-chan struct{} { + return r.err.ErrorSet() +} + +func (r *selectObjectContentEventStream) Close() error { + r.closeOnce.Do(r.safeClose) + return r.Err() +} + +func (r *selectObjectContentEventStream) safeClose() { + close(r.done) + r.eventStream.Close() + +} + +func (r *selectObjectContentEventStream) Err() error { + return r.err.Err() +} + +func (r *selectObjectContentEventStream) Closed() <-chan struct{} { + return r.done +} + +type awsRestxml_deserializeOpEventStreamSelectObjectContent struct { + LogEventStreamWrites bool + LogEventStreamReads bool +} + +func (*awsRestxml_deserializeOpEventStreamSelectObjectContent) ID() string { + return "OperationEventStreamDeserializer" +} + +func (m *awsRestxml_deserializeOpEventStreamSelectObjectContent) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + defer func() { + if err == nil { + return + } + m.closeResponseBody(out) + }() + + logger := middleware.GetLogger(ctx) + + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, fmt.Errorf("unknown transport type: %T", in.Request) + } + _ = request + + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + deserializeOutput, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, fmt.Errorf("unknown transport type: %T", out.RawResponse) + } + _ = deserializeOutput + + output, ok := out.Result.(*SelectObjectContentOutput) + if out.Result != nil && !ok { + return out, metadata, fmt.Errorf("unexpected output result type: %T", out.Result) + } else if out.Result == nil { + output = &SelectObjectContentOutput{} + out.Result = output + } + + eventReader := newSelectObjectContentEventStream( + deserializeOutput.Body, + eventstream.NewDecoder(func(options *eventstream.DecoderOptions) { + options.Logger = logger + options.LogMessages = m.LogEventStreamReads + + }), + ) + defer func() { + if err == nil { + return + } + _ = eventReader.Close() + }() + + output.eventStream = NewSelectObjectContentEventStream(func(stream *SelectObjectContentEventStream) { + stream.Reader = eventReader + }) + + go output.eventStream.waitStreamClose() + + return out, metadata, nil +} + +func (*awsRestxml_deserializeOpEventStreamSelectObjectContent) closeResponseBody(out middleware.DeserializeOutput) { + if resp, ok := out.RawResponse.(*smithyhttp.Response); ok && resp != nil && resp.Body != nil { + _, _ = io.Copy(ioutil.Discard, resp.Body) + _ = resp.Body.Close() + } +} + +func addEventStreamSelectObjectContentMiddleware(stack *middleware.Stack, options Options) error { + return stack.Deserialize.Insert(&awsRestxml_deserializeOpEventStreamSelectObjectContent{ + LogEventStreamWrites: options.ClientLogMode.IsRequestEventMessage(), + LogEventStreamReads: options.ClientLogMode.IsResponseEventMessage(), + }, "OperationDeserializer", middleware.Before) +} + +// UnknownEventMessageError provides an error when a message is received from the stream, +// but the reader is unable to determine what kind of message it is. +type UnknownEventMessageError struct { + Type string + Message *eventstream.Message +} + +// Error retruns the error message string. +func (e *UnknownEventMessageError) Error() string { + return "unknown event stream message type, " + e.Type +} + +func setSafeEventStreamClientLogMode(o *Options, operation string) { + switch operation { + case "SelectObjectContent": + toggleEventStreamClientLogMode(o, false, true) + return + + default: + return + + } +} +func toggleEventStreamClientLogMode(o *Options, request, response bool) { + mode := o.ClientLogMode + + if request && mode.IsRequestWithBody() { + mode.ClearRequestWithBody() + mode |= aws.LogRequest + } + + if response && mode.IsResponseWithBody() { + mode.ClearResponseWithBody() + mode |= aws.LogResponse + } + + o.ClientLogMode = mode + +} diff --git a/service/s3/generated.json b/service/s3/generated.json index a1acc6f854b..5e47a19c0d6 100644 --- a/service/s3/generated.json +++ b/service/s3/generated.json @@ -1,6 +1,7 @@ { "dependencies": { "github.com/aws/aws-sdk-go-v2": "v1.4.0", + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream": "v0.0.0-00010101000000-000000000000", "github.com/aws/aws-sdk-go-v2/internal/configsources": "v0.0.0-00010101000000-000000000000", "github.com/aws/aws-sdk-go-v2/internal/endpoints/v2": "v2.0.0-00010101000000-000000000000", "github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding": "v1.0.5", @@ -98,12 +99,14 @@ "api_op_PutObjectTagging.go", "api_op_PutPublicAccessBlock.go", "api_op_RestoreObject.go", + "api_op_SelectObjectContent.go", "api_op_UploadPart.go", "api_op_UploadPartCopy.go", "api_op_WriteGetObjectResponse.go", "deserializers.go", "doc.go", "endpoints.go", + "eventstream.go", "generated.json", "internal/endpoints/endpoints.go", "internal/endpoints/endpoints_test.go", diff --git a/service/s3/go.mod b/service/s3/go.mod index ac438037fb5..c3a7397c15e 100644 --- a/service/s3/go.mod +++ b/service/s3/go.mod @@ -4,17 +4,20 @@ go 1.15 require ( github.com/aws/aws-sdk-go-v2 v1.10.0 + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v0.0.0-00010101000000-000000000000 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.4.0 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.4.0 github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.8.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/google/go-cmp v0.5.6 ) replace github.com/aws/aws-sdk-go-v2 => ../../ +replace github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream => ../../aws/protocol/eventstream/ + replace github.com/aws/aws-sdk-go-v2/internal/configsources => ../../internal/configsources/ replace github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 => ../../internal/endpoints/v2/ diff --git a/service/s3/go.sum b/service/s3/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/s3/go.sum +++ b/service/s3/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/s3/internal/configtesting/go.sum b/service/s3/internal/configtesting/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/s3/internal/configtesting/go.sum +++ b/service/s3/internal/configtesting/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/s3/serializers.go b/service/s3/serializers.go index 269eae2beb0..ca2281b2e37 100644 --- a/service/s3/serializers.go +++ b/service/s3/serializers.go @@ -7477,6 +7477,190 @@ func awsRestxml_serializeOpHttpBindingsRestoreObjectInput(v *RestoreObjectInput, return nil } +type awsRestxml_serializeOpSelectObjectContent struct { +} + +func (*awsRestxml_serializeOpSelectObjectContent) ID() string { + return "OperationSerializer" +} + +func (m *awsRestxml_serializeOpSelectObjectContent) 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.(*SelectObjectContentInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/{Bucket}/{Key+}?select&select-type=2&x-id=SelectObjectContent") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestxml_serializeOpHttpBindingsSelectObjectContentInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/xml") + + xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil)) + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "SelectObjectContentRequest", + }, + Attr: rootAttr, + } + root.Attr = append(root.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/")) + if err := awsRestxml_serializeOpDocumentSelectObjectContentInput(input, xmlEncoder.RootElement(root)); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + if request, err = request.SetStream(bytes.NewReader(xmlEncoder.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 awsRestxml_serializeOpHttpBindingsSelectObjectContentInput(v *SelectObjectContentInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.Bucket == nil || len(*v.Bucket) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member Bucket must not be empty")} + } + if v.Bucket != nil { + if err := encoder.SetURI("Bucket").String(*v.Bucket); err != nil { + return err + } + } + + if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 { + locationName := "X-Amz-Expected-Bucket-Owner" + encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner) + } + + if v.Key == nil || len(*v.Key) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")} + } + if v.Key != nil { + if err := encoder.SetURI("Key").String(*v.Key); err != nil { + return err + } + } + + if v.SSECustomerAlgorithm != nil && len(*v.SSECustomerAlgorithm) > 0 { + locationName := "X-Amz-Server-Side-Encryption-Customer-Algorithm" + encoder.SetHeader(locationName).String(*v.SSECustomerAlgorithm) + } + + if v.SSECustomerKey != nil && len(*v.SSECustomerKey) > 0 { + locationName := "X-Amz-Server-Side-Encryption-Customer-Key" + encoder.SetHeader(locationName).String(*v.SSECustomerKey) + } + + if v.SSECustomerKeyMD5 != nil && len(*v.SSECustomerKeyMD5) > 0 { + locationName := "X-Amz-Server-Side-Encryption-Customer-Key-Md5" + encoder.SetHeader(locationName).String(*v.SSECustomerKeyMD5) + } + + return nil +} + +func awsRestxml_serializeOpDocumentSelectObjectContentInput(v *SelectObjectContentInput, value smithyxml.Value) error { + defer value.Close() + if v.Expression != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Expression", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.Expression) + } + if len(v.ExpressionType) > 0 { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ExpressionType", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(string(v.ExpressionType)) + } + if v.InputSerialization != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "InputSerialization", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentInputSerialization(v.InputSerialization, el); err != nil { + return err + } + } + if v.OutputSerialization != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "OutputSerialization", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentOutputSerialization(v.OutputSerialization, el); err != nil { + return err + } + } + if v.RequestProgress != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "RequestProgress", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentRequestProgress(v.RequestProgress, el); err != nil { + return err + } + } + if v.ScanRange != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ScanRange", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentScanRange(v.ScanRange, el); err != nil { + return err + } + } + return nil +} + type awsRestxml_serializeOpUploadPart struct { } @@ -11045,6 +11229,22 @@ func awsRestxml_serializeDocumentRequestPaymentConfiguration(v *types.RequestPay return nil } +func awsRestxml_serializeDocumentRequestProgress(v *types.RequestProgress, value smithyxml.Value) error { + defer value.Close() + if v.Enabled { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Enabled", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(v.Enabled) + } + return nil +} + func awsRestxml_serializeDocumentRestoreRequest(v *types.RestoreRequest, value smithyxml.Value) error { defer value.Close() if v.Days != 0 { @@ -11305,6 +11505,33 @@ func awsRestxml_serializeDocumentS3Location(v *types.S3Location, value smithyxml return nil } +func awsRestxml_serializeDocumentScanRange(v *types.ScanRange, value smithyxml.Value) error { + defer value.Close() + if v.End != 0 { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "End", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Long(v.End) + } + if v.Start != 0 { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Start", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Long(v.Start) + } + return nil +} + func awsRestxml_serializeDocumentSelectParameters(v *types.SelectParameters, value smithyxml.Value) error { defer value.Close() if v.Expression != nil { diff --git a/service/s3/types/types.go b/service/s3/types/types.go index ac6d546bbae..9bb2e28bb0d 100644 --- a/service/s3/types/types.go +++ b/service/s3/types/types.go @@ -114,13 +114,23 @@ type AnalyticsExportDestination struct { // filter is provided, all objects will be considered in any analysis. // // The following types satisfy this interface: +// AnalyticsFilterMemberAnd // AnalyticsFilterMemberPrefix // AnalyticsFilterMemberTag -// AnalyticsFilterMemberAnd type AnalyticsFilter interface { isAnalyticsFilter() } +// A conjunction (logical AND) of predicates, which is used in evaluating an +// analytics filter. The operator must have at least two predicates. +type AnalyticsFilterMemberAnd struct { + Value AnalyticsAndOperator + + noSmithyDocumentSerde +} + +func (*AnalyticsFilterMemberAnd) isAnalyticsFilter() {} + // The prefix to use when evaluating an analytics filter. type AnalyticsFilterMemberPrefix struct { Value string @@ -139,16 +149,6 @@ type AnalyticsFilterMemberTag struct { func (*AnalyticsFilterMemberTag) isAnalyticsFilter() {} -// A conjunction (logical AND) of predicates, which is used in evaluating an -// analytics filter. The operator must have at least two predicates. -type AnalyticsFilterMemberAnd struct { - Value AnalyticsAndOperator - - noSmithyDocumentSerde -} - -func (*AnalyticsFilterMemberAnd) isAnalyticsFilter() {} - // Contains information about where to publish the analytics results. type AnalyticsS3BucketDestination struct { @@ -278,6 +278,11 @@ type Condition struct { noSmithyDocumentSerde } +// +type ContinuationEvent struct { + noSmithyDocumentSerde +} + // Container for all response elements. type CopyObjectResult struct { @@ -641,6 +646,13 @@ type EncryptionConfiguration struct { noSmithyDocumentSerde } +// A message that indicates the request is complete and no more messages will be +// sent. You should not assume that the request is complete until the client +// receives an EndEvent. +type EndEvent struct { + noSmithyDocumentSerde +} + // Container for all error elements. type Error struct { @@ -2096,13 +2108,24 @@ type LifecycleRuleAndOperator struct { // Filter must have exactly one of Prefix, Tag, or And specified. // // The following types satisfy this interface: +// LifecycleRuleFilterMemberAnd // LifecycleRuleFilterMemberPrefix // LifecycleRuleFilterMemberTag -// LifecycleRuleFilterMemberAnd type LifecycleRuleFilter interface { isLifecycleRuleFilter() } +// This is used in a Lifecycle Rule Filter to apply a logical AND to two or more +// predicates. The Lifecycle Rule will apply to any object matching all of the +// predicates configured inside the And operator. +type LifecycleRuleFilterMemberAnd struct { + Value LifecycleRuleAndOperator + + noSmithyDocumentSerde +} + +func (*LifecycleRuleFilterMemberAnd) isLifecycleRuleFilter() {} + // Prefix identifying one or more objects to which the rule applies. Replacement // must be made for object keys containing special characters (such as carriage // returns) when using XML requests. For more information, see XML related object @@ -2125,17 +2148,6 @@ type LifecycleRuleFilterMemberTag struct { func (*LifecycleRuleFilterMemberTag) isLifecycleRuleFilter() {} -// This is used in a Lifecycle Rule Filter to apply a logical AND to two or more -// predicates. The Lifecycle Rule will apply to any object matching all of the -// predicates configured inside the And operator. -type LifecycleRuleFilterMemberAnd struct { - Value LifecycleRuleAndOperator - - noSmithyDocumentSerde -} - -func (*LifecycleRuleFilterMemberAnd) isLifecycleRuleFilter() {} - // Describes where logs are stored and the prefix that Amazon S3 assigns to all log // object keys for a bucket. For more information, see PUT Bucket logging // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) in @@ -2238,51 +2250,51 @@ type MetricsConfiguration struct { // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html). // // The following types satisfy this interface: -// MetricsFilterMemberPrefix -// MetricsFilterMemberTag // MetricsFilterMemberAccessPointArn // MetricsFilterMemberAnd +// MetricsFilterMemberPrefix +// MetricsFilterMemberTag type MetricsFilter interface { isMetricsFilter() } -// The prefix used when evaluating a metrics filter. -type MetricsFilterMemberPrefix struct { +// The access point ARN used when evaluating a metrics filter. +type MetricsFilterMemberAccessPointArn struct { Value string noSmithyDocumentSerde } -func (*MetricsFilterMemberPrefix) isMetricsFilter() {} +func (*MetricsFilterMemberAccessPointArn) isMetricsFilter() {} -// The tag used when evaluating a metrics filter. -type MetricsFilterMemberTag struct { - Value Tag +// A conjunction (logical AND) of predicates, which is used in evaluating a metrics +// filter. The operator must have at least two predicates, and an object must match +// all of the predicates in order for the filter to apply. +type MetricsFilterMemberAnd struct { + Value MetricsAndOperator noSmithyDocumentSerde } -func (*MetricsFilterMemberTag) isMetricsFilter() {} +func (*MetricsFilterMemberAnd) isMetricsFilter() {} -// The access point ARN used when evaluating a metrics filter. -type MetricsFilterMemberAccessPointArn struct { +// The prefix used when evaluating a metrics filter. +type MetricsFilterMemberPrefix struct { Value string noSmithyDocumentSerde } -func (*MetricsFilterMemberAccessPointArn) isMetricsFilter() {} +func (*MetricsFilterMemberPrefix) isMetricsFilter() {} -// A conjunction (logical AND) of predicates, which is used in evaluating a metrics -// filter. The operator must have at least two predicates, and an object must match -// all of the predicates in order for the filter to apply. -type MetricsFilterMemberAnd struct { - Value MetricsAndOperator +// The tag used when evaluating a metrics filter. +type MetricsFilterMemberTag struct { + Value Tag noSmithyDocumentSerde } -func (*MetricsFilterMemberAnd) isMetricsFilter() {} +func (*MetricsFilterMemberTag) isMetricsFilter() {} // Container for the MultipartUpload for the Amazon S3 object. type MultipartUpload struct { @@ -2611,6 +2623,30 @@ type PolicyStatus struct { noSmithyDocumentSerde } +// This data type contains information about progress of an operation. +type Progress struct { + + // The current number of uncompressed object bytes processed. + BytesProcessed int64 + + // The current number of bytes of records payload data returned. + BytesReturned int64 + + // The current number of object bytes scanned. + BytesScanned int64 + + noSmithyDocumentSerde +} + +// This data type contains information about the progress event of an operation. +type ProgressEvent struct { + + // The Progress event details. + Details *Progress + + noSmithyDocumentSerde +} + // The PublicAccessBlock configuration that you want to apply to this Amazon S3 // bucket. You can enable the configuration options in any combination. For more // information about when Amazon S3 considers a bucket or object public, see The @@ -2688,6 +2724,15 @@ type QueueConfiguration struct { noSmithyDocumentSerde } +// The container for the records event. +type RecordsEvent struct { + + // The byte array of partial, one or more result records. + Payload []byte + + noSmithyDocumentSerde +} + // Specifies how requests are redirected. In the event of an error, you can specify // a different error code to return. type Redirect struct { @@ -2876,13 +2921,30 @@ type ReplicationRuleAndOperator struct { // applies. A Filter must specify exactly one Prefix, Tag, or an And child element. // // The following types satisfy this interface: +// ReplicationRuleFilterMemberAnd // ReplicationRuleFilterMemberPrefix // ReplicationRuleFilterMemberTag -// ReplicationRuleFilterMemberAnd type ReplicationRuleFilter interface { isReplicationRuleFilter() } +// A container for specifying rule filters. The filters determine the subset of +// objects to which the rule applies. This element is required only if you specify +// more than one filter. For example: +// +// * If you specify both a Prefix and a Tag +// filter, wrap these filters in an And tag. +// +// * If you specify a filter based on +// multiple tags, wrap the Tag elements in an And tag. +type ReplicationRuleFilterMemberAnd struct { + Value ReplicationRuleAndOperator + + noSmithyDocumentSerde +} + +func (*ReplicationRuleFilterMemberAnd) isReplicationRuleFilter() {} + // An object key name prefix that identifies the subset of objects to which the // rule applies. Replacement must be made for object keys containing special // characters (such as carriage returns) when using XML requests. For more @@ -2906,23 +2968,6 @@ type ReplicationRuleFilterMemberTag struct { func (*ReplicationRuleFilterMemberTag) isReplicationRuleFilter() {} -// A container for specifying rule filters. The filters determine the subset of -// objects to which the rule applies. This element is required only if you specify -// more than one filter. For example: -// -// * If you specify both a Prefix and a Tag -// filter, wrap these filters in an And tag. -// -// * If you specify a filter based on -// multiple tags, wrap the Tag elements in an And tag. -type ReplicationRuleFilterMemberAnd struct { - Value ReplicationRuleAndOperator - - noSmithyDocumentSerde -} - -func (*ReplicationRuleFilterMemberAnd) isReplicationRuleFilter() {} - // A container specifying S3 Replication Time Control (S3 RTC) related information, // including whether S3 RTC is enabled and the time when all objects and operations // on objects must be replicated. Must be specified together with a Metrics block. @@ -2963,6 +3008,16 @@ type RequestPaymentConfiguration struct { noSmithyDocumentSerde } +// Container for specifying if periodic QueryProgress messages should be sent. +type RequestProgress struct { + + // Specifies whether periodic QueryProgress frames should be sent. Valid values: + // TRUE, FALSE. Default value: FALSE. + Enabled bool + + noSmithyDocumentSerde +} + // Container for restore job parameters. type RestoreRequest struct { @@ -3060,6 +3115,84 @@ type S3Location struct { noSmithyDocumentSerde } +// Specifies the byte range of the object to get the records from. A record is +// processed when its first byte is contained by the range. This parameter is +// optional, but when specified, it must not be empty. See RFC 2616, Section +// 14.35.1 about how to specify the start and end of the range. +type ScanRange struct { + + // Specifies the end of the byte range. This parameter is optional. Valid values: + // non-negative integers. The default value is one less than the size of the object + // being queried. If only the End parameter is supplied, it is interpreted to mean + // scan the last N bytes of the file. For example, 50 means scan the last 50 bytes. + End int64 + + // Specifies the start of the byte range. This parameter is optional. Valid values: + // non-negative integers. The default value is 0. If only start is supplied, it + // means scan from that point to the end of the file.For example; 50 means scan + // from byte 50 until the end of the file. + Start int64 + + noSmithyDocumentSerde +} + +// The container for selecting objects from a content event stream. +// +// The following types satisfy this interface: +// SelectObjectContentEventStreamMemberCont +// SelectObjectContentEventStreamMemberEnd +// SelectObjectContentEventStreamMemberProgress +// SelectObjectContentEventStreamMemberRecords +// SelectObjectContentEventStreamMemberStats +type SelectObjectContentEventStream interface { + isSelectObjectContentEventStream() +} + +// The Continuation Event. +type SelectObjectContentEventStreamMemberCont struct { + Value ContinuationEvent + + noSmithyDocumentSerde +} + +func (*SelectObjectContentEventStreamMemberCont) isSelectObjectContentEventStream() {} + +// The End Event. +type SelectObjectContentEventStreamMemberEnd struct { + Value EndEvent + + noSmithyDocumentSerde +} + +func (*SelectObjectContentEventStreamMemberEnd) isSelectObjectContentEventStream() {} + +// The Progress Event. +type SelectObjectContentEventStreamMemberProgress struct { + Value ProgressEvent + + noSmithyDocumentSerde +} + +func (*SelectObjectContentEventStreamMemberProgress) isSelectObjectContentEventStream() {} + +// The Records Event. +type SelectObjectContentEventStreamMemberRecords struct { + Value RecordsEvent + + noSmithyDocumentSerde +} + +func (*SelectObjectContentEventStreamMemberRecords) isSelectObjectContentEventStream() {} + +// The Stats Event. +type SelectObjectContentEventStreamMemberStats struct { + Value StatsEvent + + noSmithyDocumentSerde +} + +func (*SelectObjectContentEventStreamMemberStats) isSelectObjectContentEventStream() {} + // Describes the parameters for Select job types. type SelectParameters struct { @@ -3211,6 +3344,30 @@ type SSES3 struct { noSmithyDocumentSerde } +// Container for the stats details. +type Stats struct { + + // The total number of uncompressed object bytes processed. + BytesProcessed int64 + + // The total number of bytes of records payload data returned. + BytesReturned int64 + + // The total number of object bytes scanned. + BytesScanned int64 + + noSmithyDocumentSerde +} + +// Container for the Stats Event. +type StatsEvent struct { + + // The Stats event details. + Details *Stats + + noSmithyDocumentSerde +} + // Specifies data related to access patterns to be collected and made available to // analyze the tradeoffs between different storage classes for an Amazon S3 bucket. type StorageClassAnalysis struct { @@ -3403,7 +3560,8 @@ type UnknownUnionMember struct { noSmithyDocumentSerde } -func (*UnknownUnionMember) isAnalyticsFilter() {} -func (*UnknownUnionMember) isLifecycleRuleFilter() {} -func (*UnknownUnionMember) isMetricsFilter() {} -func (*UnknownUnionMember) isReplicationRuleFilter() {} +func (*UnknownUnionMember) isAnalyticsFilter() {} +func (*UnknownUnionMember) isLifecycleRuleFilter() {} +func (*UnknownUnionMember) isMetricsFilter() {} +func (*UnknownUnionMember) isReplicationRuleFilter() {} +func (*UnknownUnionMember) isSelectObjectContentEventStream() {} diff --git a/service/s3/types/types_exported_test.go b/service/s3/types/types_exported_test.go index 7c0885fd476..4205ccc0c28 100644 --- a/service/s3/types/types_exported_test.go +++ b/service/s3/types/types_exported_test.go @@ -114,3 +114,37 @@ func ExampleReplicationRuleFilter_outputUsage() { var _ *string var _ *types.Tag var _ *types.ReplicationRuleAndOperator + +func ExampleSelectObjectContentEventStream_outputUsage() { + var union types.SelectObjectContentEventStream + // type switches can be used to check the union value + switch v := union.(type) { + case *types.SelectObjectContentEventStreamMemberCont: + _ = v.Value // Value is types.ContinuationEvent + + case *types.SelectObjectContentEventStreamMemberEnd: + _ = v.Value // Value is types.EndEvent + + case *types.SelectObjectContentEventStreamMemberProgress: + _ = v.Value // Value is types.ProgressEvent + + case *types.SelectObjectContentEventStreamMemberRecords: + _ = v.Value // Value is types.RecordsEvent + + case *types.SelectObjectContentEventStreamMemberStats: + _ = v.Value // Value is types.StatsEvent + + case *types.UnknownUnionMember: + fmt.Println("unknown tag:", v.Tag) + + default: + fmt.Println("union is nil or unknown type") + + } +} + +var _ *types.RecordsEvent +var _ *types.StatsEvent +var _ *types.ContinuationEvent +var _ *types.EndEvent +var _ *types.ProgressEvent diff --git a/service/s3/validators.go b/service/s3/validators.go index 615f459b511..a711ea619c7 100644 --- a/service/s3/validators.go +++ b/service/s3/validators.go @@ -1750,6 +1750,26 @@ func (m *validateOpRestoreObject) HandleInitialize(ctx context.Context, in middl return next.HandleInitialize(ctx, in) } +type validateOpSelectObjectContent struct { +} + +func (*validateOpSelectObjectContent) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpSelectObjectContent) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*SelectObjectContentInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpSelectObjectContentInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpUploadPartCopy struct { } @@ -2158,6 +2178,10 @@ func addOpRestoreObjectValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpRestoreObject{}, middleware.After) } +func addOpSelectObjectContentValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpSelectObjectContent{}, middleware.After) +} + func addOpUploadPartCopyValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUploadPartCopy{}, middleware.After) } @@ -5331,6 +5355,36 @@ func validateOpRestoreObjectInput(v *RestoreObjectInput) error { } } +func validateOpSelectObjectContentInput(v *SelectObjectContentInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "SelectObjectContentInput"} + if v.Bucket == nil { + invalidParams.Add(smithy.NewErrParamRequired("Bucket")) + } + if v.Key == nil { + invalidParams.Add(smithy.NewErrParamRequired("Key")) + } + if v.Expression == nil { + invalidParams.Add(smithy.NewErrParamRequired("Expression")) + } + if len(v.ExpressionType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("ExpressionType")) + } + if v.InputSerialization == nil { + invalidParams.Add(smithy.NewErrParamRequired("InputSerialization")) + } + if v.OutputSerialization == nil { + invalidParams.Add(smithy.NewErrParamRequired("OutputSerialization")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpUploadPartCopyInput(v *UploadPartCopyInput) error { if v == nil { return nil diff --git a/service/s3control/go.mod b/service/s3control/go.mod index d8da253bc94..326c9ca6754 100644 --- a/service/s3control/go.mod +++ b/service/s3control/go.mod @@ -7,7 +7,7 @@ require ( github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.8.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/s3control/go.sum b/service/s3control/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/s3control/go.sum +++ b/service/s3control/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/s3outposts/go.mod b/service/s3outposts/go.mod index 1f93764b708..ee3daa8db15 100644 --- a/service/s3outposts/go.mod +++ b/service/s3outposts/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/s3outposts/go.sum b/service/s3outposts/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/s3outposts/go.sum +++ b/service/s3outposts/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/sagemaker/go.mod b/service/sagemaker/go.mod index fd6643ab225..b6d400808e8 100644 --- a/service/sagemaker/go.mod +++ b/service/sagemaker/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/sagemaker/go.sum b/service/sagemaker/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/sagemaker/go.sum +++ b/service/sagemaker/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/sagemaker/types/types.go b/service/sagemaker/types/types.go index 49666dbd4c3..0205cf0212b 100644 --- a/service/sagemaker/types/types.go +++ b/service/sagemaker/types/types.go @@ -11543,22 +11543,12 @@ type TrialComponentMetricSummary struct { // specified. This object is specified in the CreateTrialComponent request. // // The following types satisfy this interface: -// TrialComponentParameterValueMemberStringValue // TrialComponentParameterValueMemberNumberValue +// TrialComponentParameterValueMemberStringValue type TrialComponentParameterValue interface { isTrialComponentParameterValue() } -// The string value of a categorical hyperparameter. If you specify a value for -// this parameter, you can't specify the NumberValue parameter. -type TrialComponentParameterValueMemberStringValue struct { - Value string - - noSmithyDocumentSerde -} - -func (*TrialComponentParameterValueMemberStringValue) isTrialComponentParameterValue() {} - // The numeric value of a numeric hyperparameter. If you specify a value for this // parameter, you can't specify the StringValue parameter. type TrialComponentParameterValueMemberNumberValue struct { @@ -11569,6 +11559,16 @@ type TrialComponentParameterValueMemberNumberValue struct { func (*TrialComponentParameterValueMemberNumberValue) isTrialComponentParameterValue() {} +// The string value of a categorical hyperparameter. If you specify a value for +// this parameter, you can't specify the NumberValue parameter. +type TrialComponentParameterValueMemberStringValue struct { + Value string + + noSmithyDocumentSerde +} + +func (*TrialComponentParameterValueMemberStringValue) isTrialComponentParameterValue() {} + // A short summary of a trial component. type TrialComponentSimpleSummary struct { diff --git a/service/sagemakera2iruntime/go.mod b/service/sagemakera2iruntime/go.mod index ebe2612ab68..5e64d5bd18e 100644 --- a/service/sagemakera2iruntime/go.mod +++ b/service/sagemakera2iruntime/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/sagemakera2iruntime/go.sum b/service/sagemakera2iruntime/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/sagemakera2iruntime/go.sum +++ b/service/sagemakera2iruntime/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/sagemakeredge/go.mod b/service/sagemakeredge/go.mod index 484a039bdce..c51054327f1 100644 --- a/service/sagemakeredge/go.mod +++ b/service/sagemakeredge/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/sagemakeredge/go.sum b/service/sagemakeredge/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/sagemakeredge/go.sum +++ b/service/sagemakeredge/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/sagemakerfeaturestoreruntime/go.mod b/service/sagemakerfeaturestoreruntime/go.mod index 041fb3e2457..0ad8e338a44 100644 --- a/service/sagemakerfeaturestoreruntime/go.mod +++ b/service/sagemakerfeaturestoreruntime/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/sagemakerfeaturestoreruntime/go.sum b/service/sagemakerfeaturestoreruntime/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/sagemakerfeaturestoreruntime/go.sum +++ b/service/sagemakerfeaturestoreruntime/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/sagemakerruntime/go.mod b/service/sagemakerruntime/go.mod index d4c510fe7de..2a074cbb561 100644 --- a/service/sagemakerruntime/go.mod +++ b/service/sagemakerruntime/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/sagemakerruntime/go.sum b/service/sagemakerruntime/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/sagemakerruntime/go.sum +++ b/service/sagemakerruntime/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/savingsplans/go.mod b/service/savingsplans/go.mod index fe2d9c0ac28..44001e48ed5 100644 --- a/service/savingsplans/go.mod +++ b/service/savingsplans/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/savingsplans/go.sum b/service/savingsplans/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/savingsplans/go.sum +++ b/service/savingsplans/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/schemas/go.mod b/service/schemas/go.mod index 10ce2e365f0..1fcdd9f8c2d 100644 --- a/service/schemas/go.mod +++ b/service/schemas/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/schemas/go.sum b/service/schemas/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/schemas/go.sum +++ b/service/schemas/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/secretsmanager/go.mod b/service/secretsmanager/go.mod index 7abff1edeff..79d8234a7a9 100644 --- a/service/secretsmanager/go.mod +++ b/service/secretsmanager/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/secretsmanager/go.sum b/service/secretsmanager/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/secretsmanager/go.sum +++ b/service/secretsmanager/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/securityhub/go.mod b/service/securityhub/go.mod index 818166283e6..44a4b851293 100644 --- a/service/securityhub/go.mod +++ b/service/securityhub/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/securityhub/go.sum b/service/securityhub/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/securityhub/go.sum +++ b/service/securityhub/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/serverlessapplicationrepository/go.mod b/service/serverlessapplicationrepository/go.mod index c05c718b75c..9e1c3881ce7 100644 --- a/service/serverlessapplicationrepository/go.mod +++ b/service/serverlessapplicationrepository/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/serverlessapplicationrepository/go.sum b/service/serverlessapplicationrepository/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/serverlessapplicationrepository/go.sum +++ b/service/serverlessapplicationrepository/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/servicecatalog/go.mod b/service/servicecatalog/go.mod index 27e76b267cd..85e5bdf20e5 100644 --- a/service/servicecatalog/go.mod +++ b/service/servicecatalog/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/servicecatalog/go.sum b/service/servicecatalog/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/servicecatalog/go.sum +++ b/service/servicecatalog/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/servicecatalogappregistry/go.mod b/service/servicecatalogappregistry/go.mod index 7a7c89d4daf..ace7ad5a54a 100644 --- a/service/servicecatalogappregistry/go.mod +++ b/service/servicecatalogappregistry/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/servicecatalogappregistry/go.sum b/service/servicecatalogappregistry/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/servicecatalogappregistry/go.sum +++ b/service/servicecatalogappregistry/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/servicediscovery/go.mod b/service/servicediscovery/go.mod index 5da639ec0b1..a32336d899f 100644 --- a/service/servicediscovery/go.mod +++ b/service/servicediscovery/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/servicediscovery/go.sum b/service/servicediscovery/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/servicediscovery/go.sum +++ b/service/servicediscovery/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/servicequotas/go.mod b/service/servicequotas/go.mod index e9f0d48fe4c..f55065575c3 100644 --- a/service/servicequotas/go.mod +++ b/service/servicequotas/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/servicequotas/go.sum b/service/servicequotas/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/servicequotas/go.sum +++ b/service/servicequotas/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/ses/go.mod b/service/ses/go.mod index 845fd59c8a4..0a34be4e0d4 100644 --- a/service/ses/go.mod +++ b/service/ses/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/ses/go.sum b/service/ses/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/ses/go.sum +++ b/service/ses/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/sesv2/go.mod b/service/sesv2/go.mod index 6c39ed1ec98..053f6e6413c 100644 --- a/service/sesv2/go.mod +++ b/service/sesv2/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/sesv2/go.sum b/service/sesv2/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/sesv2/go.sum +++ b/service/sesv2/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/sfn/go.mod b/service/sfn/go.mod index f80c5a6a4c9..3583a89d6a6 100644 --- a/service/sfn/go.mod +++ b/service/sfn/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/sfn/go.sum b/service/sfn/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/sfn/go.sum +++ b/service/sfn/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/shield/go.mod b/service/shield/go.mod index 9c1ed7d9cb1..bb1b7f63a0d 100644 --- a/service/shield/go.mod +++ b/service/shield/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/shield/go.sum b/service/shield/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/shield/go.sum +++ b/service/shield/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/signer/go.mod b/service/signer/go.mod index ae772480388..2459f0adff4 100644 --- a/service/signer/go.mod +++ b/service/signer/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/signer/go.sum b/service/signer/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/signer/go.sum +++ b/service/signer/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/sms/go.mod b/service/sms/go.mod index f84e3bcf9ee..4c8dec3076a 100644 --- a/service/sms/go.mod +++ b/service/sms/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/sms/go.sum b/service/sms/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/sms/go.sum +++ b/service/sms/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/snowball/go.mod b/service/snowball/go.mod index 48aaf35efc7..240a6a55397 100644 --- a/service/snowball/go.mod +++ b/service/snowball/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/snowball/go.sum b/service/snowball/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/snowball/go.sum +++ b/service/snowball/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/snowdevicemanagement/go.mod b/service/snowdevicemanagement/go.mod index b849ebaf963..8a833b361d4 100644 --- a/service/snowdevicemanagement/go.mod +++ b/service/snowdevicemanagement/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/snowdevicemanagement/go.sum b/service/snowdevicemanagement/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/snowdevicemanagement/go.sum +++ b/service/snowdevicemanagement/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/snowdevicemanagement/types/types.go b/service/snowdevicemanagement/types/types.go index cd65b94edff..fc7cf1c9657 100644 --- a/service/snowdevicemanagement/types/types.go +++ b/service/snowdevicemanagement/types/types.go @@ -31,29 +31,29 @@ type Capacity struct { // The command given to the device to execute. // // The following types satisfy this interface: -// CommandMemberUnlock // CommandMemberReboot +// CommandMemberUnlock type Command interface { isCommand() } -// Unlocks the device. -type CommandMemberUnlock struct { - Value Unlock +// Reboots the device. +type CommandMemberReboot struct { + Value Reboot noSmithyDocumentSerde } -func (*CommandMemberUnlock) isCommand() {} +func (*CommandMemberReboot) isCommand() {} -// Reboots the device. -type CommandMemberReboot struct { - Value Reboot +// Unlocks the device. +type CommandMemberUnlock struct { + Value Unlock noSmithyDocumentSerde } -func (*CommandMemberReboot) isCommand() {} +func (*CommandMemberUnlock) isCommand() {} // The options for how a device's CPU is configured. type CpuOptions struct { diff --git a/service/sns/go.mod b/service/sns/go.mod index 4ee64db4f93..0029c6f8da2 100644 --- a/service/sns/go.mod +++ b/service/sns/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/sns/go.sum b/service/sns/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/sns/go.sum +++ b/service/sns/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/sqs/go.mod b/service/sqs/go.mod index a805b048b13..0ee89e5726b 100644 --- a/service/sqs/go.mod +++ b/service/sqs/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/sqs/go.sum b/service/sqs/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/sqs/go.sum +++ b/service/sqs/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/ssm/go.mod b/service/ssm/go.mod index b5bf3ad9ff5..be761a1b835 100644 --- a/service/ssm/go.mod +++ b/service/ssm/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/ssm/go.sum b/service/ssm/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/ssm/go.sum +++ b/service/ssm/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/ssmcontacts/go.mod b/service/ssmcontacts/go.mod index 1ca04ae9381..fe906f09f74 100644 --- a/service/ssmcontacts/go.mod +++ b/service/ssmcontacts/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/ssmcontacts/go.sum b/service/ssmcontacts/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/ssmcontacts/go.sum +++ b/service/ssmcontacts/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/ssmincidents/go.mod b/service/ssmincidents/go.mod index 8a598617cdb..b35a7af2641 100644 --- a/service/ssmincidents/go.mod +++ b/service/ssmincidents/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f github.com/jmespath/go-jmespath v0.4.0 ) diff --git a/service/ssmincidents/go.sum b/service/ssmincidents/go.sum index 77d11920c65..b95f3bde722 100644 --- a/service/ssmincidents/go.sum +++ b/service/ssmincidents/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= diff --git a/service/ssmincidents/types/types.go b/service/ssmincidents/types/types.go index f3557b779c5..d0a649fb541 100644 --- a/service/ssmincidents/types/types.go +++ b/service/ssmincidents/types/types.go @@ -44,29 +44,29 @@ type AddRegionAction struct { // Use the AttributeValueList to filter by string or integer values. // // The following types satisfy this interface: -// AttributeValueListMemberStringValues // AttributeValueListMemberIntegerValues +// AttributeValueListMemberStringValues type AttributeValueList interface { isAttributeValueList() } -// The list of string values that the filter matches. -type AttributeValueListMemberStringValues struct { - Value []string +// The list of integer values that the filter matches. +type AttributeValueListMemberIntegerValues struct { + Value []int32 noSmithyDocumentSerde } -func (*AttributeValueListMemberStringValues) isAttributeValueList() {} +func (*AttributeValueListMemberIntegerValues) isAttributeValueList() {} -// The list of integer values that the filter matches. -type AttributeValueListMemberIntegerValues struct { - Value []int32 +// The list of string values that the filter matches. +type AttributeValueListMemberStringValues struct { + Value []string noSmithyDocumentSerde } -func (*AttributeValueListMemberIntegerValues) isAttributeValueList() {} +func (*AttributeValueListMemberStringValues) isAttributeValueList() {} // The Systems Manager automation document process to start as the runbook at the // beginning of the incident. @@ -89,21 +89,12 @@ func (*AutomationExecutionMemberSsmExecutionArn) isAutomationExecution() {} // The Chatbot chat channel used for collaboration during an incident. // // The following types satisfy this interface: -// ChatChannelMemberEmpty // ChatChannelMemberChatbotSns +// ChatChannelMemberEmpty type ChatChannel interface { isChatChannel() } -// Used to remove the chat channel from an incident record or response plan. -type ChatChannelMemberEmpty struct { - Value EmptyChatChannel - - noSmithyDocumentSerde -} - -func (*ChatChannelMemberEmpty) isChatChannel() {} - // The Amazon SNS targets that Chatbot uses to notify the chat channel of updates // to an incident. You can also make updates to the incident through the chat // channel by using the Amazon SNS topics. @@ -115,36 +106,45 @@ type ChatChannelMemberChatbotSns struct { func (*ChatChannelMemberChatbotSns) isChatChannel() {} +// Used to remove the chat channel from an incident record or response plan. +type ChatChannelMemberEmpty struct { + Value EmptyChatChannel + + noSmithyDocumentSerde +} + +func (*ChatChannelMemberEmpty) isChatChannel() {} + // A conditional statement with which to compare a value, after a timestamp, before // a timestamp, or equal to a string or integer. If multiple conditions are // specified, the conditionals become an ANDed statement. If multiple values are // specified for a conditional, the values are ORd. // // The following types satisfy this interface: -// ConditionMemberBefore // ConditionMemberAfter +// ConditionMemberBefore // ConditionMemberEquals type Condition interface { isCondition() } -// Before the specified timestamp -type ConditionMemberBefore struct { +// After the specified timestamp. +type ConditionMemberAfter struct { Value time.Time noSmithyDocumentSerde } -func (*ConditionMemberBefore) isCondition() {} +func (*ConditionMemberAfter) isCondition() {} -// After the specified timestamp. -type ConditionMemberAfter struct { +// Before the specified timestamp +type ConditionMemberBefore struct { Value time.Time noSmithyDocumentSerde } -func (*ConditionMemberAfter) isCondition() {} +func (*ConditionMemberBefore) isCondition() {} // The value is equal to the provided string or integer. type ConditionMemberEquals struct { @@ -415,8 +415,8 @@ type ItemIdentifier struct { // // The following types satisfy this interface: // ItemValueMemberArn -// ItemValueMemberUrl // ItemValueMemberMetricDefinition +// ItemValueMemberUrl type ItemValue interface { isItemValue() } @@ -431,23 +431,23 @@ type ItemValueMemberArn struct { func (*ItemValueMemberArn) isItemValue() {} -// The URL, if the related item is a non-Amazon Web Services resource. -type ItemValueMemberUrl struct { +// The metric definition, if the related item is a metric in Amazon CloudWatch. +type ItemValueMemberMetricDefinition struct { Value string noSmithyDocumentSerde } -func (*ItemValueMemberUrl) isItemValue() {} +func (*ItemValueMemberMetricDefinition) isItemValue() {} -// The metric definition, if the related item is a metric in Amazon CloudWatch. -type ItemValueMemberMetricDefinition struct { +// The URL, if the related item is a non-Amazon Web Services resource. +type ItemValueMemberUrl struct { Value string noSmithyDocumentSerde } -func (*ItemValueMemberMetricDefinition) isItemValue() {} +func (*ItemValueMemberUrl) isItemValue() {} // The SNS targets that are notified when updates are made to an incident. // diff --git a/service/sso/go.mod b/service/sso/go.mod index c455872c51c..08a94d3056a 100644 --- a/service/sso/go.mod +++ b/service/sso/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/sso/go.sum b/service/sso/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/sso/go.sum +++ b/service/sso/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/ssoadmin/go.mod b/service/ssoadmin/go.mod index e228d8c53a7..87ba8ed9357 100644 --- a/service/ssoadmin/go.mod +++ b/service/ssoadmin/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/ssoadmin/go.sum b/service/ssoadmin/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/ssoadmin/go.sum +++ b/service/ssoadmin/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/ssooidc/go.mod b/service/ssooidc/go.mod index 0e4b8c88668..5a17db0b27d 100644 --- a/service/ssooidc/go.mod +++ b/service/ssooidc/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/ssooidc/go.sum b/service/ssooidc/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/ssooidc/go.sum +++ b/service/ssooidc/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/storagegateway/go.mod b/service/storagegateway/go.mod index e47ffedd80c..600ee322577 100644 --- a/service/storagegateway/go.mod +++ b/service/storagegateway/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/storagegateway/go.sum b/service/storagegateway/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/storagegateway/go.sum +++ b/service/storagegateway/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/sts/go.mod b/service/sts/go.mod index 6be812aca7d..982c398ce02 100644 --- a/service/sts/go.mod +++ b/service/sts/go.mod @@ -7,7 +7,7 @@ require ( github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.4.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/sts/go.sum b/service/sts/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/sts/go.sum +++ b/service/sts/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/support/go.mod b/service/support/go.mod index a2822a511a7..b5c9e2a0d4d 100644 --- a/service/support/go.mod +++ b/service/support/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/support/go.sum b/service/support/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/support/go.sum +++ b/service/support/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/swf/go.mod b/service/swf/go.mod index 093f5829b10..17661a138cd 100644 --- a/service/swf/go.mod +++ b/service/swf/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/swf/go.sum b/service/swf/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/swf/go.sum +++ b/service/swf/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/synthetics/go.mod b/service/synthetics/go.mod index 7a307c83c42..fbf804c162b 100644 --- a/service/synthetics/go.mod +++ b/service/synthetics/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/synthetics/go.sum b/service/synthetics/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/synthetics/go.sum +++ b/service/synthetics/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/textract/go.mod b/service/textract/go.mod index f8a2df3a659..8b7125f8ee1 100644 --- a/service/textract/go.mod +++ b/service/textract/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/textract/go.sum b/service/textract/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/textract/go.sum +++ b/service/textract/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/timestreamquery/go.mod b/service/timestreamquery/go.mod index cf7419362bf..4816b638114 100644 --- a/service/timestreamquery/go.mod +++ b/service/timestreamquery/go.mod @@ -7,7 +7,7 @@ require ( github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.2.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/timestreamquery/go.sum b/service/timestreamquery/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/timestreamquery/go.sum +++ b/service/timestreamquery/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/timestreamwrite/go.mod b/service/timestreamwrite/go.mod index 9283584fb90..6cbeb6f4363 100644 --- a/service/timestreamwrite/go.mod +++ b/service/timestreamwrite/go.mod @@ -7,7 +7,7 @@ require ( github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.2.0 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/timestreamwrite/go.sum b/service/timestreamwrite/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/timestreamwrite/go.sum +++ b/service/timestreamwrite/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/transcribe/go.mod b/service/transcribe/go.mod index 32b97cb0082..989d82af46f 100644 --- a/service/transcribe/go.mod +++ b/service/transcribe/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/transcribe/go.sum b/service/transcribe/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/transcribe/go.sum +++ b/service/transcribe/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/transcribe/types/types.go b/service/transcribe/types/types.go index b7c574d3a39..0336054565e 100644 --- a/service/transcribe/types/types.go +++ b/service/transcribe/types/types.go @@ -727,14 +727,24 @@ type RelativeTimeRange struct { // filter for. // // The following types satisfy this interface: -// RuleMemberNonTalkTimeFilter // RuleMemberInterruptionFilter -// RuleMemberTranscriptFilter +// RuleMemberNonTalkTimeFilter // RuleMemberSentimentFilter +// RuleMemberTranscriptFilter type Rule interface { isRule() } +// A condition for a time period when either the customer or agent was interrupting +// the other person. +type RuleMemberInterruptionFilter struct { + Value InterruptionFilter + + noSmithyDocumentSerde +} + +func (*RuleMemberInterruptionFilter) isRule() {} + // A condition for a time period when neither the customer nor the agent was // talking. type RuleMemberNonTalkTimeFilter struct { @@ -745,15 +755,14 @@ type RuleMemberNonTalkTimeFilter struct { func (*RuleMemberNonTalkTimeFilter) isRule() {} -// A condition for a time period when either the customer or agent was interrupting -// the other person. -type RuleMemberInterruptionFilter struct { - Value InterruptionFilter +// A condition that is applied to a particular customer sentiment. +type RuleMemberSentimentFilter struct { + Value SentimentFilter noSmithyDocumentSerde } -func (*RuleMemberInterruptionFilter) isRule() {} +func (*RuleMemberSentimentFilter) isRule() {} // A condition that catches particular words or phrases based on a exact match. For // example, if you set the phrase "I want to speak to the manager", only that exact @@ -766,15 +775,6 @@ type RuleMemberTranscriptFilter struct { func (*RuleMemberTranscriptFilter) isRule() {} -// A condition that is applied to a particular customer sentiment. -type RuleMemberSentimentFilter struct { - Value SentimentFilter - - noSmithyDocumentSerde -} - -func (*RuleMemberSentimentFilter) isRule() {} - // An object that enables you to specify a particular customer or agent sentiment. // If at least 50 percent of the conversation turns (the back-and-forth between two // speakers) in a specified time period match the specified sentiment, Amazon diff --git a/service/transcribestreaming/LICENSE.txt b/service/transcribestreaming/LICENSE.txt new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/service/transcribestreaming/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/service/transcribestreaming/api_client.go b/service/transcribestreaming/api_client.go new file mode 100644 index 00000000000..00fce2a4e77 --- /dev/null +++ b/service/transcribestreaming/api_client.go @@ -0,0 +1,299 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package transcribestreaming + +import ( + "context" + "github.com/aws/aws-sdk-go-v2/aws" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/retry" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + awshttp "github.com/aws/aws-sdk-go-v2/aws/transport/http" + internalConfig "github.com/aws/aws-sdk-go-v2/internal/configsources" + smithy "github.com/aws/smithy-go" + smithydocument "github.com/aws/smithy-go/document" + "github.com/aws/smithy-go/logging" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" + "net/http" + "time" +) + +const ServiceID = "Transcribe Streaming" +const ServiceAPIVersion = "2017-10-26" + +// Client provides the API client to make operations call for Amazon Transcribe +// Streaming Service. +type Client struct { + options Options +} + +// New returns an initialized Client based on the functional options. Provide +// additional functional options to further configure the behavior of the client, +// such as changing the client's endpoint or adding custom middleware behavior. +func New(options Options, optFns ...func(*Options)) *Client { + options = options.Copy() + + resolveDefaultLogger(&options) + + resolveRetryer(&options) + + resolveHTTPClient(&options) + + resolveHTTPSignerV4(&options) + + resolveDefaultEndpointConfiguration(&options) + + for _, fn := range optFns { + fn(&options) + } + + client := &Client{ + options: options, + } + + return client +} + +type Options struct { + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // Configures the events that will be sent to the configured logger. + ClientLogMode aws.ClientLogMode + + // The credentials object to use when signing requests. + Credentials aws.CredentialsProvider + + // The endpoint options to be used when attempting to resolve an endpoint. + EndpointOptions EndpointResolverOptions + + // The service endpoint resolver. + EndpointResolver EndpointResolver + + // Signature Version 4 (SigV4) Signer + HTTPSignerV4 HTTPSignerV4 + + // The logger writer interface to write logging messages to. + Logger logging.Logger + + // The region to send requests to. (Required) + Region string + + // Retryer guides how HTTP requests should be retried in case of recoverable + // failures. When nil the API client will use a default retryer. + Retryer aws.Retryer + + // The HTTP client to invoke API calls with. Defaults to client's default HTTP + // implementation if nil. + HTTPClient HTTPClient +} + +// WithAPIOptions returns a functional option for setting the Client's APIOptions +// option. +func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options) { + return func(o *Options) { + o.APIOptions = append(o.APIOptions, optFns...) + } +} + +// WithEndpointResolver returns a functional option for setting the Client's +// EndpointResolver option. +func WithEndpointResolver(v EndpointResolver) func(*Options) { + return func(o *Options) { + o.EndpointResolver = v + } +} + +type HTTPClient interface { + Do(*http.Request) (*http.Response, error) +} + +// Copy creates a clone where the APIOptions list is deep copied. +func (o Options) Copy() Options { + to := o + to.APIOptions = make([]func(*middleware.Stack) error, len(o.APIOptions)) + copy(to.APIOptions, o.APIOptions) + return to +} +func (c *Client) invokeOperation(ctx context.Context, opID string, params interface{}, optFns []func(*Options), stackFns ...func(*middleware.Stack, Options) error) (result interface{}, metadata middleware.Metadata, err error) { + ctx = middleware.ClearStackValues(ctx) + stack := middleware.NewStack(opID, smithyhttp.NewStackRequest) + options := c.options.Copy() + for _, fn := range optFns { + fn(&options) + } + + setSafeEventStreamClientLogMode(&options, opID) + + finalizeClientEndpointResolverOptions(&options) + + for _, fn := range stackFns { + if err := fn(stack, options); err != nil { + return nil, metadata, err + } + } + + for _, fn := range options.APIOptions { + if err := fn(stack); err != nil { + return nil, metadata, err + } + } + + handler := middleware.DecorateHandler(smithyhttp.NewClientHandler(options.HTTPClient), stack) + result, metadata, err = handler.Handle(ctx, params) + if err != nil { + err = &smithy.OperationError{ + ServiceID: ServiceID, + OperationName: opID, + Err: err, + } + } + return result, metadata, err +} + +type noSmithyDocumentSerde = smithydocument.NoSerde + +func resolveDefaultLogger(o *Options) { + if o.Logger != nil { + return + } + o.Logger = logging.Nop{} +} + +func addSetLoggerMiddleware(stack *middleware.Stack, o Options) error { + return middleware.AddSetLoggerMiddleware(stack, o.Logger) +} + +// NewFromConfig returns a new client from the provided config. +func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client { + opts := Options{ + Region: cfg.Region, + HTTPClient: cfg.HTTPClient, + Credentials: cfg.Credentials, + APIOptions: cfg.APIOptions, + Logger: cfg.Logger, + ClientLogMode: cfg.ClientLogMode, + } + resolveAWSRetryerProvider(cfg, &opts) + resolveAWSEndpointResolver(cfg, &opts) + resolveUseDualStackEndpoint(cfg, &opts) + resolveUseFIPSEndpoint(cfg, &opts) + return New(opts, optFns...) +} + +func resolveHTTPClient(o *Options) { + if o.HTTPClient != nil { + return + } + o.HTTPClient = awshttp.NewBuildableClient() +} + +func resolveRetryer(o *Options) { + if o.Retryer != nil { + return + } + o.Retryer = retry.NewStandard() +} + +func resolveAWSRetryerProvider(cfg aws.Config, o *Options) { + if cfg.Retryer == nil { + return + } + o.Retryer = cfg.Retryer() +} + +func resolveAWSEndpointResolver(cfg aws.Config, o *Options) { + if cfg.EndpointResolver == nil { + return + } + o.EndpointResolver = withEndpointResolver(cfg.EndpointResolver, cfg.EndpointResolverWithOptions, NewDefaultEndpointResolver()) +} + +func addClientUserAgent(stack *middleware.Stack) error { + return awsmiddleware.AddSDKAgentKeyValue(awsmiddleware.APIMetadata, "transcribestreaming", goModuleVersion)(stack) +} + +func addHTTPSignerV4Middleware(stack *middleware.Stack, o Options) error { + mw := v4.NewSignHTTPRequestMiddleware(v4.SignHTTPRequestMiddlewareOptions{ + CredentialsProvider: o.Credentials, + Signer: o.HTTPSignerV4, + LogSigning: o.ClientLogMode.IsSigning(), + }) + return stack.Finalize.Add(mw, middleware.After) +} + +type HTTPSignerV4 interface { + SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time, optFns ...func(*v4.SignerOptions)) error +} + +func resolveHTTPSignerV4(o *Options) { + if o.HTTPSignerV4 != nil { + return + } + o.HTTPSignerV4 = newDefaultV4Signer(*o) +} + +func newDefaultV4Signer(o Options) *v4.Signer { + return v4.NewSigner(func(so *v4.SignerOptions) { + so.Logger = o.Logger + so.LogSigning = o.ClientLogMode.IsSigning() + }) +} + +func addRetryMiddlewares(stack *middleware.Stack, o Options) error { + mo := retry.AddRetryMiddlewaresOptions{ + Retryer: o.Retryer, + LogRetryAttempts: o.ClientLogMode.IsRetries(), + } + return retry.AddRetryMiddlewares(stack, mo) +} + +// resolves dual-stack endpoint configuration +func resolveUseDualStackEndpoint(cfg aws.Config, o *Options) error { + if len(cfg.ConfigSources) == 0 { + return nil + } + value, found, err := internalConfig.ResolveUseDualStackEndpoint(context.Background(), cfg.ConfigSources) + if err != nil { + return err + } + if found { + o.EndpointOptions.UseDualStackEndpoint = value + } + return nil +} + +// resolves FIPS endpoint configuration +func resolveUseFIPSEndpoint(cfg aws.Config, o *Options) error { + if len(cfg.ConfigSources) == 0 { + return nil + } + value, found, err := internalConfig.ResolveUseFIPSEndpoint(context.Background(), cfg.ConfigSources) + if err != nil { + return err + } + if found { + o.EndpointOptions.UseFIPSEndpoint = value + } + return nil +} + +func addRequestIDRetrieverMiddleware(stack *middleware.Stack) error { + return awsmiddleware.AddRequestIDRetrieverMiddleware(stack) +} + +func addResponseErrorMiddleware(stack *middleware.Stack) error { + return awshttp.AddResponseErrorMiddleware(stack) +} + +func addRequestResponseLogging(stack *middleware.Stack, o Options) error { + return stack.Deserialize.Add(&smithyhttp.RequestResponseLogger{ + LogRequest: o.ClientLogMode.IsRequest(), + LogRequestWithBody: o.ClientLogMode.IsRequestWithBody(), + LogResponse: o.ClientLogMode.IsResponse(), + LogResponseWithBody: o.ClientLogMode.IsResponseWithBody(), + }, middleware.After) +} diff --git a/service/transcribestreaming/api_op_StartMedicalStreamTranscription.go b/service/transcribestreaming/api_op_StartMedicalStreamTranscription.go new file mode 100644 index 00000000000..3f3f4326b97 --- /dev/null +++ b/service/transcribestreaming/api_op_StartMedicalStreamTranscription.go @@ -0,0 +1,363 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package transcribestreaming + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/transcribestreaming/types" + "github.com/aws/smithy-go/middleware" + smithysync "github.com/aws/smithy-go/sync" + "sync" + "time" +) + +// Starts a bidirectional HTTP/2 stream where audio is streamed to Amazon +// Transcribe Medical and the transcription results are streamed to your +// application. +func (c *Client) StartMedicalStreamTranscription(ctx context.Context, params *StartMedicalStreamTranscriptionInput, optFns ...func(*Options)) (*StartMedicalStreamTranscriptionOutput, error) { + if params == nil { + params = &StartMedicalStreamTranscriptionInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "StartMedicalStreamTranscription", params, optFns, c.addOperationStartMedicalStreamTranscriptionMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*StartMedicalStreamTranscriptionOutput) + out.ResultMetadata = metadata + return out, nil +} + +type StartMedicalStreamTranscriptionInput struct { + + // Indicates the source language used in the input audio stream. For Amazon + // Transcribe Medical, this is US English (en-US). + // + // This member is required. + LanguageCode types.LanguageCode + + // The encoding used for the input audio. + // + // This member is required. + MediaEncoding types.MediaEncoding + + // The sample rate of the input audio in Hertz. + // + // This member is required. + MediaSampleRateHertz *int32 + + // The medical specialty of the clinician or provider. + // + // This member is required. + Specialty types.Specialty + + // The type of input audio. Choose DICTATION for a provider dictating patient + // notes. Choose CONVERSATION for a dialogue between a patient and one or more + // medical professionanls. + // + // This member is required. + Type types.Type + + // Set this field to PHI to identify personal health information in the + // transcription output. + ContentIdentificationType types.MedicalContentIdentificationType + + // When true, instructs Amazon Transcribe Medical to process each audio channel + // separately and then merge the transcription output of each channel into a single + // transcription. Amazon Transcribe Medical also produces a transcription of each + // item. An item includes the start time, end time, and any alternative + // transcriptions. You can't set both ShowSpeakerLabel and + // EnableChannelIdentification in the same request. If you set both, your request + // returns a BadRequestException. + EnableChannelIdentification bool + + // The number of channels that are in your audio stream. + NumberOfChannels *int32 + + // Optional. An identifier for the transcription session. If you don't provide a + // session ID, Amazon Transcribe generates one for you and returns it in the + // response. + SessionId *string + + // When true, enables speaker identification in your real-time stream. + ShowSpeakerLabel bool + + // The name of the medical custom vocabulary to use when processing the real-time + // stream. + VocabularyName *string + + noSmithyDocumentSerde +} + +type StartMedicalStreamTranscriptionOutput struct { + + // If the value is PHI, indicates that you've configured your stream to identify + // personal health information. + ContentIdentificationType types.MedicalContentIdentificationType + + // Shows whether channel identification has been enabled in the stream. + EnableChannelIdentification bool + + // The language code for the response transcript. For Amazon Transcribe Medical, + // this is US English (en-US). + LanguageCode types.LanguageCode + + // The encoding used for the input audio stream. + MediaEncoding types.MediaEncoding + + // The sample rate of the input audio in Hertz. + MediaSampleRateHertz *int32 + + // The number of channels identified in the stream. + NumberOfChannels *int32 + + // An identifier for the streaming transcription. + RequestId *string + + // Optional. An identifier for the transcription session. If you don't provide a + // session ID, Amazon Transcribe generates one for you and returns it in the + // response. + SessionId *string + + // Shows whether speaker identification was enabled in the stream. + ShowSpeakerLabel bool + + // The specialty in the medical domain. + Specialty types.Specialty + + // The type of audio that was transcribed. + Type types.Type + + // The name of the vocabulary used when processing the stream. + VocabularyName *string + + eventStream *StartMedicalStreamTranscriptionEventStream + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +// GetStream returns the type to interact with the event stream. +func (o *StartMedicalStreamTranscriptionOutput) GetStream() *StartMedicalStreamTranscriptionEventStream { + return o.eventStream +} + +func (c *Client) addOperationStartMedicalStreamTranscriptionMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpStartMedicalStreamTranscription{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpStartMedicalStreamTranscription{}, middleware.After) + if err != nil { + return err + } + if err = addEventStreamStartMedicalStreamTranscriptionMiddleware(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddStreamingEventsPayload(stack); err != nil { + return err + } + if err = v4.AddContentSHA256HeaderMiddleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = eventstreamapi.AddInitializeStreamWriter(stack); err != nil { + return err + } + if err = addOpStartMedicalStreamTranscriptionValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartMedicalStreamTranscription(options.Region), middleware.Before); 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 + } + return nil +} + +func newServiceMetadataMiddleware_opStartMedicalStreamTranscription(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "transcribe", + OperationName: "StartMedicalStreamTranscription", + } +} + +// StartMedicalStreamTranscriptionEventStream provides the event stream handling for the StartMedicalStreamTranscription operation. +// +// For testing and mocking the event stream this type should be initialized via +// the NewStartMedicalStreamTranscriptionEventStream constructor function. Using the functional options +// to pass in nested mock behavior. +type StartMedicalStreamTranscriptionEventStream struct { + // AudioStreamWriter is the EventStream writer for the AudioStream events. This + // value is automatically set by the SDK when the API call is made Use this member + // when unit testing your code with the SDK to mock out the EventStream Writer. + // + // Must not be nil. + Writer AudioStreamWriter + + // MedicalTranscriptResultStreamReader is the EventStream reader for the + // MedicalTranscriptResultStream events. This value is automatically set by the SDK + // when the API call is made Use this member when unit testing your code with the + // SDK to mock out the EventStream Reader. + // + // Must not be nil. + Reader MedicalTranscriptResultStreamReader + + done chan struct{} + closeOnce sync.Once + err *smithysync.OnceErr +} + +// NewStartMedicalStreamTranscriptionEventStream initializes an StartMedicalStreamTranscriptionEventStream. +// This function should only be used for testing and mocking the StartMedicalStreamTranscriptionEventStream +// stream within your application. +// +// The Writer member must be set before writing events to the stream. +// +// The Reader member must be set before reading events from the stream. +func NewStartMedicalStreamTranscriptionEventStream(optFns ...func(*StartMedicalStreamTranscriptionEventStream)) *StartMedicalStreamTranscriptionEventStream { + es := &StartMedicalStreamTranscriptionEventStream{ + done: make(chan struct{}), + err: smithysync.NewOnceErr(), + } + for _, fn := range optFns { + fn(es) + } + return es +} + +// Send writes the event to the stream blocking until the event is written. +// Returns an error if the event was not written. +func (es *StartMedicalStreamTranscriptionEventStream) Send(ctx context.Context, event types.AudioStream) error { + return es.Writer.Send(ctx, event) +} + +// Events returns a channel to read events from. +func (es *StartMedicalStreamTranscriptionEventStream) Events() <-chan types.MedicalTranscriptResultStream { + return es.Reader.Events() +} + +// Close closes the stream. This will also cause the stream to be closed. +// Close must be called when done using the stream API. Not calling Close +// may result in resource leaks. +// +// Will close the underlying EventStream writer and reader, and no more events can be +// sent or received. +func (es *StartMedicalStreamTranscriptionEventStream) Close() error { + es.closeOnce.Do(es.safeClose) + return es.Err() +} + +func (es *StartMedicalStreamTranscriptionEventStream) safeClose() { + close(es.done) + + t := time.NewTicker(time.Second) + defer t.Stop() + writeCloseDone := make(chan error) + go func() { + if err := es.Writer.Close(); err != nil { + es.err.SetError(err) + } + close(writeCloseDone) + }() + select { + case <-t.C: + case <-writeCloseDone: + } + + es.Reader.Close() +} + +// Err returns any error that occurred while reading or writing EventStream Events +// from the service API's response. Returns nil if there were no errors. +func (es *StartMedicalStreamTranscriptionEventStream) Err() error { + if err := es.err.Err(); err != nil { + return err + } + + if err := es.Writer.Err(); err != nil { + return err + } + + if err := es.Reader.Err(); err != nil { + return err + } + + return nil +} + +func (es *StartMedicalStreamTranscriptionEventStream) waitStreamClose() { + type errorSet interface { + ErrorSet() <-chan struct{} + } + + var inputErrCh <-chan struct{} + if v, ok := es.Writer.(errorSet); ok { + inputErrCh = v.ErrorSet() + } + + var outputErrCh <-chan struct{} + if v, ok := es.Reader.(errorSet); ok { + outputErrCh = v.ErrorSet() + } + var outputClosedCh <-chan struct{} + if v, ok := es.Reader.(interface{ Closed() <-chan struct{} }); ok { + outputClosedCh = v.Closed() + } + + select { + case <-es.done: + case <-inputErrCh: + es.err.SetError(es.Writer.Err()) + es.Close() + + case <-outputErrCh: + es.err.SetError(es.Reader.Err()) + es.Close() + + case <-outputClosedCh: + if err := es.Reader.Err(); err != nil { + es.err.SetError(es.Reader.Err()) + } + es.Close() + + } +} diff --git a/service/transcribestreaming/api_op_StartStreamTranscription.go b/service/transcribestreaming/api_op_StartStreamTranscription.go new file mode 100644 index 00000000000..fcffa72363c --- /dev/null +++ b/service/transcribestreaming/api_op_StartStreamTranscription.go @@ -0,0 +1,418 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package transcribestreaming + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/transcribestreaming/types" + "github.com/aws/smithy-go/middleware" + smithysync "github.com/aws/smithy-go/sync" + "sync" + "time" +) + +// Starts a bidirectional HTTP/2 stream where audio is streamed to Amazon +// Transcribe and the transcription results are streamed to your application. The +// following are encoded as HTTP/2 headers: +// +// * x-amzn-transcribe-language-code +// +// * +// x-amzn-transcribe-media-encoding +// +// * x-amzn-transcribe-sample-rate +// +// * +// x-amzn-transcribe-session-id +// +// See the SDK for Go API Reference +// (https://docs.aws.amazon.com/sdk-for-go/api/service/transcribestreamingservice/#TranscribeStreamingService.StartStreamTranscription) +// for more detail. +func (c *Client) StartStreamTranscription(ctx context.Context, params *StartStreamTranscriptionInput, optFns ...func(*Options)) (*StartStreamTranscriptionOutput, error) { + if params == nil { + params = &StartStreamTranscriptionInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "StartStreamTranscription", params, optFns, c.addOperationStartStreamTranscriptionMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*StartStreamTranscriptionOutput) + out.ResultMetadata = metadata + return out, nil +} + +type StartStreamTranscriptionInput struct { + + // Indicates the source language used in the input audio stream. + // + // This member is required. + LanguageCode types.LanguageCode + + // The encoding used for the input audio. + // + // This member is required. + MediaEncoding types.MediaEncoding + + // The sample rate, in Hertz, of the input audio. We suggest that you use 8,000 Hz + // for low quality audio and 16,000 Hz for high quality audio. + // + // This member is required. + MediaSampleRateHertz *int32 + + // Set this field to PII to identify personally identifiable information (PII) in + // the transcription output. Content identification is performed only upon complete + // transcription of the audio segments. You can’t set both + // ContentIdentificationType and ContentRedactionType in the same request. If you + // set both, your request returns a BadRequestException. + ContentIdentificationType types.ContentIdentificationType + + // Set this field to PII to redact personally identifiable information (PII) in the + // transcription output. Content redaction is performed only upon complete + // transcription of the audio segments. You can’t set both ContentRedactionType and + // ContentIdentificationType in the same request. If you set both, your request + // returns a BadRequestException. + ContentRedactionType types.ContentRedactionType + + // When true, instructs Amazon Transcribe to process each audio channel separately + // and then merge the transcription output of each channel into a single + // transcription. Amazon Transcribe also produces a transcription of each item. An + // item includes the start time, end time, and any alternative transcriptions. You + // can't set both ShowSpeakerLabel and EnableChannelIdentification in the same + // request. If you set both, your request returns a BadRequestException. + EnableChannelIdentification bool + + // When true, instructs Amazon Transcribe to present transcription results that + // have the partial results stabilized. Normally, any word or phrase from one + // partial result can change in a subsequent partial result. With partial results + // stabilization enabled, only the last few words of one partial result can change + // in another partial result. + EnablePartialResultsStabilization bool + + // The name of the language model you want to use. + LanguageModelName *string + + // The number of channels that are in your audio stream. + NumberOfChannels *int32 + + // You can use this field to set the stability level of the transcription results. + // A higher stability level means that the transcription results are less likely to + // change. Higher stability levels can come with lower overall transcription + // accuracy. + PartialResultsStability types.PartialResultsStability + + // List the PII entity types you want to identify or redact. In order to specify + // entity types, you must have either ContentIdentificationType or + // ContentRedactionType enabled. PiiEntityTypes is an optional parameter with a + // default value of ALL. + PiiEntityTypes *string + + // A identifier for the transcription session. Use this parameter when you want to + // retry a session. If you don't provide a session ID, Amazon Transcribe will + // generate one for you and return it in the response. + SessionId *string + + // When true, enables speaker identification in your real-time stream. + ShowSpeakerLabel bool + + // The manner in which you use your vocabulary filter to filter words in your + // transcript. Remove removes filtered words from your transcription results. Mask + // masks filtered words with a *** in your transcription results. Tag keeps the + // filtered words in your transcription results and tags them. The tag appears as + // VocabularyFilterMatch equal to True + VocabularyFilterMethod types.VocabularyFilterMethod + + // The name of the vocabulary filter you've created that is unique to your account. + // Provide the name in this field to successfully use it in a stream. + VocabularyFilterName *string + + // The name of the vocabulary to use when processing the transcription job. + VocabularyName *string + + noSmithyDocumentSerde +} + +type StartStreamTranscriptionOutput struct { + + // Shows whether content identification was enabled in this stream. + ContentIdentificationType types.ContentIdentificationType + + // Shows whether content redaction was enabled in this stream. + ContentRedactionType types.ContentRedactionType + + // Shows whether channel identification has been enabled in the stream. + EnableChannelIdentification bool + + // Shows whether partial results stabilization has been enabled in the stream. + EnablePartialResultsStabilization bool + + // The language code for the input audio stream. + LanguageCode types.LanguageCode + + LanguageModelName *string + + // The encoding used for the input audio stream. + MediaEncoding types.MediaEncoding + + // The sample rate for the input audio stream. Use 8,000 Hz for low quality audio + // and 16,000 Hz for high quality audio. + MediaSampleRateHertz *int32 + + // The number of channels identified in the stream. + NumberOfChannels *int32 + + // If partial results stabilization has been enabled in the stream, shows the + // stability level. + PartialResultsStability types.PartialResultsStability + + // Lists the PII entity types you specified in your request. + PiiEntityTypes *string + + // An identifier for the streaming transcription. + RequestId *string + + // An identifier for a specific transcription session. + SessionId *string + + // Shows whether speaker identification was enabled in the stream. + ShowSpeakerLabel bool + + // The vocabulary filtering method used in the real-time stream. + VocabularyFilterMethod types.VocabularyFilterMethod + + // The name of the vocabulary filter used in your real-time stream. + VocabularyFilterName *string + + // The name of the vocabulary used when processing the stream. + VocabularyName *string + + eventStream *StartStreamTranscriptionEventStream + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +// GetStream returns the type to interact with the event stream. +func (o *StartStreamTranscriptionOutput) GetStream() *StartStreamTranscriptionEventStream { + return o.eventStream +} + +func (c *Client) addOperationStartStreamTranscriptionMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpStartStreamTranscription{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpStartStreamTranscription{}, middleware.After) + if err != nil { + return err + } + if err = addEventStreamStartStreamTranscriptionMiddleware(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddStreamingEventsPayload(stack); err != nil { + return err + } + if err = v4.AddContentSHA256HeaderMiddleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = eventstreamapi.AddInitializeStreamWriter(stack); err != nil { + return err + } + if err = addOpStartStreamTranscriptionValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartStreamTranscription(options.Region), middleware.Before); 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 + } + return nil +} + +func newServiceMetadataMiddleware_opStartStreamTranscription(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "transcribe", + OperationName: "StartStreamTranscription", + } +} + +// StartStreamTranscriptionEventStream provides the event stream handling for the StartStreamTranscription operation. +// +// For testing and mocking the event stream this type should be initialized via +// the NewStartStreamTranscriptionEventStream constructor function. Using the functional options +// to pass in nested mock behavior. +type StartStreamTranscriptionEventStream struct { + // AudioStreamWriter is the EventStream writer for the AudioStream events. This + // value is automatically set by the SDK when the API call is made Use this member + // when unit testing your code with the SDK to mock out the EventStream Writer. + // + // Must not be nil. + Writer AudioStreamWriter + + // TranscriptResultStreamReader is the EventStream reader for the + // TranscriptResultStream events. This value is automatically set by the SDK when + // the API call is made Use this member when unit testing your code with the SDK to + // mock out the EventStream Reader. + // + // Must not be nil. + Reader TranscriptResultStreamReader + + done chan struct{} + closeOnce sync.Once + err *smithysync.OnceErr +} + +// NewStartStreamTranscriptionEventStream initializes an StartStreamTranscriptionEventStream. +// This function should only be used for testing and mocking the StartStreamTranscriptionEventStream +// stream within your application. +// +// The Writer member must be set before writing events to the stream. +// +// The Reader member must be set before reading events from the stream. +func NewStartStreamTranscriptionEventStream(optFns ...func(*StartStreamTranscriptionEventStream)) *StartStreamTranscriptionEventStream { + es := &StartStreamTranscriptionEventStream{ + done: make(chan struct{}), + err: smithysync.NewOnceErr(), + } + for _, fn := range optFns { + fn(es) + } + return es +} + +// Send writes the event to the stream blocking until the event is written. +// Returns an error if the event was not written. +func (es *StartStreamTranscriptionEventStream) Send(ctx context.Context, event types.AudioStream) error { + return es.Writer.Send(ctx, event) +} + +// Events returns a channel to read events from. +func (es *StartStreamTranscriptionEventStream) Events() <-chan types.TranscriptResultStream { + return es.Reader.Events() +} + +// Close closes the stream. This will also cause the stream to be closed. +// Close must be called when done using the stream API. Not calling Close +// may result in resource leaks. +// +// Will close the underlying EventStream writer and reader, and no more events can be +// sent or received. +func (es *StartStreamTranscriptionEventStream) Close() error { + es.closeOnce.Do(es.safeClose) + return es.Err() +} + +func (es *StartStreamTranscriptionEventStream) safeClose() { + close(es.done) + + t := time.NewTicker(time.Second) + defer t.Stop() + writeCloseDone := make(chan error) + go func() { + if err := es.Writer.Close(); err != nil { + es.err.SetError(err) + } + close(writeCloseDone) + }() + select { + case <-t.C: + case <-writeCloseDone: + } + + es.Reader.Close() +} + +// Err returns any error that occurred while reading or writing EventStream Events +// from the service API's response. Returns nil if there were no errors. +func (es *StartStreamTranscriptionEventStream) Err() error { + if err := es.err.Err(); err != nil { + return err + } + + if err := es.Writer.Err(); err != nil { + return err + } + + if err := es.Reader.Err(); err != nil { + return err + } + + return nil +} + +func (es *StartStreamTranscriptionEventStream) waitStreamClose() { + type errorSet interface { + ErrorSet() <-chan struct{} + } + + var inputErrCh <-chan struct{} + if v, ok := es.Writer.(errorSet); ok { + inputErrCh = v.ErrorSet() + } + + var outputErrCh <-chan struct{} + if v, ok := es.Reader.(errorSet); ok { + outputErrCh = v.ErrorSet() + } + var outputClosedCh <-chan struct{} + if v, ok := es.Reader.(interface{ Closed() <-chan struct{} }); ok { + outputClosedCh = v.Closed() + } + + select { + case <-es.done: + case <-inputErrCh: + es.err.SetError(es.Writer.Err()) + es.Close() + + case <-outputErrCh: + es.err.SetError(es.Reader.Err()) + es.Close() + + case <-outputClosedCh: + if err := es.Reader.Err(); err != nil { + es.err.SetError(es.Reader.Err()) + } + es.Close() + + } +} diff --git a/service/transcribestreaming/deserializers.go b/service/transcribestreaming/deserializers.go new file mode 100644 index 00000000000..65d4e4238d4 --- /dev/null +++ b/service/transcribestreaming/deserializers.go @@ -0,0 +1,2643 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package transcribestreaming + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi" + "github.com/aws/aws-sdk-go-v2/aws/protocol/restjson" + "github.com/aws/aws-sdk-go-v2/service/transcribestreaming/types" + smithy "github.com/aws/smithy-go" + smithyio "github.com/aws/smithy-go/io" + "github.com/aws/smithy-go/middleware" + "github.com/aws/smithy-go/ptr" + smithyhttp "github.com/aws/smithy-go/transport/http" + "io" + "math" + "strconv" + "strings" +) + +type awsRestjson1_deserializeOpStartMedicalStreamTranscription struct { +} + +func (*awsRestjson1_deserializeOpStartMedicalStreamTranscription) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpStartMedicalStreamTranscription) 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_deserializeOpErrorStartMedicalStreamTranscription(response, &metadata) + } + output := &StartMedicalStreamTranscriptionOutput{} + out.Result = output + + err = awsRestjson1_deserializeOpHttpBindingsStartMedicalStreamTranscriptionOutput(output, response) + if err != nil { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response with invalid Http bindings, %w", err)} + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorStartMedicalStreamTranscription(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 + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, 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(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalFailureException", errorCode): + return awsRestjson1_deserializeErrorInternalFailureException(response, errorBody) + + case strings.EqualFold("LimitExceededException", errorCode): + return awsRestjson1_deserializeErrorLimitExceededException(response, errorBody) + + case strings.EqualFold("ServiceUnavailableException", errorCode): + return awsRestjson1_deserializeErrorServiceUnavailableException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpHttpBindingsStartMedicalStreamTranscriptionOutput(v *StartMedicalStreamTranscriptionOutput, response *smithyhttp.Response) error { + if v == nil { + return fmt.Errorf("unsupported deserialization for nil %T", v) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-content-identification-type"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.ContentIdentificationType = types.MedicalContentIdentificationType(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-enable-channel-identification"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + vv, err := strconv.ParseBool(headerValues[0]) + if err != nil { + return err + } + v.EnableChannelIdentification = vv + } + + if headerValues := response.Header.Values("x-amzn-transcribe-language-code"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.LanguageCode = types.LanguageCode(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-media-encoding"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.MediaEncoding = types.MediaEncoding(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-sample-rate"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + vv, err := strconv.ParseInt(headerValues[0], 0, 32) + if err != nil { + return err + } + v.MediaSampleRateHertz = ptr.Int32(int32(vv)) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-number-of-channels"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + vv, err := strconv.ParseInt(headerValues[0], 0, 32) + if err != nil { + return err + } + v.NumberOfChannels = ptr.Int32(int32(vv)) + } + + if headerValues := response.Header.Values("x-amzn-request-id"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.RequestId = ptr.String(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-session-id"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.SessionId = ptr.String(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-show-speaker-label"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + vv, err := strconv.ParseBool(headerValues[0]) + if err != nil { + return err + } + v.ShowSpeakerLabel = vv + } + + if headerValues := response.Header.Values("x-amzn-transcribe-specialty"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.Specialty = types.Specialty(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-type"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.Type = types.Type(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-vocabulary-name"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.VocabularyName = ptr.String(headerValues[0]) + } + + return nil +} + +type awsRestjson1_deserializeOpStartStreamTranscription struct { +} + +func (*awsRestjson1_deserializeOpStartStreamTranscription) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpStartStreamTranscription) 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_deserializeOpErrorStartStreamTranscription(response, &metadata) + } + output := &StartStreamTranscriptionOutput{} + out.Result = output + + err = awsRestjson1_deserializeOpHttpBindingsStartStreamTranscriptionOutput(output, response) + if err != nil { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response with invalid Http bindings, %w", err)} + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorStartStreamTranscription(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 + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, 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(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalFailureException", errorCode): + return awsRestjson1_deserializeErrorInternalFailureException(response, errorBody) + + case strings.EqualFold("LimitExceededException", errorCode): + return awsRestjson1_deserializeErrorLimitExceededException(response, errorBody) + + case strings.EqualFold("ServiceUnavailableException", errorCode): + return awsRestjson1_deserializeErrorServiceUnavailableException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpHttpBindingsStartStreamTranscriptionOutput(v *StartStreamTranscriptionOutput, response *smithyhttp.Response) error { + if v == nil { + return fmt.Errorf("unsupported deserialization for nil %T", v) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-content-identification-type"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.ContentIdentificationType = types.ContentIdentificationType(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-content-redaction-type"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.ContentRedactionType = types.ContentRedactionType(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-enable-channel-identification"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + vv, err := strconv.ParseBool(headerValues[0]) + if err != nil { + return err + } + v.EnableChannelIdentification = vv + } + + if headerValues := response.Header.Values("x-amzn-transcribe-enable-partial-results-stabilization"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + vv, err := strconv.ParseBool(headerValues[0]) + if err != nil { + return err + } + v.EnablePartialResultsStabilization = vv + } + + if headerValues := response.Header.Values("x-amzn-transcribe-language-code"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.LanguageCode = types.LanguageCode(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-language-model-name"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.LanguageModelName = ptr.String(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-media-encoding"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.MediaEncoding = types.MediaEncoding(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-sample-rate"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + vv, err := strconv.ParseInt(headerValues[0], 0, 32) + if err != nil { + return err + } + v.MediaSampleRateHertz = ptr.Int32(int32(vv)) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-number-of-channels"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + vv, err := strconv.ParseInt(headerValues[0], 0, 32) + if err != nil { + return err + } + v.NumberOfChannels = ptr.Int32(int32(vv)) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-partial-results-stability"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.PartialResultsStability = types.PartialResultsStability(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-pii-entity-types"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.PiiEntityTypes = ptr.String(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-request-id"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.RequestId = ptr.String(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-session-id"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.SessionId = ptr.String(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-show-speaker-label"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + vv, err := strconv.ParseBool(headerValues[0]) + if err != nil { + return err + } + v.ShowSpeakerLabel = vv + } + + if headerValues := response.Header.Values("x-amzn-transcribe-vocabulary-filter-method"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.VocabularyFilterMethod = types.VocabularyFilterMethod(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-vocabulary-filter-name"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.VocabularyFilterName = ptr.String(headerValues[0]) + } + + if headerValues := response.Header.Values("x-amzn-transcribe-vocabulary-name"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.VocabularyName = ptr.String(headerValues[0]) + } + + return nil +} +func awsRestjson1_deserializeEventStreamMedicalTranscriptResultStream(v *types.MedicalTranscriptResultStream, msg *eventstream.Message) error { + if v == nil { + return fmt.Errorf("unexpected serialization of nil %T", v) + } + + eventType := msg.Headers.Get(eventstreamapi.EventTypeHeader) + if eventType == nil { + return fmt.Errorf("%s event header not present", eventstreamapi.EventTypeHeader) + } + + switch { + case strings.EqualFold("TranscriptEvent", eventType.String()): + vv := &types.MedicalTranscriptResultStreamMemberTranscriptEvent{} + if err := awsRestjson1_deserializeEventMessageMedicalTranscriptEvent(&vv.Value, msg); err != nil { + return err + } + *v = vv + return nil + + default: + buffer := bytes.NewBuffer(nil) + eventstream.NewEncoder().Encode(buffer, *msg) + *v = &types.UnknownUnionMember{ + Tag: eventType.String(), + Value: buffer.Bytes(), + } + return nil + + } +} + +func awsRestjson1_deserializeEventStreamExceptionMedicalTranscriptResultStream(msg *eventstream.Message) error { + exceptionType := msg.Headers.Get(eventstreamapi.ExceptionTypeHeader) + if exceptionType == nil { + return fmt.Errorf("%s event header not present", eventstreamapi.ExceptionTypeHeader) + } + + switch { + case strings.EqualFold("BadRequestException", exceptionType.String()): + return awsRestjson1_deserializeEventMessageExceptionBadRequestException(msg) + + case strings.EqualFold("ConflictException", exceptionType.String()): + return awsRestjson1_deserializeEventMessageExceptionConflictException(msg) + + case strings.EqualFold("InternalFailureException", exceptionType.String()): + return awsRestjson1_deserializeEventMessageExceptionInternalFailureException(msg) + + case strings.EqualFold("LimitExceededException", exceptionType.String()): + return awsRestjson1_deserializeEventMessageExceptionLimitExceededException(msg) + + case strings.EqualFold("ServiceUnavailableException", exceptionType.String()): + return awsRestjson1_deserializeEventMessageExceptionServiceUnavailableException(msg) + + default: + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(br, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + return err + } + errorCode := "UnknownError" + errorMessage := errorCode + if ev := exceptionType.String(); len(ev) > 0 { + errorCode = ev + } else if ev := code; len(ev) > 0 { + errorCode = ev + } + if ev := message; len(ev) > 0 { + errorMessage = ev + } + return &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + + } +} + +func awsRestjson1_deserializeEventMessageMedicalTranscriptEvent(v *types.MedicalTranscriptEvent, msg *eventstream.Message) error { + if v == nil { + return fmt.Errorf("unexpected serialization of nil %T", v) + } + + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(br, 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 err + } + + if err := awsRestjson1_deserializeDocumentMedicalTranscriptEvent(&v, shape); err != nil { + 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 + } + + } + return nil +} + +func awsRestjson1_deserializeEventMessageExceptionBadRequestException(msg *eventstream.Message) error { + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(br, 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 err + } + + v := &types.BadRequestException{} + if err := awsRestjson1_deserializeDocumentBadRequestException(&v, shape); err != nil { + 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 + } + + } + return v +} + +func awsRestjson1_deserializeEventMessageExceptionLimitExceededException(msg *eventstream.Message) error { + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(br, 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 err + } + + v := &types.LimitExceededException{} + if err := awsRestjson1_deserializeDocumentLimitExceededException(&v, shape); err != nil { + 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 + } + + } + return v +} + +func awsRestjson1_deserializeEventMessageExceptionInternalFailureException(msg *eventstream.Message) error { + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(br, 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 err + } + + v := &types.InternalFailureException{} + if err := awsRestjson1_deserializeDocumentInternalFailureException(&v, shape); err != nil { + 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 + } + + } + return v +} + +func awsRestjson1_deserializeEventMessageExceptionConflictException(msg *eventstream.Message) error { + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(br, 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 err + } + + v := &types.ConflictException{} + if err := awsRestjson1_deserializeDocumentConflictException(&v, shape); err != nil { + 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 + } + + } + return v +} + +func awsRestjson1_deserializeEventMessageExceptionServiceUnavailableException(msg *eventstream.Message) error { + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(br, 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 err + } + + v := &types.ServiceUnavailableException{} + if err := awsRestjson1_deserializeDocumentServiceUnavailableException(&v, shape); err != nil { + 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 + } + + } + return v +} + +func awsRestjson1_deserializeDocumentInternalFailureException(v **types.InternalFailureException, 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.InternalFailureException + if *v == nil { + sv = &types.InternalFailureException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentMedicalEntity(v **types.MedicalEntity, 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.MedicalEntity + if *v == nil { + sv = &types.MedicalEntity{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Category": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Category = ptr.String(jtv) + } + + case "Confidence": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Confidence = ptr.Float64(f64) + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.Confidence = ptr.Float64(f64) + + default: + return fmt.Errorf("expected Confidence to be a JSON Number, got %T instead", value) + + } + } + + case "Content": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Content = ptr.String(jtv) + } + + case "EndTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.EndTime = f64 + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.EndTime = f64 + + default: + return fmt.Errorf("expected Double to be a JSON Number, got %T instead", value) + + } + } + + case "StartTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.StartTime = f64 + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.StartTime = f64 + + default: + return fmt.Errorf("expected Double to be a JSON Number, got %T instead", value) + + } + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentLimitExceededException(v **types.LimitExceededException, 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.LimitExceededException + if *v == nil { + sv = &types.LimitExceededException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentMedicalAlternativeList(v *[]types.MedicalAlternative, 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.MedicalAlternative + if *v == nil { + cv = []types.MedicalAlternative{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.MedicalAlternative + destAddr := &col + if err := awsRestjson1_deserializeDocumentMedicalAlternative(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentMedicalTranscriptEvent(v **types.MedicalTranscriptEvent, 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.MedicalTranscriptEvent + if *v == nil { + sv = &types.MedicalTranscriptEvent{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Transcript": + if err := awsRestjson1_deserializeDocumentMedicalTranscript(&sv.Transcript, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentMedicalAlternative(v **types.MedicalAlternative, 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.MedicalAlternative + if *v == nil { + sv = &types.MedicalAlternative{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Entities": + if err := awsRestjson1_deserializeDocumentMedicalEntityList(&sv.Entities, value); err != nil { + return err + } + + case "Items": + if err := awsRestjson1_deserializeDocumentMedicalItemList(&sv.Items, value); err != nil { + return err + } + + case "Transcript": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Transcript = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentMedicalEntityList(v *[]types.MedicalEntity, 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.MedicalEntity + if *v == nil { + cv = []types.MedicalEntity{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.MedicalEntity + destAddr := &col + if err := awsRestjson1_deserializeDocumentMedicalEntity(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentMedicalItem(v **types.MedicalItem, 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.MedicalItem + if *v == nil { + sv = &types.MedicalItem{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Confidence": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Confidence = ptr.Float64(f64) + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.Confidence = ptr.Float64(f64) + + default: + return fmt.Errorf("expected Confidence to be a JSON Number, got %T instead", value) + + } + } + + case "Content": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Content = ptr.String(jtv) + } + + case "EndTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.EndTime = f64 + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.EndTime = f64 + + default: + return fmt.Errorf("expected Double to be a JSON Number, got %T instead", value) + + } + } + + case "Speaker": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Speaker = ptr.String(jtv) + } + + case "StartTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.StartTime = f64 + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.StartTime = f64 + + default: + return fmt.Errorf("expected Double to be a JSON Number, got %T instead", value) + + } + } + + case "Type": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ItemType to be of type string, got %T instead", value) + } + sv.Type = types.ItemType(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentMedicalResultList(v *[]types.MedicalResult, 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.MedicalResult + if *v == nil { + cv = []types.MedicalResult{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.MedicalResult + destAddr := &col + if err := awsRestjson1_deserializeDocumentMedicalResult(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentConflictException(v **types.ConflictException, 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.ConflictException + if *v == nil { + sv = &types.ConflictException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentMedicalTranscript(v **types.MedicalTranscript, 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.MedicalTranscript + if *v == nil { + sv = &types.MedicalTranscript{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Results": + if err := awsRestjson1_deserializeDocumentMedicalResultList(&sv.Results, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentBadRequestException(v **types.BadRequestException, 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.BadRequestException + if *v == nil { + sv = &types.BadRequestException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentMedicalItemList(v *[]types.MedicalItem, 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.MedicalItem + if *v == nil { + cv = []types.MedicalItem{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.MedicalItem + destAddr := &col + if err := awsRestjson1_deserializeDocumentMedicalItem(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentMedicalResult(v **types.MedicalResult, 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.MedicalResult + if *v == nil { + sv = &types.MedicalResult{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Alternatives": + if err := awsRestjson1_deserializeDocumentMedicalAlternativeList(&sv.Alternatives, value); err != nil { + return err + } + + case "ChannelId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ChannelId = ptr.String(jtv) + } + + case "EndTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.EndTime = f64 + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.EndTime = f64 + + default: + return fmt.Errorf("expected Double to be a JSON Number, got %T instead", value) + + } + } + + case "IsPartial": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsPartial = jtv + } + + case "ResultId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ResultId = ptr.String(jtv) + } + + case "StartTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.StartTime = f64 + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.StartTime = f64 + + default: + return fmt.Errorf("expected Double to be a JSON Number, got %T instead", value) + + } + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentServiceUnavailableException(v **types.ServiceUnavailableException, 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.ServiceUnavailableException + if *v == nil { + sv = &types.ServiceUnavailableException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeEventStreamTranscriptResultStream(v *types.TranscriptResultStream, msg *eventstream.Message) error { + if v == nil { + return fmt.Errorf("unexpected serialization of nil %T", v) + } + + eventType := msg.Headers.Get(eventstreamapi.EventTypeHeader) + if eventType == nil { + return fmt.Errorf("%s event header not present", eventstreamapi.EventTypeHeader) + } + + switch { + case strings.EqualFold("TranscriptEvent", eventType.String()): + vv := &types.TranscriptResultStreamMemberTranscriptEvent{} + if err := awsRestjson1_deserializeEventMessageTranscriptEvent(&vv.Value, msg); err != nil { + return err + } + *v = vv + return nil + + default: + buffer := bytes.NewBuffer(nil) + eventstream.NewEncoder().Encode(buffer, *msg) + *v = &types.UnknownUnionMember{ + Tag: eventType.String(), + Value: buffer.Bytes(), + } + return nil + + } +} + +func awsRestjson1_deserializeEventStreamExceptionTranscriptResultStream(msg *eventstream.Message) error { + exceptionType := msg.Headers.Get(eventstreamapi.ExceptionTypeHeader) + if exceptionType == nil { + return fmt.Errorf("%s event header not present", eventstreamapi.ExceptionTypeHeader) + } + + switch { + case strings.EqualFold("BadRequestException", exceptionType.String()): + return awsRestjson1_deserializeEventMessageExceptionBadRequestException(msg) + + case strings.EqualFold("ConflictException", exceptionType.String()): + return awsRestjson1_deserializeEventMessageExceptionConflictException(msg) + + case strings.EqualFold("InternalFailureException", exceptionType.String()): + return awsRestjson1_deserializeEventMessageExceptionInternalFailureException(msg) + + case strings.EqualFold("LimitExceededException", exceptionType.String()): + return awsRestjson1_deserializeEventMessageExceptionLimitExceededException(msg) + + case strings.EqualFold("ServiceUnavailableException", exceptionType.String()): + return awsRestjson1_deserializeEventMessageExceptionServiceUnavailableException(msg) + + default: + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(br, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + return err + } + errorCode := "UnknownError" + errorMessage := errorCode + if ev := exceptionType.String(); len(ev) > 0 { + errorCode = ev + } else if ev := code; len(ev) > 0 { + errorCode = ev + } + if ev := message; len(ev) > 0 { + errorMessage = ev + } + return &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + + } +} + +func awsRestjson1_deserializeEventMessageTranscriptEvent(v *types.TranscriptEvent, msg *eventstream.Message) error { + if v == nil { + return fmt.Errorf("unexpected serialization of nil %T", v) + } + + br := bytes.NewReader(msg.Payload) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(br, 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 err + } + + if err := awsRestjson1_deserializeDocumentTranscriptEvent(&v, shape); err != nil { + 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 + } + + } + return nil +} + +func awsRestjson1_deserializeDocumentAlternative(v **types.Alternative, 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.Alternative + if *v == nil { + sv = &types.Alternative{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Entities": + if err := awsRestjson1_deserializeDocumentEntityList(&sv.Entities, value); err != nil { + return err + } + + case "Items": + if err := awsRestjson1_deserializeDocumentItemList(&sv.Items, value); err != nil { + return err + } + + case "Transcript": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Transcript = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentEntityList(v *[]types.Entity, 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.Entity + if *v == nil { + cv = []types.Entity{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.Entity + destAddr := &col + if err := awsRestjson1_deserializeDocumentEntity(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentTranscript(v **types.Transcript, 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.Transcript + if *v == nil { + sv = &types.Transcript{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Results": + if err := awsRestjson1_deserializeDocumentResultList(&sv.Results, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentAlternativeList(v *[]types.Alternative, 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.Alternative + if *v == nil { + cv = []types.Alternative{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.Alternative + destAddr := &col + if err := awsRestjson1_deserializeDocumentAlternative(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentEntity(v **types.Entity, 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.Entity + if *v == nil { + sv = &types.Entity{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Category": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Category = ptr.String(jtv) + } + + case "Confidence": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Confidence = ptr.Float64(f64) + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.Confidence = ptr.Float64(f64) + + default: + return fmt.Errorf("expected Confidence to be a JSON Number, got %T instead", value) + + } + } + + case "Content": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Content = ptr.String(jtv) + } + + case "EndTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.EndTime = f64 + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.EndTime = f64 + + default: + return fmt.Errorf("expected Double to be a JSON Number, got %T instead", value) + + } + } + + case "StartTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.StartTime = f64 + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.StartTime = f64 + + default: + return fmt.Errorf("expected Double to be a JSON Number, got %T instead", value) + + } + } + + case "Type": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Type = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentItem(v **types.Item, 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.Item + if *v == nil { + sv = &types.Item{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Confidence": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Confidence = ptr.Float64(f64) + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.Confidence = ptr.Float64(f64) + + default: + return fmt.Errorf("expected Confidence to be a JSON Number, got %T instead", value) + + } + } + + case "Content": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Content = ptr.String(jtv) + } + + case "EndTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.EndTime = f64 + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.EndTime = f64 + + default: + return fmt.Errorf("expected Double to be a JSON Number, got %T instead", value) + + } + } + + case "Speaker": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Speaker = ptr.String(jtv) + } + + case "Stable": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Stable to be of type *bool, got %T instead", value) + } + sv.Stable = ptr.Bool(jtv) + } + + case "StartTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.StartTime = f64 + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.StartTime = f64 + + default: + return fmt.Errorf("expected Double to be a JSON Number, got %T instead", value) + + } + } + + case "Type": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ItemType to be of type string, got %T instead", value) + } + sv.Type = types.ItemType(jtv) + } + + case "VocabularyFilterMatch": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.VocabularyFilterMatch = jtv + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentResult(v **types.Result, 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.Result + if *v == nil { + sv = &types.Result{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Alternatives": + if err := awsRestjson1_deserializeDocumentAlternativeList(&sv.Alternatives, value); err != nil { + return err + } + + case "ChannelId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ChannelId = ptr.String(jtv) + } + + case "EndTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.EndTime = f64 + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.EndTime = f64 + + default: + return fmt.Errorf("expected Double to be a JSON Number, got %T instead", value) + + } + } + + case "IsPartial": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsPartial = jtv + } + + case "ResultId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ResultId = ptr.String(jtv) + } + + case "StartTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.StartTime = f64 + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.StartTime = f64 + + default: + return fmt.Errorf("expected Double to be a JSON Number, got %T instead", value) + + } + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentResultList(v *[]types.Result, 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.Result + if *v == nil { + cv = []types.Result{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.Result + destAddr := &col + if err := awsRestjson1_deserializeDocumentResult(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentItemList(v *[]types.Item, 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.Item + if *v == nil { + cv = []types.Item{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.Item + destAddr := &col + if err := awsRestjson1_deserializeDocumentItem(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentTranscriptEvent(v **types.TranscriptEvent, 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.TranscriptEvent + if *v == nil { + sv = &types.TranscriptEvent{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Transcript": + if err := awsRestjson1_deserializeDocumentTranscript(&sv.Transcript, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeErrorBadRequestException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.BadRequestException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + err := awsRestjson1_deserializeDocumentBadRequestException(&output, shape) + + 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) + + return output +} + +func awsRestjson1_deserializeErrorConflictException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ConflictException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + err := awsRestjson1_deserializeDocumentConflictException(&output, shape) + + 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) + + return output +} + +func awsRestjson1_deserializeErrorInternalFailureException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InternalFailureException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + err := awsRestjson1_deserializeDocumentInternalFailureException(&output, shape) + + 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) + + return output +} + +func awsRestjson1_deserializeErrorLimitExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.LimitExceededException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + err := awsRestjson1_deserializeDocumentLimitExceededException(&output, shape) + + 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) + + return output +} + +func awsRestjson1_deserializeErrorServiceUnavailableException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ServiceUnavailableException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, 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 err + } + + err := awsRestjson1_deserializeDocumentServiceUnavailableException(&output, shape) + + 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) + + return output +} diff --git a/service/transcribestreaming/doc.go b/service/transcribestreaming/doc.go new file mode 100644 index 00000000000..a4829573b5f --- /dev/null +++ b/service/transcribestreaming/doc.go @@ -0,0 +1,7 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +// Package transcribestreaming provides the API client, operations, and parameter +// types for Amazon Transcribe Streaming Service. +// +// Operations and objects for transcribing streaming speech to text. +package transcribestreaming diff --git a/service/transcribestreaming/endpoints.go b/service/transcribestreaming/endpoints.go new file mode 100644 index 00000000000..210b9af3b52 --- /dev/null +++ b/service/transcribestreaming/endpoints.go @@ -0,0 +1,200 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package transcribestreaming + +import ( + "context" + "errors" + "fmt" + "github.com/aws/aws-sdk-go-v2/aws" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + internalendpoints "github.com/aws/aws-sdk-go-v2/service/transcribestreaming/internal/endpoints" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" + "net/url" + "strings" +) + +// EndpointResolverOptions is the service endpoint resolver options +type EndpointResolverOptions = internalendpoints.Options + +// EndpointResolver interface for resolving service endpoints. +type EndpointResolver interface { + ResolveEndpoint(region string, options EndpointResolverOptions) (aws.Endpoint, error) +} + +var _ EndpointResolver = &internalendpoints.Resolver{} + +// NewDefaultEndpointResolver constructs a new service endpoint resolver +func NewDefaultEndpointResolver() *internalendpoints.Resolver { + return internalendpoints.New() +} + +// EndpointResolverFunc is a helper utility that wraps a function so it satisfies +// the EndpointResolver interface. This is useful when you want to add additional +// endpoint resolving logic, or stub out specific endpoints with custom values. +type EndpointResolverFunc func(region string, options EndpointResolverOptions) (aws.Endpoint, error) + +func (fn EndpointResolverFunc) ResolveEndpoint(region string, options EndpointResolverOptions) (endpoint aws.Endpoint, err error) { + return fn(region, options) +} + +func resolveDefaultEndpointConfiguration(o *Options) { + if o.EndpointResolver != nil { + return + } + o.EndpointResolver = NewDefaultEndpointResolver() +} + +// EndpointResolverFromURL returns an EndpointResolver configured using the +// provided endpoint url. By default, the resolved endpoint resolver uses the +// client region as signing region, and the endpoint source is set to +// EndpointSourceCustom.You can provide functional options to configure endpoint +// values for the resolved endpoint. +func EndpointResolverFromURL(url string, optFns ...func(*aws.Endpoint)) EndpointResolver { + e := aws.Endpoint{URL: url, Source: aws.EndpointSourceCustom} + for _, fn := range optFns { + fn(&e) + } + + return EndpointResolverFunc( + func(region string, options EndpointResolverOptions) (aws.Endpoint, error) { + if len(e.SigningRegion) == 0 { + e.SigningRegion = region + } + return e, nil + }, + ) +} + +type ResolveEndpoint struct { + Resolver EndpointResolver + Options EndpointResolverOptions +} + +func (*ResolveEndpoint) ID() string { + return "ResolveEndpoint" +} + +func (m *ResolveEndpoint) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + req, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, fmt.Errorf("unknown transport type %T", in.Request) + } + + if m.Resolver == nil { + return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil") + } + + eo := m.Options + eo.Logger = middleware.GetLogger(ctx) + + var endpoint aws.Endpoint + endpoint, err = m.Resolver.ResolveEndpoint(awsmiddleware.GetRegion(ctx), eo) + if err != nil { + return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err) + } + + req.URL, err = url.Parse(endpoint.URL) + if err != nil { + return out, metadata, fmt.Errorf("failed to parse endpoint URL: %w", err) + } + + if len(awsmiddleware.GetSigningName(ctx)) == 0 { + signingName := endpoint.SigningName + if len(signingName) == 0 { + signingName = "transcribe" + } + ctx = awsmiddleware.SetSigningName(ctx, signingName) + } + ctx = awsmiddleware.SetEndpointSource(ctx, endpoint.Source) + ctx = smithyhttp.SetHostnameImmutable(ctx, endpoint.HostnameImmutable) + ctx = awsmiddleware.SetSigningRegion(ctx, endpoint.SigningRegion) + ctx = awsmiddleware.SetPartitionID(ctx, endpoint.PartitionID) + return next.HandleSerialize(ctx, in) +} +func addResolveEndpointMiddleware(stack *middleware.Stack, o Options) error { + return stack.Serialize.Insert(&ResolveEndpoint{ + Resolver: o.EndpointResolver, + Options: o.EndpointOptions, + }, "OperationSerializer", middleware.Before) +} + +func removeResolveEndpointMiddleware(stack *middleware.Stack) error { + _, err := stack.Serialize.Remove((&ResolveEndpoint{}).ID()) + return err +} + +type wrappedEndpointResolver struct { + awsResolver aws.EndpointResolverWithOptions + resolver EndpointResolver +} + +func (w *wrappedEndpointResolver) ResolveEndpoint(region string, options EndpointResolverOptions) (endpoint aws.Endpoint, err error) { + if w.awsResolver == nil { + goto fallback + } + endpoint, err = w.awsResolver.ResolveEndpoint(ServiceID, region, options) + if err == nil { + return endpoint, nil + } + + if nf := (&aws.EndpointNotFoundError{}); !errors.As(err, &nf) { + return endpoint, err + } + +fallback: + if w.resolver == nil { + return endpoint, fmt.Errorf("default endpoint resolver provided was nil") + } + return w.resolver.ResolveEndpoint(region, options) +} + +type awsEndpointResolverAdaptor func(service, region string) (aws.Endpoint, error) + +func (a awsEndpointResolverAdaptor) ResolveEndpoint(service, region string, options ...interface{}) (aws.Endpoint, error) { + return a(service, region) +} + +var _ aws.EndpointResolverWithOptions = awsEndpointResolverAdaptor(nil) + +// withEndpointResolver returns an EndpointResolver that first delegates endpoint resolution to the awsResolver. +// If awsResolver returns aws.EndpointNotFoundError error, the resolver will use the the provided +// fallbackResolver for resolution. +// +// fallbackResolver must not be nil +func withEndpointResolver(awsResolver aws.EndpointResolver, awsResolverWithOptions aws.EndpointResolverWithOptions, fallbackResolver EndpointResolver) EndpointResolver { + var resolver aws.EndpointResolverWithOptions + + if awsResolverWithOptions != nil { + resolver = awsResolverWithOptions + } else if awsResolver != nil { + resolver = awsEndpointResolverAdaptor(awsResolver.ResolveEndpoint) + } + + return &wrappedEndpointResolver{ + awsResolver: resolver, + resolver: fallbackResolver, + } +} + +func finalizeClientEndpointResolverOptions(options *Options) { + options.EndpointOptions.LogDeprecated = options.ClientLogMode.IsDeprecatedUsage() + + if len(options.EndpointOptions.ResolvedRegion) == 0 { + const fipsInfix = "-fips-" + const fipsPrefix = "fips-" + const fipsSuffix = "-fips" + + if strings.Contains(options.Region, fipsInfix) || + strings.Contains(options.Region, fipsPrefix) || + strings.Contains(options.Region, fipsSuffix) { + options.EndpointOptions.ResolvedRegion = strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll( + options.Region, fipsInfix, "-"), fipsPrefix, ""), fipsSuffix, "") + options.EndpointOptions.UseFIPSEndpoint = aws.FIPSEndpointStateEnabled + } + } + +} diff --git a/service/transcribestreaming/eventstream.go b/service/transcribestreaming/eventstream.go new file mode 100644 index 00000000000..f33c4a7fdd1 --- /dev/null +++ b/service/transcribestreaming/eventstream.go @@ -0,0 +1,797 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package transcribestreaming + +import ( + "bytes" + "context" + "fmt" + "github.com/aws/aws-sdk-go-v2/aws" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/transcribestreaming/types" + smithy "github.com/aws/smithy-go" + "github.com/aws/smithy-go/middleware" + smithysync "github.com/aws/smithy-go/sync" + smithyhttp "github.com/aws/smithy-go/transport/http" + "io" + "io/ioutil" + "sync" + "time" +) + +// AudioStreamWriter provides the interface for writing events to a stream. +// +// The writer's Close method must allow multiple concurrent calls. +type AudioStreamWriter interface { + Send(context.Context, types.AudioStream) error + Close() error + Err() error +} + +// MedicalTranscriptResultStreamReader provides the interface for reading events +// from a stream. +// +// The writer's Close method must allow multiple concurrent calls. +type MedicalTranscriptResultStreamReader interface { + Events() <-chan types.MedicalTranscriptResultStream + Close() error + Err() error +} + +// TranscriptResultStreamReader provides the interface for reading events from a +// stream. +// +// The writer's Close method must allow multiple concurrent calls. +type TranscriptResultStreamReader interface { + Events() <-chan types.TranscriptResultStream + Close() error + Err() error +} + +type eventStreamSigner interface { + GetSignature(ctx context.Context, headers, payload []byte, signingTime time.Time, optFns ...func(*v4.StreamSignerOptions)) ([]byte, error) +} + +type asyncAudioStream struct { + Event types.AudioStream + Result chan<- error +} + +func (e asyncAudioStream) ReportResult(cancel <-chan struct{}, err error) bool { + select { + case e.Result <- err: + return true + + case <-cancel: + return false + + } +} + +type audioStream struct { + encoder *eventstream.Encoder + signer eventStreamSigner + stream chan asyncAudioStream + serializationBuffer *bytes.Buffer + signingBuffer *bytes.Buffer + eventStream io.WriteCloser + done chan struct{} + closeOnce sync.Once + err *smithysync.OnceErr +} + +func newAudioStream(stream io.WriteCloser, encoder *eventstream.Encoder, signer eventStreamSigner) *audioStream { + w := &audioStream{ + encoder: encoder, + signer: signer, + stream: make(chan asyncAudioStream), + eventStream: stream, + done: make(chan struct{}), + err: smithysync.NewOnceErr(), + serializationBuffer: bytes.NewBuffer(nil), + signingBuffer: bytes.NewBuffer(nil), + } + + go w.writeStream() + + return w + +} + +func (w *audioStream) Send(ctx context.Context, event types.AudioStream) error { + return w.send(ctx, event) +} + +func (w *audioStream) send(ctx context.Context, event types.AudioStream) error { + if err := w.err.Err(); err != nil { + return err + } + + resultCh := make(chan error) + + wrapped := asyncAudioStream{ + Event: event, + Result: resultCh, + } + + select { + case w.stream <- wrapped: + case <-ctx.Done(): + return ctx.Err() + case <-w.done: + return fmt.Errorf("stream closed, unable to send event") + + } + + select { + case err := <-resultCh: + return err + case <-ctx.Done(): + return ctx.Err() + case <-w.done: + return fmt.Errorf("stream closed, unable to send event") + + } + +} + +func (w *audioStream) writeStream() { + defer w.Close() + + for { + select { + case wrapper := <-w.stream: + err := w.writeEvent(wrapper.Event) + wrapper.ReportResult(w.done, err) + if err != nil { + w.err.SetError(err) + return + } + + case <-w.done: + if err := w.closeStream(); err != nil { + w.err.SetError(err) + } + return + + } + } +} + +func (w *audioStream) writeEvent(event types.AudioStream) error { + // serializedEvent returned bytes refers to an underlying byte buffer and must not + // escape this writeEvent scope without first copying. Any previous bytes stored in + // the buffer are cleared by this call. + serializedEvent, err := w.serializeEvent(event) + if err != nil { + return err + } + + // signedEvent returned bytes refers to an underlying byte buffer and must not + // escape this writeEvent scope without first copying. Any previous bytes stored in + // the buffer are cleared by this call. + signedEvent, err := w.signEvent(serializedEvent) + if err != nil { + return err + } + + // bytes are now copied to the underlying stream writer + _, err = io.Copy(w.eventStream, bytes.NewReader(signedEvent)) + return err +} + +func (w *audioStream) serializeEvent(event types.AudioStream) ([]byte, error) { + w.serializationBuffer.Reset() + + eventMessage := eventstream.Message{} + + if err := awsRestjson1_serializeEventStreamAudioStream(event, &eventMessage); err != nil { + return nil, err + } + + if err := w.encoder.Encode(w.serializationBuffer, eventMessage); err != nil { + return nil, err + } + + return w.serializationBuffer.Bytes(), nil +} + +func (w *audioStream) signEvent(payload []byte) ([]byte, error) { + w.signingBuffer.Reset() + + date := time.Now().UTC() + + var msg eventstream.Message + msg.Headers.Set(eventstreamapi.DateHeader, eventstream.TimestampValue(date)) + msg.Payload = payload + + var headers bytes.Buffer + if err := eventstream.EncodeHeaders(&headers, msg.Headers); err != nil { + return nil, err + } + + sig, err := w.signer.GetSignature(context.Background(), headers.Bytes(), msg.Payload, date) + if err != nil { + return nil, err + } + + msg.Headers.Set(eventstreamapi.ChunkSignatureHeader, eventstream.BytesValue(sig)) + + if err := w.encoder.Encode(w.signingBuffer, msg); err != nil { + return nil, err + } + + return w.signingBuffer.Bytes(), nil +} + +func (w *audioStream) closeStream() (err error) { + defer func() { + if cErr := w.eventStream.Close(); cErr != nil && err == nil { + err = cErr + } + }() + + // Per the protocol, a signed empty message is used to indicate the end of the stream, + // and that no subsequent events will be sent. + signedEvent, err := w.signEvent([]byte{}) + if err != nil { + return err + } + + _, err = io.Copy(w.eventStream, bytes.NewReader(signedEvent)) + return err +} + +func (w *audioStream) ErrorSet() <-chan struct{} { + return w.err.ErrorSet() +} + +func (w *audioStream) Close() error { + w.closeOnce.Do(w.safeClose) + return w.Err() +} + +func (w *audioStream) safeClose() { + close(w.done) +} + +func (w *audioStream) Err() error { + return w.err.Err() +} + +type medicalTranscriptResultStream struct { + stream chan types.MedicalTranscriptResultStream + decoder *eventstream.Decoder + eventStream io.ReadCloser + err *smithysync.OnceErr + payloadBuf []byte + done chan struct{} + closeOnce sync.Once +} + +func newMedicalTranscriptResultStream(readCloser io.ReadCloser, decoder *eventstream.Decoder) *medicalTranscriptResultStream { + w := &medicalTranscriptResultStream{ + stream: make(chan types.MedicalTranscriptResultStream), + decoder: decoder, + eventStream: readCloser, + err: smithysync.NewOnceErr(), + done: make(chan struct{}), + payloadBuf: make([]byte, 10*1024), + } + + go w.readEventStream() + + return w +} + +func (r *medicalTranscriptResultStream) Events() <-chan types.MedicalTranscriptResultStream { + return r.stream +} + +func (r *medicalTranscriptResultStream) readEventStream() { + defer r.Close() + defer close(r.stream) + + for { + r.payloadBuf = r.payloadBuf[0:0] + decodedMessage, err := r.decoder.Decode(r.eventStream, r.payloadBuf) + if err != nil { + if err == io.EOF { + return + } + select { + case <-r.done: + return + default: + r.err.SetError(err) + return + } + } + + event, err := r.deserializeEventMessage(&decodedMessage) + if err != nil { + r.err.SetError(err) + return + } + + select { + case r.stream <- event: + case <-r.done: + return + } + + } +} + +func (r *medicalTranscriptResultStream) deserializeEventMessage(msg *eventstream.Message) (types.MedicalTranscriptResultStream, error) { + messageType := msg.Headers.Get(eventstreamapi.MessageTypeHeader) + if messageType == nil { + return nil, fmt.Errorf("%s event header not present", eventstreamapi.MessageTypeHeader) + } + + switch messageType.String() { + case eventstreamapi.EventMessageType: + var v types.MedicalTranscriptResultStream + if err := awsRestjson1_deserializeEventStreamMedicalTranscriptResultStream(&v, msg); err != nil { + return nil, err + } + return v, nil + + case eventstreamapi.ExceptionMessageType: + return nil, awsRestjson1_deserializeEventStreamExceptionMedicalTranscriptResultStream(msg) + + case eventstreamapi.ErrorMessageType: + errorCode := "UnknownError" + errorMessage := errorCode + if header := msg.Headers.Get(eventstreamapi.ErrorCodeHeader); header != nil { + errorCode = header.String() + } + if header := msg.Headers.Get(eventstreamapi.ErrorMessageHeader); header != nil { + errorMessage = header.String() + } + return nil, &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + + default: + mc := msg.Clone() + return nil, &UnknownEventMessageError{ + Type: messageType.String(), + Message: &mc, + } + + } +} + +func (r *medicalTranscriptResultStream) ErrorSet() <-chan struct{} { + return r.err.ErrorSet() +} + +func (r *medicalTranscriptResultStream) Close() error { + r.closeOnce.Do(r.safeClose) + return r.Err() +} + +func (r *medicalTranscriptResultStream) safeClose() { + close(r.done) + r.eventStream.Close() + +} + +func (r *medicalTranscriptResultStream) Err() error { + return r.err.Err() +} + +func (r *medicalTranscriptResultStream) Closed() <-chan struct{} { + return r.done +} + +type transcriptResultStream struct { + stream chan types.TranscriptResultStream + decoder *eventstream.Decoder + eventStream io.ReadCloser + err *smithysync.OnceErr + payloadBuf []byte + done chan struct{} + closeOnce sync.Once +} + +func newTranscriptResultStream(readCloser io.ReadCloser, decoder *eventstream.Decoder) *transcriptResultStream { + w := &transcriptResultStream{ + stream: make(chan types.TranscriptResultStream), + decoder: decoder, + eventStream: readCloser, + err: smithysync.NewOnceErr(), + done: make(chan struct{}), + payloadBuf: make([]byte, 10*1024), + } + + go w.readEventStream() + + return w +} + +func (r *transcriptResultStream) Events() <-chan types.TranscriptResultStream { + return r.stream +} + +func (r *transcriptResultStream) readEventStream() { + defer r.Close() + defer close(r.stream) + + for { + r.payloadBuf = r.payloadBuf[0:0] + decodedMessage, err := r.decoder.Decode(r.eventStream, r.payloadBuf) + if err != nil { + if err == io.EOF { + return + } + select { + case <-r.done: + return + default: + r.err.SetError(err) + return + } + } + + event, err := r.deserializeEventMessage(&decodedMessage) + if err != nil { + r.err.SetError(err) + return + } + + select { + case r.stream <- event: + case <-r.done: + return + } + + } +} + +func (r *transcriptResultStream) deserializeEventMessage(msg *eventstream.Message) (types.TranscriptResultStream, error) { + messageType := msg.Headers.Get(eventstreamapi.MessageTypeHeader) + if messageType == nil { + return nil, fmt.Errorf("%s event header not present", eventstreamapi.MessageTypeHeader) + } + + switch messageType.String() { + case eventstreamapi.EventMessageType: + var v types.TranscriptResultStream + if err := awsRestjson1_deserializeEventStreamTranscriptResultStream(&v, msg); err != nil { + return nil, err + } + return v, nil + + case eventstreamapi.ExceptionMessageType: + return nil, awsRestjson1_deserializeEventStreamExceptionTranscriptResultStream(msg) + + case eventstreamapi.ErrorMessageType: + errorCode := "UnknownError" + errorMessage := errorCode + if header := msg.Headers.Get(eventstreamapi.ErrorCodeHeader); header != nil { + errorCode = header.String() + } + if header := msg.Headers.Get(eventstreamapi.ErrorMessageHeader); header != nil { + errorMessage = header.String() + } + return nil, &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + + default: + mc := msg.Clone() + return nil, &UnknownEventMessageError{ + Type: messageType.String(), + Message: &mc, + } + + } +} + +func (r *transcriptResultStream) ErrorSet() <-chan struct{} { + return r.err.ErrorSet() +} + +func (r *transcriptResultStream) Close() error { + r.closeOnce.Do(r.safeClose) + return r.Err() +} + +func (r *transcriptResultStream) safeClose() { + close(r.done) + r.eventStream.Close() + +} + +func (r *transcriptResultStream) Err() error { + return r.err.Err() +} + +func (r *transcriptResultStream) Closed() <-chan struct{} { + return r.done +} + +type awsRestjson1_deserializeOpEventStreamStartMedicalStreamTranscription struct { + LogEventStreamWrites bool + LogEventStreamReads bool +} + +func (*awsRestjson1_deserializeOpEventStreamStartMedicalStreamTranscription) ID() string { + return "OperationEventStreamDeserializer" +} + +func (m *awsRestjson1_deserializeOpEventStreamStartMedicalStreamTranscription) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + defer func() { + if err == nil { + return + } + m.closeResponseBody(out) + }() + + logger := middleware.GetLogger(ctx) + + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, fmt.Errorf("unknown transport type: %T", in.Request) + } + _ = request + + if err := eventstreamapi.ApplyHTTPTransportFixes(request); err != nil { + return out, metadata, err + } + + requestSignature, err := v4.GetSignedRequestSignature(request.Request) + if err != nil { + return out, metadata, fmt.Errorf("failed to get event stream seed signature: %v", err) + } + + signer := v4.NewStreamSigner( + awsmiddleware.GetSigningCredentials(ctx), + awsmiddleware.GetSigningName(ctx), + awsmiddleware.GetSigningRegion(ctx), + requestSignature, + ) + + eventWriter := newAudioStream( + eventstreamapi.GetInputStreamWriter(ctx), + eventstream.NewEncoder(func(options *eventstream.EncoderOptions) { + options.Logger = logger + options.LogMessages = m.LogEventStreamWrites + + }), + signer, + ) + defer func() { + if err == nil { + return + } + _ = eventWriter.Close() + }() + + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + deserializeOutput, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, fmt.Errorf("unknown transport type: %T", out.RawResponse) + } + _ = deserializeOutput + + output, ok := out.Result.(*StartMedicalStreamTranscriptionOutput) + if out.Result != nil && !ok { + return out, metadata, fmt.Errorf("unexpected output result type: %T", out.Result) + } else if out.Result == nil { + output = &StartMedicalStreamTranscriptionOutput{} + out.Result = output + } + + eventReader := newMedicalTranscriptResultStream( + deserializeOutput.Body, + eventstream.NewDecoder(func(options *eventstream.DecoderOptions) { + options.Logger = logger + options.LogMessages = m.LogEventStreamReads + + }), + ) + defer func() { + if err == nil { + return + } + _ = eventReader.Close() + }() + + output.eventStream = NewStartMedicalStreamTranscriptionEventStream(func(stream *StartMedicalStreamTranscriptionEventStream) { + stream.Writer = eventWriter + stream.Reader = eventReader + }) + + go output.eventStream.waitStreamClose() + + return out, metadata, nil +} + +func (*awsRestjson1_deserializeOpEventStreamStartMedicalStreamTranscription) closeResponseBody(out middleware.DeserializeOutput) { + if resp, ok := out.RawResponse.(*smithyhttp.Response); ok && resp != nil && resp.Body != nil { + _, _ = io.Copy(ioutil.Discard, resp.Body) + _ = resp.Body.Close() + } +} + +func addEventStreamStartMedicalStreamTranscriptionMiddleware(stack *middleware.Stack, options Options) error { + return stack.Deserialize.Insert(&awsRestjson1_deserializeOpEventStreamStartMedicalStreamTranscription{ + LogEventStreamWrites: options.ClientLogMode.IsRequestEventMessage(), + LogEventStreamReads: options.ClientLogMode.IsResponseEventMessage(), + }, "OperationDeserializer", middleware.Before) +} + +type awsRestjson1_deserializeOpEventStreamStartStreamTranscription struct { + LogEventStreamWrites bool + LogEventStreamReads bool +} + +func (*awsRestjson1_deserializeOpEventStreamStartStreamTranscription) ID() string { + return "OperationEventStreamDeserializer" +} + +func (m *awsRestjson1_deserializeOpEventStreamStartStreamTranscription) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + defer func() { + if err == nil { + return + } + m.closeResponseBody(out) + }() + + logger := middleware.GetLogger(ctx) + + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, fmt.Errorf("unknown transport type: %T", in.Request) + } + _ = request + + if err := eventstreamapi.ApplyHTTPTransportFixes(request); err != nil { + return out, metadata, err + } + + requestSignature, err := v4.GetSignedRequestSignature(request.Request) + if err != nil { + return out, metadata, fmt.Errorf("failed to get event stream seed signature: %v", err) + } + + signer := v4.NewStreamSigner( + awsmiddleware.GetSigningCredentials(ctx), + awsmiddleware.GetSigningName(ctx), + awsmiddleware.GetSigningRegion(ctx), + requestSignature, + ) + + eventWriter := newAudioStream( + eventstreamapi.GetInputStreamWriter(ctx), + eventstream.NewEncoder(func(options *eventstream.EncoderOptions) { + options.Logger = logger + options.LogMessages = m.LogEventStreamWrites + + }), + signer, + ) + defer func() { + if err == nil { + return + } + _ = eventWriter.Close() + }() + + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + deserializeOutput, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, fmt.Errorf("unknown transport type: %T", out.RawResponse) + } + _ = deserializeOutput + + output, ok := out.Result.(*StartStreamTranscriptionOutput) + if out.Result != nil && !ok { + return out, metadata, fmt.Errorf("unexpected output result type: %T", out.Result) + } else if out.Result == nil { + output = &StartStreamTranscriptionOutput{} + out.Result = output + } + + eventReader := newTranscriptResultStream( + deserializeOutput.Body, + eventstream.NewDecoder(func(options *eventstream.DecoderOptions) { + options.Logger = logger + options.LogMessages = m.LogEventStreamReads + + }), + ) + defer func() { + if err == nil { + return + } + _ = eventReader.Close() + }() + + output.eventStream = NewStartStreamTranscriptionEventStream(func(stream *StartStreamTranscriptionEventStream) { + stream.Writer = eventWriter + stream.Reader = eventReader + }) + + go output.eventStream.waitStreamClose() + + return out, metadata, nil +} + +func (*awsRestjson1_deserializeOpEventStreamStartStreamTranscription) closeResponseBody(out middleware.DeserializeOutput) { + if resp, ok := out.RawResponse.(*smithyhttp.Response); ok && resp != nil && resp.Body != nil { + _, _ = io.Copy(ioutil.Discard, resp.Body) + _ = resp.Body.Close() + } +} + +func addEventStreamStartStreamTranscriptionMiddleware(stack *middleware.Stack, options Options) error { + return stack.Deserialize.Insert(&awsRestjson1_deserializeOpEventStreamStartStreamTranscription{ + LogEventStreamWrites: options.ClientLogMode.IsRequestEventMessage(), + LogEventStreamReads: options.ClientLogMode.IsResponseEventMessage(), + }, "OperationDeserializer", middleware.Before) +} + +// UnknownEventMessageError provides an error when a message is received from the stream, +// but the reader is unable to determine what kind of message it is. +type UnknownEventMessageError struct { + Type string + Message *eventstream.Message +} + +// Error retruns the error message string. +func (e *UnknownEventMessageError) Error() string { + return "unknown event stream message type, " + e.Type +} + +func setSafeEventStreamClientLogMode(o *Options, operation string) { + switch operation { + case "StartMedicalStreamTranscription": + toggleEventStreamClientLogMode(o, true, true) + return + + case "StartStreamTranscription": + toggleEventStreamClientLogMode(o, true, true) + return + + default: + return + + } +} +func toggleEventStreamClientLogMode(o *Options, request, response bool) { + mode := o.ClientLogMode + + if request && mode.IsRequestWithBody() { + mode.ClearRequestWithBody() + mode |= aws.LogRequest + } + + if response && mode.IsResponseWithBody() { + mode.ClearResponseWithBody() + mode |= aws.LogResponse + } + + o.ClientLogMode = mode + +} diff --git a/service/transcribestreaming/generated.json b/service/transcribestreaming/generated.json new file mode 100644 index 00000000000..5d6c20e4be9 --- /dev/null +++ b/service/transcribestreaming/generated.json @@ -0,0 +1,31 @@ +{ + "dependencies": { + "github.com/aws/aws-sdk-go-v2": "v1.4.0", + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream": "v0.0.0-00010101000000-000000000000", + "github.com/aws/aws-sdk-go-v2/internal/configsources": "v0.0.0-00010101000000-000000000000", + "github.com/aws/aws-sdk-go-v2/internal/endpoints/v2": "v2.0.0-00010101000000-000000000000", + "github.com/aws/smithy-go": "v1.4.0" + }, + "files": [ + "api_client.go", + "api_op_StartMedicalStreamTranscription.go", + "api_op_StartStreamTranscription.go", + "deserializers.go", + "doc.go", + "endpoints.go", + "eventstream.go", + "generated.json", + "internal/endpoints/endpoints.go", + "internal/endpoints/endpoints_test.go", + "protocol_test.go", + "serializers.go", + "types/enums.go", + "types/errors.go", + "types/types.go", + "types/types_exported_test.go", + "validators.go" + ], + "go": "1.15", + "module": "github.com/aws/aws-sdk-go-v2/service/transcribestreaming", + "unstable": false +} diff --git a/service/transcribestreaming/go.mod b/service/transcribestreaming/go.mod new file mode 100644 index 00000000000..ad9ade64c83 --- /dev/null +++ b/service/transcribestreaming/go.mod @@ -0,0 +1,19 @@ +module github.com/aws/aws-sdk-go-v2/service/transcribestreaming + +go 1.15 + +require ( + github.com/aws/aws-sdk-go-v2 v1.10.0 + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v0.0.0-00010101000000-000000000000 + github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f +) + +replace github.com/aws/aws-sdk-go-v2 => ../../ + +replace github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream => ../../aws/protocol/eventstream/ + +replace github.com/aws/aws-sdk-go-v2/internal/configsources => ../../internal/configsources/ + +replace github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 => ../../internal/endpoints/v2/ diff --git a/service/transcribestreaming/go.sum b/service/transcribestreaming/go.sum new file mode 100644 index 00000000000..25c97cc2ce8 --- /dev/null +++ b/service/transcribestreaming/go.sum @@ -0,0 +1,14 @@ +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/service/transcribestreaming/go_module_metadata.go b/service/transcribestreaming/go_module_metadata.go new file mode 100644 index 00000000000..d55ecf3636d --- /dev/null +++ b/service/transcribestreaming/go_module_metadata.go @@ -0,0 +1,6 @@ +// Code generated by internal/repotools/cmd/updatemodulemeta DO NOT EDIT. + +package transcribestreaming + +// goModuleVersion is the tagged release for this module +const goModuleVersion = "tip" diff --git a/service/transcribestreaming/internal/endpoints/endpoints.go b/service/transcribestreaming/internal/endpoints/endpoints.go new file mode 100644 index 00000000000..b56a287c42a --- /dev/null +++ b/service/transcribestreaming/internal/endpoints/endpoints.go @@ -0,0 +1,406 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package endpoints + +import ( + "github.com/aws/aws-sdk-go-v2/aws" + endpoints "github.com/aws/aws-sdk-go-v2/internal/endpoints/v2" + "github.com/aws/smithy-go/logging" + "regexp" +) + +// Options is the endpoint resolver configuration options +type Options struct { + // Logger is a logging implementation that log events should be sent to. + Logger logging.Logger + + // LogDeprecated indicates that deprecated endpoints should be logged to the + // provided logger. + LogDeprecated bool + + // ResolvedRegion is used to override the region to be resolved, rather then the + // using the value passed to the ResolveEndpoint method. This value is used by the + // SDK to translate regions like fips-us-east-1 or us-east-1-fips to an alternative + // name. You must not set this value directly in your application. + ResolvedRegion string + + // DisableHTTPS informs the resolver to return an endpoint that does not use the + // HTTPS scheme. + DisableHTTPS bool + + // UseDualStackEndpoint specifies the resolver must resolve a dual-stack endpoint. + UseDualStackEndpoint aws.DualStackEndpointState + + // UseFIPSEndpoint specifies the resolver must resolve a FIPS endpoint. + UseFIPSEndpoint aws.FIPSEndpointState +} + +func (o Options) GetResolvedRegion() string { + return o.ResolvedRegion +} + +func (o Options) GetDisableHTTPS() bool { + return o.DisableHTTPS +} + +func (o Options) GetUseDualStackEndpoint() aws.DualStackEndpointState { + return o.UseDualStackEndpoint +} + +func (o Options) GetUseFIPSEndpoint() aws.FIPSEndpointState { + return o.UseFIPSEndpoint +} + +func transformToSharedOptions(options Options) endpoints.Options { + return endpoints.Options{ + Logger: options.Logger, + LogDeprecated: options.LogDeprecated, + ResolvedRegion: options.ResolvedRegion, + DisableHTTPS: options.DisableHTTPS, + UseDualStackEndpoint: options.UseDualStackEndpoint, + UseFIPSEndpoint: options.UseFIPSEndpoint, + } +} + +// Resolver Transcribe Streaming endpoint resolver +type Resolver struct { + partitions endpoints.Partitions +} + +// ResolveEndpoint resolves the service endpoint for the given region and options +func (r *Resolver) ResolveEndpoint(region string, options Options) (endpoint aws.Endpoint, err error) { + if len(region) == 0 { + return endpoint, &aws.MissingRegionError{} + } + + opt := transformToSharedOptions(options) + return r.partitions.ResolveEndpoint(region, opt) +} + +// New returns a new Resolver +func New() *Resolver { + return &Resolver{ + partitions: defaultPartitions, + } +} + +var partitionRegexp = struct { + Aws *regexp.Regexp + AwsCn *regexp.Regexp + AwsIso *regexp.Regexp + AwsIsoB *regexp.Regexp + AwsUsGov *regexp.Regexp +}{ + + Aws: regexp.MustCompile("^(us|eu|ap|sa|ca|me|af)\\-\\w+\\-\\d+$"), + AwsCn: regexp.MustCompile("^cn\\-\\w+\\-\\d+$"), + AwsIso: regexp.MustCompile("^us\\-iso\\-\\w+\\-\\d+$"), + AwsIsoB: regexp.MustCompile("^us\\-isob\\-\\w+\\-\\d+$"), + AwsUsGov: regexp.MustCompile("^us\\-gov\\-\\w+\\-\\d+$"), +} + +var defaultPartitions = endpoints.Partitions{ + { + ID: "aws", + Defaults: map[endpoints.DefaultKey]endpoints.Endpoint{ + { + Variant: endpoints.DualStackVariant, + }: { + Hostname: "transcribestreaming.{region}.api.aws", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + { + Variant: endpoints.FIPSVariant, + }: { + Hostname: "transcribestreaming-fips.{region}.amazonaws.com", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + { + Variant: endpoints.FIPSVariant | endpoints.DualStackVariant, + }: { + Hostname: "transcribestreaming-fips.{region}.api.aws", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + { + Variant: 0, + }: { + Hostname: "transcribestreaming.{region}.amazonaws.com", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + }, + RegionRegex: partitionRegexp.Aws, + IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "ap-northeast-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ca-central-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-central-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "sa-east-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "transcribestreaming-ca-central-1", + }: endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "transcribestreaming-ca-central-1", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "transcribestreaming-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "transcribestreaming-fips-ca-central-1", + }: endpoints.Endpoint{ + Hostname: "transcribestreaming-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "transcribestreaming-fips-us-east-1", + }: endpoints.Endpoint{ + Hostname: "transcribestreaming-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "transcribestreaming-fips-us-east-2", + }: endpoints.Endpoint{ + Hostname: "transcribestreaming-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "transcribestreaming-fips-us-west-2", + }: endpoints.Endpoint{ + Hostname: "transcribestreaming-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "transcribestreaming-us-east-1", + }: endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "transcribestreaming-us-east-1", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "transcribestreaming-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "transcribestreaming-us-east-2", + }: endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "transcribestreaming-us-east-2", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "transcribestreaming-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "transcribestreaming-us-west-2", + }: endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "transcribestreaming-us-west-2", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "transcribestreaming-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "us-east-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-west-2", + }: endpoints.Endpoint{}, + }, + }, + { + ID: "aws-cn", + Defaults: map[endpoints.DefaultKey]endpoints.Endpoint{ + { + Variant: endpoints.DualStackVariant, + }: { + Hostname: "transcribestreaming.{region}.api.amazonwebservices.com.cn", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + { + Variant: endpoints.FIPSVariant, + }: { + Hostname: "transcribestreaming-fips.{region}.amazonaws.com.cn", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + { + Variant: endpoints.FIPSVariant | endpoints.DualStackVariant, + }: { + Hostname: "transcribestreaming-fips.{region}.api.amazonwebservices.com.cn", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + { + Variant: 0, + }: { + Hostname: "transcribestreaming.{region}.amazonaws.com.cn", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + }, + RegionRegex: partitionRegexp.AwsCn, + IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "cn-north-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "cn-northwest-1", + }: endpoints.Endpoint{}, + }, + }, + { + ID: "aws-iso", + Defaults: map[endpoints.DefaultKey]endpoints.Endpoint{ + { + Variant: endpoints.FIPSVariant, + }: { + Hostname: "transcribestreaming-fips.{region}.c2s.ic.gov", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + { + Variant: 0, + }: { + Hostname: "transcribestreaming.{region}.c2s.ic.gov", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + }, + RegionRegex: partitionRegexp.AwsIso, + IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "us-iso-east-1", + }: endpoints.Endpoint{}, + }, + }, + { + ID: "aws-iso-b", + Defaults: map[endpoints.DefaultKey]endpoints.Endpoint{ + { + Variant: endpoints.FIPSVariant, + }: { + Hostname: "transcribestreaming-fips.{region}.sc2s.sgov.gov", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + { + Variant: 0, + }: { + Hostname: "transcribestreaming.{region}.sc2s.sgov.gov", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + }, + RegionRegex: partitionRegexp.AwsIsoB, + IsRegionalized: true, + }, + { + ID: "aws-us-gov", + Defaults: map[endpoints.DefaultKey]endpoints.Endpoint{ + { + Variant: endpoints.DualStackVariant, + }: { + Hostname: "transcribestreaming.{region}.api.aws", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + { + Variant: endpoints.FIPSVariant, + }: { + Hostname: "transcribestreaming-fips.{region}.amazonaws.com", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + { + Variant: endpoints.FIPSVariant | endpoints.DualStackVariant, + }: { + Hostname: "transcribestreaming-fips.{region}.api.aws", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + { + Variant: 0, + }: { + Hostname: "transcribestreaming.{region}.amazonaws.com", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + }, + RegionRegex: partitionRegexp.AwsUsGov, + IsRegionalized: true, + }, +} diff --git a/service/transcribestreaming/internal/endpoints/endpoints_test.go b/service/transcribestreaming/internal/endpoints/endpoints_test.go new file mode 100644 index 00000000000..08e5da2d833 --- /dev/null +++ b/service/transcribestreaming/internal/endpoints/endpoints_test.go @@ -0,0 +1,11 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package endpoints + +import ( + "testing" +) + +func TestRegexCompile(t *testing.T) { + _ = defaultPartitions +} diff --git a/service/transcribestreaming/internal/testing/LICENSE.txt b/service/transcribestreaming/internal/testing/LICENSE.txt new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/service/transcribestreaming/internal/testing/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/service/transcribestreaming/internal/testing/eventstream_test.go b/service/transcribestreaming/internal/testing/eventstream_test.go new file mode 100644 index 00000000000..55dad9551a7 --- /dev/null +++ b/service/transcribestreaming/internal/testing/eventstream_test.go @@ -0,0 +1,660 @@ +package testing + +import ( + "bytes" + "context" + "errors" + "reflect" + "strings" + "sync" + "testing" + "time" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi" + "github.com/aws/aws-sdk-go-v2/service/internal/eventstreamtesting" + "github.com/aws/aws-sdk-go-v2/service/transcribestreaming" + "github.com/aws/aws-sdk-go-v2/service/transcribestreaming/types" + "github.com/aws/smithy-go" + "github.com/aws/smithy-go/document" + "github.com/aws/smithy-go/middleware" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" +) + +func removeValidationMiddleware(stack *middleware.Stack) error { + _, err := stack.Initialize.Remove("OperationInputValidation") + return err +} + +func TestStartStreamTranscription_Read(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + Events: []eventstream.Message{ + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("TranscriptEvent"), + }, + }, + Payload: []byte(`{ + "Transcript": { + "Results": [] + } +}`), + }, + }, + BiDirectional: true, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := transcribestreaming.NewFromConfig(cfg) + resp, err := svc.StartStreamTranscription(context.Background(), + &transcribestreaming.StartStreamTranscriptionInput{}, func(options *transcribestreaming.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + defer resp.GetStream().Close() + + expectEvents := []types.TranscriptResultStream{ + &types.TranscriptResultStreamMemberTranscriptEvent{ + Value: types.TranscriptEvent{Transcript: &types.Transcript{Results: []types.Result{}}}, + }, + } + + for i := 0; i < len(expectEvents); i++ { + event := <-resp.GetStream().Events() + if event == nil { + t.Errorf("%d, expect event, got nil", i) + } + if diff := cmp.Diff(expectEvents[i], event, cmpopts.IgnoreTypes(document.NoSerde{})); len(diff) > 0 { + t.Errorf("%d, %v", i, diff) + } + } + + if err := resp.GetStream().Err(); err != nil { + t.Errorf("expect no error, %v", err) + } +} + +func TestStartStreamTranscription_ReadClose(t *testing.T) { + sess, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + Events: []eventstream.Message{ + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("TranscriptEvent"), + }, + }, + Payload: []byte(`{ + "Transcript": { + "Results": [] + } +}`), + }, + }, + BiDirectional: true, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := transcribestreaming.NewFromConfig(sess) + resp, err := svc.StartStreamTranscription(context.Background(), &transcribestreaming.StartStreamTranscriptionInput{}, func(options *transcribestreaming.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + + // Assert calling Err before close does not close the stream. + resp.GetStream().Err() + select { + case _, ok := <-resp.GetStream().Events(): + if !ok { + t.Fatalf("expect stream not to be closed, but was") + } + default: + } + + resp.GetStream().Close() + <-resp.GetStream().Events() + + if err := resp.GetStream().Err(); err != nil { + t.Errorf("expect no error, %v", err) + } +} + +func TestStartStreamTranscription_ReadUnknownEvent(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + Events: []eventstream.Message{ + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("TranscriptEvent"), + }, + }, + Payload: []byte(`{ + "Transcript": { + "Results": [] + } +}`), + }, + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("UnknownEventName"), + }, + }, + Payload: []byte(`{}`), + }, + }, + BiDirectional: true, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := transcribestreaming.NewFromConfig(cfg) + resp, err := svc.StartStreamTranscription(context.Background(), &transcribestreaming.StartStreamTranscriptionInput{}, func(options *transcribestreaming.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + defer resp.GetStream().Close() + + expectEvents := []types.TranscriptResultStream{ + &types.TranscriptResultStreamMemberTranscriptEvent{Value: types.TranscriptEvent{Transcript: &types.Transcript{Results: []types.Result{}}}}, + &types.UnknownUnionMember{Tag: "UnknownEventName", Value: func() []byte { + encoder := eventstream.NewEncoder() + buff := bytes.NewBuffer(nil) + encoder.Encode(buff, eventstream.Message{ + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("UnknownEventName"), + }, + }, + Payload: []byte(`{}`)}) + return buff.Bytes() + }()}, + } + + for i := 0; i < len(expectEvents); i++ { + event := <-resp.GetStream().Events() + if event == nil { + t.Errorf("%d, expect event, got nil", i) + } + if diff := cmp.Diff(expectEvents[i], event, cmpopts.IgnoreTypes(document.NoSerde{})); len(diff) > 0 { + t.Errorf("%d, %v", i, diff) + } + } + + if err := resp.GetStream().Err(); err != nil { + t.Errorf("expect no error, %v", err) + } +} + +func TestStartStreamTranscription_ReadException(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + Events: []eventstream.Message{ + { + Headers: eventstream.Headers{ + eventstreamtesting.EventExceptionTypeHeader, + { + Name: eventstreamapi.ExceptionTypeHeader, + Value: eventstream.StringValue("BadRequestException"), + }, + }, + Payload: []byte(`{ + "Message": "this is an exception message" +}`), + }, + }, + BiDirectional: true, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := transcribestreaming.NewFromConfig(cfg) + resp, err := svc.StartStreamTranscription(context.Background(), &transcribestreaming.StartStreamTranscriptionInput{}, func(options *transcribestreaming.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + defer resp.GetStream().Close() + + <-resp.GetStream().Events() + + err = resp.GetStream().Err() + if err == nil { + t.Fatalf("expect err, got none") + } + + var expectedErr *types.BadRequestException + if !errors.As(err, &expectedErr) { + t.Errorf("expect err type %T", expectedErr) + } + + if diff := cmp.Diff( + expectedErr, + &types.BadRequestException{Message: aws.String("this is an exception message")}, + cmpopts.IgnoreTypes(document.NoSerde{}), + ); len(diff) > 0 { + t.Errorf(diff) + } +} + +func TestStartStreamTranscription_ReadUnmodeledException(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + Events: []eventstream.Message{ + { + Headers: eventstream.Headers{ + eventstreamtesting.EventExceptionTypeHeader, + { + Name: eventstreamapi.ExceptionTypeHeader, + Value: eventstream.StringValue("UnmodeledException"), + }, + }, + Payload: []byte(`{ + "Message": "this is an unmodeled exception message" +}`), + }, + }, + BiDirectional: true, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := transcribestreaming.NewFromConfig(cfg) + resp, err := svc.StartStreamTranscription(context.Background(), &transcribestreaming.StartStreamTranscriptionInput{}, func(options *transcribestreaming.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + defer resp.GetStream().Close() + + <-resp.GetStream().Events() + + err = resp.GetStream().Err() + if err == nil { + t.Fatalf("expect err, got none") + } + + var expectedErr *smithy.GenericAPIError + if !errors.As(err, &expectedErr) { + t.Errorf("expect err type %T", expectedErr) + } + + if diff := cmp.Diff( + expectedErr, + &smithy.GenericAPIError{ + Code: "UnmodeledException", + Message: "this is an unmodeled exception message", + }, + cmpopts.IgnoreTypes(document.NoSerde{}), + ); len(diff) > 0 { + t.Errorf(diff) + } +} + +func TestStartStreamTranscription_ReadErrorEvent(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + Events: []eventstream.Message{ + { + Headers: eventstream.Headers{ + { + Name: eventstreamapi.MessageTypeHeader, + Value: eventstream.StringValue(eventstreamapi.ErrorMessageType), + }, + { + Name: eventstreamapi.ErrorCodeHeader, + Value: eventstream.StringValue("AnErrorCode"), + }, + { + Name: eventstreamapi.ErrorMessageHeader, + Value: eventstream.StringValue("An error message"), + }, + }, + }, + }, + BiDirectional: true, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := transcribestreaming.NewFromConfig(cfg) + resp, err := svc.StartStreamTranscription(context.Background(), &transcribestreaming.StartStreamTranscriptionInput{}, func(options *transcribestreaming.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + defer resp.GetStream().Close() + + <-resp.GetStream().Events() + + err = resp.GetStream().Err() + if err == nil { + t.Fatalf("expect err, got none") + } + + var expectedErr *smithy.GenericAPIError + if !errors.As(err, &expectedErr) { + t.Errorf("expect err type %T", expectedErr) + } + + if diff := cmp.Diff( + expectedErr, + &smithy.GenericAPIError{ + Code: "AnErrorCode", + Message: "An error message", + }, + cmpopts.IgnoreTypes(document.NoSerde{}), + ); len(diff) > 0 { + t.Errorf(diff) + } +} + +func TestStartStreamTranscription_ReadWrite(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + ClientEvents: []eventstream.Message{ + { + Headers: eventstream.Headers{ + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("AudioEvent"), + }, + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.ContentTypeHeader, + Value: eventstream.StringValue("application/octet-stream"), + }, + }, + Payload: []byte{0x1, 0x2, 0x3, 0x4}, + }, + }, + Events: []eventstream.Message{ + { + Headers: eventstream.Headers{ + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("TranscriptEvent"), + }, + }, + Payload: []byte(`{ + "Transcript": { + "Results": [] + } +}`), + }, + }, + BiDirectional: true, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := transcribestreaming.NewFromConfig(cfg) + resp, err := svc.StartStreamTranscription(context.Background(), &transcribestreaming.StartStreamTranscriptionInput{}, func(options *transcribestreaming.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + + stream := resp.GetStream() + defer stream.Close() + + var wg sync.WaitGroup + + wg.Add(1) + go func() { + defer wg.Done() + expectedServiceEvents := []types.TranscriptResultStream{ + &types.TranscriptResultStreamMemberTranscriptEvent{Value: types.TranscriptEvent{Transcript: &types.Transcript{Results: []types.Result{}}}}, + } + for i := 0; i < len(expectedServiceEvents); i++ { + event := <-resp.GetStream().Events() + if event == nil { + t.Errorf("%d, expect event, got nil", i) + } + if e, a := expectedServiceEvents[i], event; !reflect.DeepEqual(e, a) { + t.Errorf("%d, expect %T %v, got %T %v", i, e, e, a, a) + } + } + }() + + clientEvents := []types.AudioStream{ + &types.AudioStreamMemberAudioEvent{Value: types.AudioEvent{AudioChunk: []byte{0x1, 0x2, 0x3, 0x4}}}, + } + for _, event := range clientEvents { + err = stream.Send(context.Background(), event) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + } + + wg.Wait() + + stream.Close() + + if err := stream.Err(); err != nil { + t.Errorf("expect no error, %v", err) + } +} + +func TestStartStreamTranscription_Write(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + ClientEvents: []eventstream.Message{ + { + Headers: eventstream.Headers{ + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("AudioEvent"), + }, + eventstreamtesting.EventMessageTypeHeader, + { + Name: eventstreamapi.ContentTypeHeader, + Value: eventstream.StringValue("application/octet-stream"), + }, + }, + Payload: []byte{0x1, 0x2, 0x3, 0x4}, + }, + }, + BiDirectional: true, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := transcribestreaming.NewFromConfig(cfg) + resp, err := svc.StartStreamTranscription(context.Background(), &transcribestreaming.StartStreamTranscriptionInput{}, func(options *transcribestreaming.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + + stream := resp.GetStream() + + clientEvents := []types.AudioStream{ + &types.AudioStreamMemberAudioEvent{Value: types.AudioEvent{AudioChunk: []byte{0x1, 0x2, 0x3, 0x4}}}, + } + for _, event := range clientEvents { + err = stream.Send(context.Background(), event) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + } + + if err := stream.Close(); err != nil { + t.Errorf("expect no error, got %v", err) + } +} + +func TestStartStreamTranscription_WriteClose(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + BiDirectional: true, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := transcribestreaming.NewFromConfig(cfg) + resp, err := svc.StartStreamTranscription(context.Background(), &transcribestreaming.StartStreamTranscriptionInput{}, func(options *transcribestreaming.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + + stream := resp.GetStream() + + // Assert calling Err before close does not close the stream. + stream.Err() + + err = stream.Send(context.Background(), &types.AudioStreamMemberAudioEvent{Value: types.AudioEvent{AudioChunk: []byte{}}}) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + + stream.Close() + + if err := stream.Err(); err != nil { + t.Errorf("expect no error, got %v", err) + } +} + +func TestStartStreamTranscription_WriteError(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + BiDirectional: true, + ForceCloseAfter: time.Millisecond * 500, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := transcribestreaming.NewFromConfig(cfg) + resp, err := svc.StartStreamTranscription(context.Background(), &transcribestreaming.StartStreamTranscriptionInput{}, func(options *transcribestreaming.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + + stream := resp.GetStream() + defer stream.Close() + + for { + err = resp.GetStream().Send(context.Background(), &types.AudioStreamMemberAudioEvent{Value: types.AudioEvent{}}) + if err != nil { + if strings.Contains("unable to send event", err.Error()) { + t.Errorf("expected stream closed error, got %v", err) + } + break + } + } +} + +func TestStartStreamTranscription_ResponseError(t *testing.T) { + cfg, cleanupFn, err := eventstreamtesting.SetupEventStream(t, + eventstreamtesting.ServeEventStream{ + T: t, + StaticResponse: &eventstreamtesting.StaticResponse{ + StatusCode: 500, + Body: []byte(`{ + "Message": "this is an exception message" +}`), + }, + }, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := transcribestreaming.NewFromConfig(cfg) + _, err = svc.StartStreamTranscription(context.Background(), &transcribestreaming.StartStreamTranscriptionInput{}, func(options *transcribestreaming.Options) { + options.APIOptions = append(options.APIOptions, removeValidationMiddleware) + }) + if err == nil { + t.Fatal("expect error got, nil") + } + + var expectedErr *smithy.GenericAPIError + if !errors.As(err, &expectedErr) { + t.Errorf("expect err type %T, got %v", expectedErr, err) + } + + if diff := cmp.Diff( + expectedErr, + &smithy.GenericAPIError{ + Code: "UnknownError", + Message: "this is an exception message", + }, + cmpopts.IgnoreTypes(document.NoSerde{}), + ); len(diff) > 0 { + t.Errorf(diff) + } +} diff --git a/service/transcribestreaming/internal/testing/go.mod b/service/transcribestreaming/internal/testing/go.mod new file mode 100644 index 00000000000..51b8ad2157b --- /dev/null +++ b/service/transcribestreaming/internal/testing/go.mod @@ -0,0 +1,34 @@ +module github.com/aws/aws-sdk-go-v2/service/transcribestreaming/internal/testing + +go 1.15 + +require ( + github.com/aws/aws-sdk-go-v2 v1.10.0 + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v0.0.0-00010101000000-000000000000 + github.com/aws/aws-sdk-go-v2/service/internal/eventstreamtesting v0.0.0-00010101000000-000000000000 + github.com/aws/aws-sdk-go-v2/service/transcribestreaming v0.0.0-00010101000000-000000000000 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f + github.com/google/go-cmp v0.5.6 +) + +replace github.com/aws/aws-sdk-go-v2 => ../../../../ + +replace github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream => ../../../../aws/protocol/eventstream/ + +replace github.com/aws/aws-sdk-go-v2/credentials => ../../../../credentials/ + +replace github.com/aws/aws-sdk-go-v2/feature/ec2/imds => ../../../../feature/ec2/imds/ + +replace github.com/aws/aws-sdk-go-v2/internal/configsources => ../../../../internal/configsources/ + +replace github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 => ../../../../internal/endpoints/v2/ + +replace github.com/aws/aws-sdk-go-v2/service/internal/eventstreamtesting => ../../../../service/internal/eventstreamtesting/ + +replace github.com/aws/aws-sdk-go-v2/service/internal/presigned-url => ../../../../service/internal/presigned-url/ + +replace github.com/aws/aws-sdk-go-v2/service/sso => ../../../../service/sso/ + +replace github.com/aws/aws-sdk-go-v2/service/sts => ../../../../service/sts/ + +replace github.com/aws/aws-sdk-go-v2/service/transcribestreaming => ../../../../service/transcribestreaming/ diff --git a/service/transcribestreaming/internal/testing/go.sum b/service/transcribestreaming/internal/testing/go.sum new file mode 100644 index 00000000000..0c9a67cbbd9 --- /dev/null +++ b/service/transcribestreaming/internal/testing/go.sum @@ -0,0 +1,22 @@ +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +golang.org/x/net v0.0.0-20211008194852-3b03d305991f h1:1scJEYZBaF48BaG6tYbtxmLcXqwYGSfGcMoStTqkkIw= +golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/service/transcribestreaming/internal/testing/go_module_metadata.go b/service/transcribestreaming/internal/testing/go_module_metadata.go new file mode 100644 index 00000000000..ee2810d5b76 --- /dev/null +++ b/service/transcribestreaming/internal/testing/go_module_metadata.go @@ -0,0 +1,6 @@ +// Code generated by internal/repotools/cmd/updatemodulemeta DO NOT EDIT. + +package testing + +// goModuleVersion is the tagged release for this module +const goModuleVersion = "tip" diff --git a/service/transcribestreaming/internal/testing/testing.go b/service/transcribestreaming/internal/testing/testing.go new file mode 100644 index 00000000000..eaf94936d79 --- /dev/null +++ b/service/transcribestreaming/internal/testing/testing.go @@ -0,0 +1,2 @@ +// Package testing is used for custom unit tests for transcribestreaming. +package testing diff --git a/service/transcribestreaming/protocol_test.go b/service/transcribestreaming/protocol_test.go new file mode 100644 index 00000000000..3b2c17742a5 --- /dev/null +++ b/service/transcribestreaming/protocol_test.go @@ -0,0 +1,3 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package transcribestreaming diff --git a/service/transcribestreaming/serializers.go b/service/transcribestreaming/serializers.go new file mode 100644 index 00000000000..c569f0ee1ef --- /dev/null +++ b/service/transcribestreaming/serializers.go @@ -0,0 +1,280 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package transcribestreaming + +import ( + "context" + "fmt" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream" + "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi" + "github.com/aws/aws-sdk-go-v2/service/transcribestreaming/types" + smithy "github.com/aws/smithy-go" + "github.com/aws/smithy-go/encoding/httpbinding" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +type awsRestjson1_serializeOpStartMedicalStreamTranscription struct { +} + +func (*awsRestjson1_serializeOpStartMedicalStreamTranscription) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpStartMedicalStreamTranscription) 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.(*StartMedicalStreamTranscriptionInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/medical-stream-transcription") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsStartMedicalStreamTranscriptionInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/vnd.amazon.eventstream") + + 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_serializeOpHttpBindingsStartMedicalStreamTranscriptionInput(v *StartMedicalStreamTranscriptionInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if len(v.ContentIdentificationType) > 0 { + locationName := "X-Amzn-Transcribe-Content-Identification-Type" + encoder.SetHeader(locationName).String(string(v.ContentIdentificationType)) + } + + if v.EnableChannelIdentification { + locationName := "X-Amzn-Transcribe-Enable-Channel-Identification" + encoder.SetHeader(locationName).Boolean(v.EnableChannelIdentification) + } + + if len(v.LanguageCode) > 0 { + locationName := "X-Amzn-Transcribe-Language-Code" + encoder.SetHeader(locationName).String(string(v.LanguageCode)) + } + + if len(v.MediaEncoding) > 0 { + locationName := "X-Amzn-Transcribe-Media-Encoding" + encoder.SetHeader(locationName).String(string(v.MediaEncoding)) + } + + if v.MediaSampleRateHertz != nil { + locationName := "X-Amzn-Transcribe-Sample-Rate" + encoder.SetHeader(locationName).Integer(*v.MediaSampleRateHertz) + } + + if v.NumberOfChannels != nil { + locationName := "X-Amzn-Transcribe-Number-Of-Channels" + encoder.SetHeader(locationName).Integer(*v.NumberOfChannels) + } + + if v.SessionId != nil && len(*v.SessionId) > 0 { + locationName := "X-Amzn-Transcribe-Session-Id" + encoder.SetHeader(locationName).String(*v.SessionId) + } + + if v.ShowSpeakerLabel { + locationName := "X-Amzn-Transcribe-Show-Speaker-Label" + encoder.SetHeader(locationName).Boolean(v.ShowSpeakerLabel) + } + + if len(v.Specialty) > 0 { + locationName := "X-Amzn-Transcribe-Specialty" + encoder.SetHeader(locationName).String(string(v.Specialty)) + } + + if len(v.Type) > 0 { + locationName := "X-Amzn-Transcribe-Type" + encoder.SetHeader(locationName).String(string(v.Type)) + } + + if v.VocabularyName != nil && len(*v.VocabularyName) > 0 { + locationName := "X-Amzn-Transcribe-Vocabulary-Name" + encoder.SetHeader(locationName).String(*v.VocabularyName) + } + + return nil +} + +type awsRestjson1_serializeOpStartStreamTranscription struct { +} + +func (*awsRestjson1_serializeOpStartStreamTranscription) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpStartStreamTranscription) 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.(*StartStreamTranscriptionInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/stream-transcription") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsStartStreamTranscriptionInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/vnd.amazon.eventstream") + + 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_serializeOpHttpBindingsStartStreamTranscriptionInput(v *StartStreamTranscriptionInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if len(v.ContentIdentificationType) > 0 { + locationName := "X-Amzn-Transcribe-Content-Identification-Type" + encoder.SetHeader(locationName).String(string(v.ContentIdentificationType)) + } + + if len(v.ContentRedactionType) > 0 { + locationName := "X-Amzn-Transcribe-Content-Redaction-Type" + encoder.SetHeader(locationName).String(string(v.ContentRedactionType)) + } + + if v.EnableChannelIdentification { + locationName := "X-Amzn-Transcribe-Enable-Channel-Identification" + encoder.SetHeader(locationName).Boolean(v.EnableChannelIdentification) + } + + if v.EnablePartialResultsStabilization { + locationName := "X-Amzn-Transcribe-Enable-Partial-Results-Stabilization" + encoder.SetHeader(locationName).Boolean(v.EnablePartialResultsStabilization) + } + + if len(v.LanguageCode) > 0 { + locationName := "X-Amzn-Transcribe-Language-Code" + encoder.SetHeader(locationName).String(string(v.LanguageCode)) + } + + if v.LanguageModelName != nil && len(*v.LanguageModelName) > 0 { + locationName := "X-Amzn-Transcribe-Language-Model-Name" + encoder.SetHeader(locationName).String(*v.LanguageModelName) + } + + if len(v.MediaEncoding) > 0 { + locationName := "X-Amzn-Transcribe-Media-Encoding" + encoder.SetHeader(locationName).String(string(v.MediaEncoding)) + } + + if v.MediaSampleRateHertz != nil { + locationName := "X-Amzn-Transcribe-Sample-Rate" + encoder.SetHeader(locationName).Integer(*v.MediaSampleRateHertz) + } + + if v.NumberOfChannels != nil { + locationName := "X-Amzn-Transcribe-Number-Of-Channels" + encoder.SetHeader(locationName).Integer(*v.NumberOfChannels) + } + + if len(v.PartialResultsStability) > 0 { + locationName := "X-Amzn-Transcribe-Partial-Results-Stability" + encoder.SetHeader(locationName).String(string(v.PartialResultsStability)) + } + + if v.PiiEntityTypes != nil && len(*v.PiiEntityTypes) > 0 { + locationName := "X-Amzn-Transcribe-Pii-Entity-Types" + encoder.SetHeader(locationName).String(*v.PiiEntityTypes) + } + + if v.SessionId != nil && len(*v.SessionId) > 0 { + locationName := "X-Amzn-Transcribe-Session-Id" + encoder.SetHeader(locationName).String(*v.SessionId) + } + + if v.ShowSpeakerLabel { + locationName := "X-Amzn-Transcribe-Show-Speaker-Label" + encoder.SetHeader(locationName).Boolean(v.ShowSpeakerLabel) + } + + if len(v.VocabularyFilterMethod) > 0 { + locationName := "X-Amzn-Transcribe-Vocabulary-Filter-Method" + encoder.SetHeader(locationName).String(string(v.VocabularyFilterMethod)) + } + + if v.VocabularyFilterName != nil && len(*v.VocabularyFilterName) > 0 { + locationName := "X-Amzn-Transcribe-Vocabulary-Filter-Name" + encoder.SetHeader(locationName).String(*v.VocabularyFilterName) + } + + if v.VocabularyName != nil && len(*v.VocabularyName) > 0 { + locationName := "X-Amzn-Transcribe-Vocabulary-Name" + encoder.SetHeader(locationName).String(*v.VocabularyName) + } + + return nil +} + +func awsRestjson1_serializeEventStreamAudioStream(v types.AudioStream, msg *eventstream.Message) error { + if v == nil { + return fmt.Errorf("unexpected serialization of nil %T", v) + } + + switch vv := v.(type) { + case *types.AudioStreamMemberAudioEvent: + msg.Headers.Set(eventstreamapi.EventTypeHeader, eventstream.StringValue("AudioEvent")) + return awsRestjson1_serializeEventMessageAudioEvent(&vv.Value, msg) + + default: + return fmt.Errorf("unexpected event message type: %v", v) + + } +} +func awsRestjson1_serializeEventMessageAudioEvent(v *types.AudioEvent, msg *eventstream.Message) error { + if v == nil { + return fmt.Errorf("unexpected serialization of nil %T", v) + } + + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + if v.AudioChunk != nil { + msg.Headers.Set(eventstreamapi.ContentTypeHeader, eventstream.StringValue("application/octet-stream")) + msg.Payload = v.AudioChunk + } + return nil +} diff --git a/service/transcribestreaming/types/enums.go b/service/transcribestreaming/types/enums.go new file mode 100644 index 00000000000..ed316641ed3 --- /dev/null +++ b/service/transcribestreaming/types/enums.go @@ -0,0 +1,212 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package types + +type ContentIdentificationType string + +// Enum values for ContentIdentificationType +const ( + ContentIdentificationTypePii ContentIdentificationType = "PII" +) + +// Values returns all known values for ContentIdentificationType. 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 (ContentIdentificationType) Values() []ContentIdentificationType { + return []ContentIdentificationType{ + "PII", + } +} + +type ContentRedactionType string + +// Enum values for ContentRedactionType +const ( + ContentRedactionTypePii ContentRedactionType = "PII" +) + +// Values returns all known values for ContentRedactionType. 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 (ContentRedactionType) Values() []ContentRedactionType { + return []ContentRedactionType{ + "PII", + } +} + +type ItemType string + +// Enum values for ItemType +const ( + ItemTypePronunciation ItemType = "pronunciation" + ItemTypePunctuation ItemType = "punctuation" +) + +// Values returns all known values for ItemType. 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 (ItemType) Values() []ItemType { + return []ItemType{ + "pronunciation", + "punctuation", + } +} + +type LanguageCode string + +// Enum values for LanguageCode +const ( + LanguageCodeEnUs LanguageCode = "en-US" + LanguageCodeEnGb LanguageCode = "en-GB" + LanguageCodeEsUs LanguageCode = "es-US" + LanguageCodeFrCa LanguageCode = "fr-CA" + LanguageCodeFrFr LanguageCode = "fr-FR" + LanguageCodeEnAu LanguageCode = "en-AU" + LanguageCodeItIt LanguageCode = "it-IT" + LanguageCodeDeDe LanguageCode = "de-DE" + LanguageCodePtBr LanguageCode = "pt-BR" + LanguageCodeJaJp LanguageCode = "ja-JP" + LanguageCodeKoKr LanguageCode = "ko-KR" + LanguageCodeZhCn LanguageCode = "zh-CN" +) + +// Values returns all known values for LanguageCode. 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 (LanguageCode) Values() []LanguageCode { + return []LanguageCode{ + "en-US", + "en-GB", + "es-US", + "fr-CA", + "fr-FR", + "en-AU", + "it-IT", + "de-DE", + "pt-BR", + "ja-JP", + "ko-KR", + "zh-CN", + } +} + +type MediaEncoding string + +// Enum values for MediaEncoding +const ( + MediaEncodingPcm MediaEncoding = "pcm" + MediaEncodingOggOpus MediaEncoding = "ogg-opus" + MediaEncodingFlac MediaEncoding = "flac" +) + +// Values returns all known values for MediaEncoding. 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 (MediaEncoding) Values() []MediaEncoding { + return []MediaEncoding{ + "pcm", + "ogg-opus", + "flac", + } +} + +type MedicalContentIdentificationType string + +// Enum values for MedicalContentIdentificationType +const ( + MedicalContentIdentificationTypePhi MedicalContentIdentificationType = "PHI" +) + +// Values returns all known values for MedicalContentIdentificationType. 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 (MedicalContentIdentificationType) Values() []MedicalContentIdentificationType { + return []MedicalContentIdentificationType{ + "PHI", + } +} + +type PartialResultsStability string + +// Enum values for PartialResultsStability +const ( + PartialResultsStabilityHigh PartialResultsStability = "high" + PartialResultsStabilityMedium PartialResultsStability = "medium" + PartialResultsStabilityLow PartialResultsStability = "low" +) + +// Values returns all known values for PartialResultsStability. 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 (PartialResultsStability) Values() []PartialResultsStability { + return []PartialResultsStability{ + "high", + "medium", + "low", + } +} + +type Specialty string + +// Enum values for Specialty +const ( + SpecialtyPrimarycare Specialty = "PRIMARYCARE" + SpecialtyCardiology Specialty = "CARDIOLOGY" + SpecialtyNeurology Specialty = "NEUROLOGY" + SpecialtyOncology Specialty = "ONCOLOGY" + SpecialtyRadiology Specialty = "RADIOLOGY" + SpecialtyUrology Specialty = "UROLOGY" +) + +// Values returns all known values for Specialty. 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 (Specialty) Values() []Specialty { + return []Specialty{ + "PRIMARYCARE", + "CARDIOLOGY", + "NEUROLOGY", + "ONCOLOGY", + "RADIOLOGY", + "UROLOGY", + } +} + +type Type string + +// Enum values for Type +const ( + TypeConversation Type = "CONVERSATION" + TypeDictation Type = "DICTATION" +) + +// Values returns all known values for Type. 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 (Type) Values() []Type { + return []Type{ + "CONVERSATION", + "DICTATION", + } +} + +type VocabularyFilterMethod string + +// Enum values for VocabularyFilterMethod +const ( + VocabularyFilterMethodRemove VocabularyFilterMethod = "remove" + VocabularyFilterMethodMask VocabularyFilterMethod = "mask" + VocabularyFilterMethodTag VocabularyFilterMethod = "tag" +) + +// Values returns all known values for VocabularyFilterMethod. 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 (VocabularyFilterMethod) Values() []VocabularyFilterMethod { + return []VocabularyFilterMethod{ + "remove", + "mask", + "tag", + } +} diff --git a/service/transcribestreaming/types/errors.go b/service/transcribestreaming/types/errors.go new file mode 100644 index 00000000000..09ace54887a --- /dev/null +++ b/service/transcribestreaming/types/errors.go @@ -0,0 +1,111 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package types + +import ( + "fmt" + smithy "github.com/aws/smithy-go" +) + +// One or more arguments to the StartStreamTranscription or +// StartMedicalStreamTranscription operation was invalid. For example, +// MediaEncoding was not set to a valid encoding, or LanguageCode was not set to a +// valid code. Check the parameters and try your request again. +type BadRequestException struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *BadRequestException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *BadRequestException) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *BadRequestException) ErrorCode() string { return "BadRequestException" } +func (e *BadRequestException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } + +// A new stream started with the same session ID. The current stream has been +// terminated. +type ConflictException struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *ConflictException) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *ConflictException) ErrorCode() string { return "ConflictException" } +func (e *ConflictException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } + +// A problem occurred while processing the audio. Amazon Transcribe or Amazon +// Transcribe Medical terminated processing. Try your request again. +type InternalFailureException struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *InternalFailureException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *InternalFailureException) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *InternalFailureException) ErrorCode() string { return "InternalFailureException" } +func (e *InternalFailureException) ErrorFault() smithy.ErrorFault { return smithy.FaultServer } + +// You have exceeded the maximum number of concurrent transcription streams, are +// starting transcription streams too quickly, or the maximum audio length of 4 +// hours. Wait until a stream has finished processing, or break your audio stream +// into smaller chunks and try your request again. +type LimitExceededException struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *LimitExceededException) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *LimitExceededException) ErrorCode() string { return "LimitExceededException" } +func (e *LimitExceededException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } + +// Service is currently unavailable. Try your request later. +type ServiceUnavailableException struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *ServiceUnavailableException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *ServiceUnavailableException) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *ServiceUnavailableException) ErrorCode() string { return "ServiceUnavailableException" } +func (e *ServiceUnavailableException) ErrorFault() smithy.ErrorFault { return smithy.FaultServer } diff --git a/service/transcribestreaming/types/types.go b/service/transcribestreaming/types/types.go new file mode 100644 index 00000000000..3a673f6e2ff --- /dev/null +++ b/service/transcribestreaming/types/types.go @@ -0,0 +1,370 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package types + +import ( + smithydocument "github.com/aws/smithy-go/document" +) + +// A list of possible transcriptions for the audio. +type Alternative struct { + + // Contains the entities identified as personally identifiable information (PII) in + // the transcription output. + Entities []Entity + + // One or more alternative interpretations of the input audio. + Items []Item + + // The text that was transcribed from the audio. + Transcript *string + + noSmithyDocumentSerde +} + +// Provides a wrapper for the audio chunks that you are sending. For information on +// audio encoding in Amazon Transcribe, see Speech input +// (https://docs.aws.amazon.com/transcribe/latest/dg/input.html). For information +// on audio encoding formats in Amazon Transcribe Medical, see Speech input +// (https://docs.aws.amazon.com/transcribe/latest/dg/input-med.html). +type AudioEvent struct { + + // An audio blob that contains the next part of the audio that you want to + // transcribe. The maximum audio chunk size is 32 KB. + AudioChunk []byte + + noSmithyDocumentSerde +} + +// Represents the audio stream from your application to Amazon Transcribe. +// +// The following types satisfy this interface: +// AudioStreamMemberAudioEvent +type AudioStream interface { + isAudioStream() +} + +// A blob of audio from your application. You audio stream consists of one or more +// audio events. For information on audio encoding formats in Amazon Transcribe, +// see Speech input (https://docs.aws.amazon.com/transcribe/latest/dg/input.html). +// For information on audio encoding formats in Amazon Transcribe Medical, see +// Speech input (https://docs.aws.amazon.com/transcribe/latest/dg/input-med.html). +// For more information on stream encoding in Amazon Transcribe, see Event stream +// encoding (https://docs.aws.amazon.com/transcribe/latest/dg/event-stream.html). +// For information on stream encoding in Amazon Transcribe Medical, see Event +// stream encoding +// (https://docs.aws.amazon.com/transcribe/latest/dg/event-stream-med.html). +type AudioStreamMemberAudioEvent struct { + Value AudioEvent + + noSmithyDocumentSerde +} + +func (*AudioStreamMemberAudioEvent) isAudioStream() {} + +// The entity identified as personally identifiable information (PII). +type Entity struct { + + // The category of of information identified in this entity; for example, PII. + Category *string + + // A value between zero and one that Amazon Transcribe assigns to PII identified in + // the source audio. Larger values indicate a higher confidence in PII + // identification. + Confidence *float64 + + // The words in the transcription output that have been identified as a PII entity. + Content *string + + // The end time of speech that was identified as PII. + EndTime float64 + + // The start time of speech that was identified as PII. + StartTime float64 + + // The type of PII identified in this entity; for example, name or credit card + // number. + Type *string + + noSmithyDocumentSerde +} + +// A word, phrase, or punctuation mark that is transcribed from the input audio. +type Item struct { + + // A value between 0 and 1 for an item that is a confidence score that Amazon + // Transcribe assigns to each word or phrase that it transcribes. + Confidence *float64 + + // The word or punctuation that was recognized in the input audio. + Content *string + + // The offset from the beginning of the audio stream to the end of the audio that + // resulted in the item. + EndTime float64 + + // If speaker identification is enabled, shows the speakers identified in the + // real-time stream. + Speaker *string + + // If partial result stabilization has been enabled, indicates whether the word or + // phrase in the item is stable. If Stable is true, the result is stable. + Stable *bool + + // The offset from the beginning of the audio stream to the beginning of the audio + // that resulted in the item. + StartTime float64 + + // The type of the item. PRONUNCIATION indicates that the item is a word that was + // recognized in the input audio. PUNCTUATION indicates that the item was + // interpreted as a pause in the input audio. + Type ItemType + + // Indicates whether a word in the item matches a word in the vocabulary filter + // you've chosen for your real-time stream. If true then a word in the item matches + // your vocabulary filter. + VocabularyFilterMatch bool + + noSmithyDocumentSerde +} + +// A list of possible transcriptions for the audio. +type MedicalAlternative struct { + + // Contains the medical entities identified as personal health information in the + // transcription output. + Entities []MedicalEntity + + // A list of objects that contains words and punctuation marks that represents one + // or more interpretations of the input audio. + Items []MedicalItem + + // The text that was transcribed from the audio. + Transcript *string + + noSmithyDocumentSerde +} + +// The medical entity identified as personal health information. +type MedicalEntity struct { + + // The type of personal health information of the medical entity. + Category *string + + // A value between zero and one that Amazon Transcribe Medical assigned to the + // personal health information that it identified in the source audio. Larger + // values indicate that Amazon Transcribe Medical has higher confidence in the + // personal health information that it identified. + Confidence *float64 + + // The word or words in the transcription output that have been identified as a + // medical entity. + Content *string + + // The end time of the speech that was identified as a medical entity. + EndTime float64 + + // The start time of the speech that was identified as a medical entity. + StartTime float64 + + noSmithyDocumentSerde +} + +// A word, phrase, or punctuation mark that is transcribed from the input audio. +type MedicalItem struct { + + // A value between 0 and 1 for an item that is a confidence score that Amazon + // Transcribe Medical assigns to each word that it transcribes. + Confidence *float64 + + // The word or punctuation mark that was recognized in the input audio. + Content *string + + // The number of seconds into an audio stream that indicates the creation time of + // an item. + EndTime float64 + + // If speaker identification is enabled, shows the integer values that correspond + // to the different speakers identified in the stream. For example, if the value of + // Speaker in the stream is either a 0 or a 1, that indicates that Amazon + // Transcribe Medical has identified two speakers in the stream. The value of 0 + // corresponds to one speaker and the value of 1 corresponds to the other speaker. + Speaker *string + + // The number of seconds into an audio stream that indicates the creation time of + // an item. + StartTime float64 + + // The type of the item. PRONUNCIATION indicates that the item is a word that was + // recognized in the input audio. PUNCTUATION indicates that the item was + // interpreted as a pause in the input audio, such as a period to indicate the end + // of a sentence. + Type ItemType + + noSmithyDocumentSerde +} + +// The results of transcribing a portion of the input audio stream. +type MedicalResult struct { + + // A list of possible transcriptions of the audio. Each alternative typically + // contains one Item that contains the result of the transcription. + Alternatives []MedicalAlternative + + // When channel identification is enabled, Amazon Transcribe Medical transcribes + // the speech from each audio channel separately. You can use ChannelId to retrieve + // the transcription results for a single channel in your audio stream. + ChannelId *string + + // The time, in seconds, from the beginning of the audio stream to the end of the + // result. + EndTime float64 + + // Amazon Transcribe Medical divides the incoming audio stream into segments at + // natural points in the audio. Transcription results are returned based on these + // segments. The IsPartial field is true to indicate that Amazon Transcribe Medical + // has additional transcription data to send. The IsPartial field is false to + // indicate that this is the last transcription result for the segment. + IsPartial bool + + // A unique identifier for the result. + ResultId *string + + // The time, in seconds, from the beginning of the audio stream to the beginning of + // the result. + StartTime float64 + + noSmithyDocumentSerde +} + +// The medical transcript in a MedicalTranscriptEvent. +type MedicalTranscript struct { + + // MedicalResult objects that contain the results of transcribing a portion of the + // input audio stream. The array can be empty. + Results []MedicalResult + + noSmithyDocumentSerde +} + +// Represents a set of transcription results from the server to the client. It +// contains one or more segments of the transcription. +type MedicalTranscriptEvent struct { + + // The transcription of the audio stream. The transcription is composed of all of + // the items in the results list. + Transcript *MedicalTranscript + + noSmithyDocumentSerde +} + +// Represents the transcription result stream from Amazon Transcribe Medical to +// your application. +// +// The following types satisfy this interface: +// MedicalTranscriptResultStreamMemberTranscriptEvent +type MedicalTranscriptResultStream interface { + isMedicalTranscriptResultStream() +} + +// A portion of the transcription of the audio stream. Events are sent periodically +// from Amazon Transcribe Medical to your application. The event can be a partial +// transcription of a section of the audio stream, or it can be the entire +// transcription of that portion of the audio stream. +type MedicalTranscriptResultStreamMemberTranscriptEvent struct { + Value MedicalTranscriptEvent + + noSmithyDocumentSerde +} + +func (*MedicalTranscriptResultStreamMemberTranscriptEvent) isMedicalTranscriptResultStream() {} + +// The result of transcribing a portion of the input audio stream. +type Result struct { + + // A list of possible transcriptions for the audio. Each alternative typically + // contains one item that contains the result of the transcription. + Alternatives []Alternative + + // When channel identification is enabled, Amazon Transcribe transcribes the speech + // from each audio channel separately. You can use ChannelId to retrieve the + // transcription results for a single channel in your audio stream. + ChannelId *string + + // The offset in seconds from the beginning of the audio stream to the end of the + // result. + EndTime float64 + + // Amazon Transcribe divides the incoming audio stream into segments at natural + // points in the audio. Transcription results are returned based on these segments. + // The IsPartial field is true to indicate that Amazon Transcribe has additional + // transcription data to send, false to indicate that this is the last + // transcription result for the segment. + IsPartial bool + + // A unique identifier for the result. + ResultId *string + + // The offset in seconds from the beginning of the audio stream to the beginning of + // the result. + StartTime float64 + + noSmithyDocumentSerde +} + +// The transcription in a TranscriptEvent. +type Transcript struct { + + // Result objects that contain the results of transcribing a portion of the input + // audio stream. The array can be empty. + Results []Result + + noSmithyDocumentSerde +} + +// Represents a set of transcription results from the server to the client. It +// contains one or more segments of the transcription. +type TranscriptEvent struct { + + // The transcription of the audio stream. The transcription is composed of all of + // the items in the results list. + Transcript *Transcript + + noSmithyDocumentSerde +} + +// Represents the transcription result stream from Amazon Transcribe to your +// application. +// +// The following types satisfy this interface: +// TranscriptResultStreamMemberTranscriptEvent +type TranscriptResultStream interface { + isTranscriptResultStream() +} + +// A portion of the transcription of the audio stream. Events are sent periodically +// from Amazon Transcribe to your application. The event can be a partial +// transcription of a section of the audio stream, or it can be the entire +// transcription of that portion of the audio stream. +type TranscriptResultStreamMemberTranscriptEvent struct { + Value TranscriptEvent + + noSmithyDocumentSerde +} + +func (*TranscriptResultStreamMemberTranscriptEvent) isTranscriptResultStream() {} + +type noSmithyDocumentSerde = smithydocument.NoSerde + +// UnknownUnionMember is returned when a union member is returned over the wire, +// but has an unknown tag. +type UnknownUnionMember struct { + Tag string + Value []byte + + noSmithyDocumentSerde +} + +func (*UnknownUnionMember) isAudioStream() {} +func (*UnknownUnionMember) isMedicalTranscriptResultStream() {} +func (*UnknownUnionMember) isTranscriptResultStream() {} diff --git a/service/transcribestreaming/types/types_exported_test.go b/service/transcribestreaming/types/types_exported_test.go new file mode 100644 index 00000000000..15c783a6b3d --- /dev/null +++ b/service/transcribestreaming/types/types_exported_test.go @@ -0,0 +1,62 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package types_test + +import ( + "fmt" + "github.com/aws/aws-sdk-go-v2/service/transcribestreaming/types" +) + +func ExampleAudioStream_outputUsage() { + var union types.AudioStream + // type switches can be used to check the union value + switch v := union.(type) { + case *types.AudioStreamMemberAudioEvent: + _ = v.Value // Value is types.AudioEvent + + case *types.UnknownUnionMember: + fmt.Println("unknown tag:", v.Tag) + + default: + fmt.Println("union is nil or unknown type") + + } +} + +var _ *types.AudioEvent + +func ExampleMedicalTranscriptResultStream_outputUsage() { + var union types.MedicalTranscriptResultStream + // type switches can be used to check the union value + switch v := union.(type) { + case *types.MedicalTranscriptResultStreamMemberTranscriptEvent: + _ = v.Value // Value is types.MedicalTranscriptEvent + + case *types.UnknownUnionMember: + fmt.Println("unknown tag:", v.Tag) + + default: + fmt.Println("union is nil or unknown type") + + } +} + +var _ *types.MedicalTranscriptEvent + +func ExampleTranscriptResultStream_outputUsage() { + var union types.TranscriptResultStream + // type switches can be used to check the union value + switch v := union.(type) { + case *types.TranscriptResultStreamMemberTranscriptEvent: + _ = v.Value // Value is types.TranscriptEvent + + case *types.UnknownUnionMember: + fmt.Println("unknown tag:", v.Tag) + + default: + fmt.Println("union is nil or unknown type") + + } +} + +var _ *types.TranscriptEvent diff --git a/service/transcribestreaming/validators.go b/service/transcribestreaming/validators.go new file mode 100644 index 00000000000..0f159e086e2 --- /dev/null +++ b/service/transcribestreaming/validators.go @@ -0,0 +1,106 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package transcribestreaming + +import ( + "context" + "fmt" + smithy "github.com/aws/smithy-go" + "github.com/aws/smithy-go/middleware" +) + +type validateOpStartMedicalStreamTranscription struct { +} + +func (*validateOpStartMedicalStreamTranscription) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpStartMedicalStreamTranscription) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*StartMedicalStreamTranscriptionInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpStartMedicalStreamTranscriptionInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + +type validateOpStartStreamTranscription struct { +} + +func (*validateOpStartStreamTranscription) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpStartStreamTranscription) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*StartStreamTranscriptionInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpStartStreamTranscriptionInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + +func addOpStartMedicalStreamTranscriptionValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpStartMedicalStreamTranscription{}, middleware.After) +} + +func addOpStartStreamTranscriptionValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpStartStreamTranscription{}, middleware.After) +} + +func validateOpStartMedicalStreamTranscriptionInput(v *StartMedicalStreamTranscriptionInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "StartMedicalStreamTranscriptionInput"} + if len(v.LanguageCode) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("LanguageCode")) + } + if v.MediaSampleRateHertz == nil { + invalidParams.Add(smithy.NewErrParamRequired("MediaSampleRateHertz")) + } + if len(v.MediaEncoding) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("MediaEncoding")) + } + if len(v.Specialty) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("Specialty")) + } + if len(v.Type) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("Type")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateOpStartStreamTranscriptionInput(v *StartStreamTranscriptionInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "StartStreamTranscriptionInput"} + if len(v.LanguageCode) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("LanguageCode")) + } + if v.MediaSampleRateHertz == nil { + invalidParams.Add(smithy.NewErrParamRequired("MediaSampleRateHertz")) + } + if len(v.MediaEncoding) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("MediaEncoding")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} diff --git a/service/transfer/go.mod b/service/transfer/go.mod index e7c2be76ac6..108e8e354fb 100644 --- a/service/transfer/go.mod +++ b/service/transfer/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/transfer/go.sum b/service/transfer/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/transfer/go.sum +++ b/service/transfer/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/translate/go.mod b/service/translate/go.mod index 954d3f99478..c89db5757f0 100644 --- a/service/translate/go.mod +++ b/service/translate/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/translate/go.sum b/service/translate/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/translate/go.sum +++ b/service/translate/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/voiceid/go.mod b/service/voiceid/go.mod index 5beca187ea4..e15a62b5fe0 100644 --- a/service/voiceid/go.mod +++ b/service/voiceid/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/voiceid/go.sum b/service/voiceid/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/voiceid/go.sum +++ b/service/voiceid/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/waf/go.mod b/service/waf/go.mod index 076fe435f65..e7c955da82a 100644 --- a/service/waf/go.mod +++ b/service/waf/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/waf/go.sum b/service/waf/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/waf/go.sum +++ b/service/waf/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/wafregional/go.mod b/service/wafregional/go.mod index 5c6d536c451..ac3812bc192 100644 --- a/service/wafregional/go.mod +++ b/service/wafregional/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/wafregional/go.sum b/service/wafregional/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/wafregional/go.sum +++ b/service/wafregional/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/wafv2/go.mod b/service/wafv2/go.mod index b1b9022d96b..1131b42ea56 100644 --- a/service/wafv2/go.mod +++ b/service/wafv2/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/wafv2/go.sum b/service/wafv2/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/wafv2/go.sum +++ b/service/wafv2/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/wellarchitected/go.mod b/service/wellarchitected/go.mod index a16d820535c..10bb40244e9 100644 --- a/service/wellarchitected/go.mod +++ b/service/wellarchitected/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/wellarchitected/go.sum b/service/wellarchitected/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/wellarchitected/go.sum +++ b/service/wellarchitected/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/wisdom/go.mod b/service/wisdom/go.mod index 01689dc36f1..7449ba2ff59 100644 --- a/service/wisdom/go.mod +++ b/service/wisdom/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/wisdom/go.sum b/service/wisdom/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/wisdom/go.sum +++ b/service/wisdom/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/workdocs/go.mod b/service/workdocs/go.mod index 11cf17b748a..e500ef24149 100644 --- a/service/workdocs/go.mod +++ b/service/workdocs/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/workdocs/go.sum b/service/workdocs/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/workdocs/go.sum +++ b/service/workdocs/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/worklink/go.mod b/service/worklink/go.mod index cd7df0cbe05..136924802e3 100644 --- a/service/worklink/go.mod +++ b/service/worklink/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/worklink/go.sum b/service/worklink/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/worklink/go.sum +++ b/service/worklink/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/workmail/go.mod b/service/workmail/go.mod index 9d2842a1685..b2b1f427b7a 100644 --- a/service/workmail/go.mod +++ b/service/workmail/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/workmail/go.sum b/service/workmail/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/workmail/go.sum +++ b/service/workmail/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/workmailmessageflow/go.mod b/service/workmailmessageflow/go.mod index 87e5f6ff668..1035f8427a7 100644 --- a/service/workmailmessageflow/go.mod +++ b/service/workmailmessageflow/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/workmailmessageflow/go.sum b/service/workmailmessageflow/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/workmailmessageflow/go.sum +++ b/service/workmailmessageflow/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/workspaces/go.mod b/service/workspaces/go.mod index 4496f6a7a9d..bfcf694c36d 100644 --- a/service/workspaces/go.mod +++ b/service/workspaces/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/workspaces/go.sum b/service/workspaces/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/workspaces/go.sum +++ b/service/workspaces/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/xray/go.mod b/service/xray/go.mod index 2f6f3b48f55..423f6cd7afe 100644 --- a/service/xray/go.mod +++ b/service/xray/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.0.7 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0-00010101000000-000000000000 - github.com/aws/smithy-go v1.8.1 + github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/xray/go.sum b/service/xray/go.sum index 257a75ed532..25c97cc2ce8 100644 --- a/service/xray/go.sum +++ b/service/xray/go.sum @@ -1,5 +1,5 @@ -github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= -github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f h1:4nFZeIgutEmubdHF4UAAahgN+K5as4ZL5vr1MdfPv8Q= +github.com/aws/smithy-go v1.8.2-0.20211102001011-cc8d2d3f851f/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= diff --git a/service/xray/types/types.go b/service/xray/types/types.go index 121f835cf97..11b9de3c878 100644 --- a/service/xray/types/types.go +++ b/service/xray/types/types.go @@ -26,30 +26,30 @@ type Alias struct { // String. // // The following types satisfy this interface: -// AnnotationValueMemberNumberValue // AnnotationValueMemberBooleanValue +// AnnotationValueMemberNumberValue // AnnotationValueMemberStringValue type AnnotationValue interface { isAnnotationValue() } -// Value for a Number annotation. -type AnnotationValueMemberNumberValue struct { - Value float64 +// Value for a Boolean annotation. +type AnnotationValueMemberBooleanValue struct { + Value bool noSmithyDocumentSerde } -func (*AnnotationValueMemberNumberValue) isAnnotationValue() {} +func (*AnnotationValueMemberBooleanValue) isAnnotationValue() {} -// Value for a Boolean annotation. -type AnnotationValueMemberBooleanValue struct { - Value bool +// Value for a Number annotation. +type AnnotationValueMemberNumberValue struct { + Value float64 noSmithyDocumentSerde } -func (*AnnotationValueMemberBooleanValue) isAnnotationValue() {} +func (*AnnotationValueMemberNumberValue) isAnnotationValue() {} // Value for a String annotation. type AnnotationValueMemberStringValue struct {