From c96e678745d7f854e69686ccb9284803e9c4115c Mon Sep 17 00:00:00 2001 From: AWS SDK for Go v2 automation user Date: Tue, 12 Nov 2024 19:45:36 +0000 Subject: [PATCH] Regenerated Clients --- .../18e4a35cbe7d43bc90a35e0d5da4f75a.json | 8 + .../5d830cbeeecd474fbdda500e84658c1b.json | 8 + .../9503de551b9743b6b67cd2077a3fd9fe.json | 8 + .../b167503de3914475bd4308d710486b13.json | 8 + .../c3e126caecbf4123a4f5ccbb9dc0a2a0.json | 8 + .../f4da35714b524c008a1ff49ac33b2961.json | 8 + service/codebuild/api_op_CreateFleet.go | 15 + service/codebuild/api_op_UpdateFleet.go | 15 + service/codebuild/types/enums.go | 6 + service/codebuild/types/types.go | 15 + .../api_op_ResetEnabledControl.go | 158 + .../api_op_UpdateEnabledControl.go | 9 +- service/controltower/deserializers.go | 174 + service/controltower/generated.json | 1 + service/controltower/serializers.go | 81 + .../api_op_ResetEnabledControl.go.snap | 41 + service/controltower/snapshot_test.go | 24 + service/controltower/types/enums.go | 2 + service/controltower/validators.go | 39 + .../fis/api_op_CreateExperimentTemplate.go | 3 + .../fis/api_op_UpdateExperimentTemplate.go | 3 + service/fis/deserializers.go | 779 ++- service/fis/serializers.go | 146 + service/fis/types/enums.go | 25 + service/fis/types/types.go | 264 + service/gamelift/api_op_CreateBuild.go | 64 +- .../gamelift/api_op_CreateContainerFleet.go | 401 ++ .../api_op_CreateContainerGroupDefinition.go | 183 +- service/gamelift/api_op_CreateFleet.go | 106 +- .../gamelift/api_op_CreateFleetLocations.go | 10 +- service/gamelift/api_op_CreateGameSession.go | 4 +- .../gamelift/api_op_CreateGameSessionQueue.go | 12 +- .../api_op_CreateMatchmakingConfiguration.go | 14 +- service/gamelift/api_op_CreateScript.go | 30 +- .../gamelift/api_op_DeleteContainerFleet.go | 164 + .../api_op_DeleteContainerGroupDefinition.go | 24 +- service/gamelift/api_op_DeregisterCompute.go | 21 +- service/gamelift/api_op_DescribeCompute.go | 19 +- .../gamelift/api_op_DescribeContainerFleet.go | 174 + ...api_op_DescribeContainerGroupDefinition.go | 23 +- .../api_op_DescribeFleetAttributes.go | 4 - .../gamelift/api_op_DescribeFleetCapacity.go | 6 +- .../api_op_DescribeFleetDeployment.go | 177 + .../api_op_DescribeFleetLocationCapacity.go | 4 +- .../api_op_DescribeFleetPortSettings.go | 12 +- .../api_op_DescribeRuntimeConfiguration.go | 8 +- service/gamelift/api_op_GetComputeAccess.go | 46 +- .../gamelift/api_op_GetComputeAuthToken.go | 33 +- service/gamelift/api_op_ListBuilds.go | 2 +- service/gamelift/api_op_ListCompute.go | 53 +- .../gamelift/api_op_ListContainerFleets.go | 287 + ...op_ListContainerGroupDefinitionVersions.go | 290 + .../api_op_ListContainerGroupDefinitions.go | 36 +- .../gamelift/api_op_ListFleetDeployments.go | 284 + service/gamelift/api_op_ListFleets.go | 12 - service/gamelift/api_op_ListScripts.go | 2 +- service/gamelift/api_op_RegisterCompute.go | 14 +- .../api_op_StartGameSessionPlacement.go | 14 +- service/gamelift/api_op_UpdateBuild.go | 8 +- .../gamelift/api_op_UpdateContainerFleet.go | 271 + .../api_op_UpdateContainerGroupDefinition.go | 237 + .../gamelift/api_op_UpdateFleetCapacity.go | 15 +- .../gamelift/api_op_UpdateGameSessionQueue.go | 14 +- .../api_op_UpdateMatchmakingConfiguration.go | 14 +- .../api_op_UpdateRuntimeConfiguration.go | 4 +- service/gamelift/api_op_UpdateScript.go | 6 +- service/gamelift/deserializers.go | 4709 ++++++++++++----- service/gamelift/generated.json | 9 + service/gamelift/serializers.go | 1538 +++++- .../api_op_CreateContainerFleet.go.snap | 41 + .../api_op_DeleteContainerFleet.go.snap | 41 + .../api_op_DescribeContainerFleet.go.snap | 41 + .../api_op_DescribeFleetDeployment.go.snap | 41 + .../api_op_ListContainerFleets.go.snap | 40 + ...stContainerGroupDefinitionVersions.go.snap | 41 + .../api_op_ListFleetDeployments.go.snap | 40 + .../api_op_UpdateContainerFleet.go.snap | 41 + ..._op_UpdateContainerGroupDefinition.go.snap | 41 + service/gamelift/snapshot_test.go | 216 + service/gamelift/types/enums.go | 293 +- service/gamelift/types/types.go | 1622 +++--- service/gamelift/validators.go | 540 +- .../internal/endpoints/endpoints.go | 3 + .../internal/endpoints/endpoints.go | 3 + .../paymentcryptography/api_op_ListAliases.go | 5 +- service/paymentcryptography/serializers.go | 5 + service/paymentcryptography/types/types.go | 2 + service/paymentcryptography/validators.go | 3 + service/rds/api_op_CreateDBCluster.go | 2 +- service/rds/api_op_RestoreDBClusterFromS3.go | 2 +- .../api_op_RestoreDBClusterFromSnapshot.go | 2 +- .../api_op_RestoreDBClusterToPointInTime.go | 2 +- 92 files changed, 11570 insertions(+), 2703 deletions(-) create mode 100644 .changelog/18e4a35cbe7d43bc90a35e0d5da4f75a.json create mode 100644 .changelog/5d830cbeeecd474fbdda500e84658c1b.json create mode 100644 .changelog/9503de551b9743b6b67cd2077a3fd9fe.json create mode 100644 .changelog/b167503de3914475bd4308d710486b13.json create mode 100644 .changelog/c3e126caecbf4123a4f5ccbb9dc0a2a0.json create mode 100644 .changelog/f4da35714b524c008a1ff49ac33b2961.json create mode 100644 service/controltower/api_op_ResetEnabledControl.go create mode 100644 service/controltower/snapshot/api_op_ResetEnabledControl.go.snap create mode 100644 service/gamelift/api_op_CreateContainerFleet.go create mode 100644 service/gamelift/api_op_DeleteContainerFleet.go create mode 100644 service/gamelift/api_op_DescribeContainerFleet.go create mode 100644 service/gamelift/api_op_DescribeFleetDeployment.go create mode 100644 service/gamelift/api_op_ListContainerFleets.go create mode 100644 service/gamelift/api_op_ListContainerGroupDefinitionVersions.go create mode 100644 service/gamelift/api_op_ListFleetDeployments.go create mode 100644 service/gamelift/api_op_UpdateContainerFleet.go create mode 100644 service/gamelift/api_op_UpdateContainerGroupDefinition.go create mode 100644 service/gamelift/snapshot/api_op_CreateContainerFleet.go.snap create mode 100644 service/gamelift/snapshot/api_op_DeleteContainerFleet.go.snap create mode 100644 service/gamelift/snapshot/api_op_DescribeContainerFleet.go.snap create mode 100644 service/gamelift/snapshot/api_op_DescribeFleetDeployment.go.snap create mode 100644 service/gamelift/snapshot/api_op_ListContainerFleets.go.snap create mode 100644 service/gamelift/snapshot/api_op_ListContainerGroupDefinitionVersions.go.snap create mode 100644 service/gamelift/snapshot/api_op_ListFleetDeployments.go.snap create mode 100644 service/gamelift/snapshot/api_op_UpdateContainerFleet.go.snap create mode 100644 service/gamelift/snapshot/api_op_UpdateContainerGroupDefinition.go.snap diff --git a/.changelog/18e4a35cbe7d43bc90a35e0d5da4f75a.json b/.changelog/18e4a35cbe7d43bc90a35e0d5da4f75a.json new file mode 100644 index 00000000000..555ccfc0d84 --- /dev/null +++ b/.changelog/18e4a35cbe7d43bc90a35e0d5da4f75a.json @@ -0,0 +1,8 @@ +{ + "id": "18e4a35c-be7d-43bc-90a3-5e0d5da4f75a", + "type": "feature", + "description": "Added ResetEnabledControl API.", + "modules": [ + "service/controltower" + ] +} \ No newline at end of file diff --git a/.changelog/5d830cbeeecd474fbdda500e84658c1b.json b/.changelog/5d830cbeeecd474fbdda500e84658c1b.json new file mode 100644 index 00000000000..2357a79367d --- /dev/null +++ b/.changelog/5d830cbeeecd474fbdda500e84658c1b.json @@ -0,0 +1,8 @@ +{ + "id": "5d830cbe-eecd-474f-bdda-500e84658c1b", + "type": "feature", + "description": "Updated ListAliases API with KeyArn filter.", + "modules": [ + "service/paymentcryptography" + ] +} \ No newline at end of file diff --git a/.changelog/9503de551b9743b6b67cd2077a3fd9fe.json b/.changelog/9503de551b9743b6b67cd2077a3fd9fe.json new file mode 100644 index 00000000000..75eddaa31b9 --- /dev/null +++ b/.changelog/9503de551b9743b6b67cd2077a3fd9fe.json @@ -0,0 +1,8 @@ +{ + "id": "9503de55-1b97-43b6-b67c-d2077a3fd9fe", + "type": "feature", + "description": "Amazon GameLift releases container fleets support for general availability. Deploy Linux-based containerized game server software for hosting on Amazon GameLift.", + "modules": [ + "service/gamelift" + ] +} \ No newline at end of file diff --git a/.changelog/b167503de3914475bd4308d710486b13.json b/.changelog/b167503de3914475bd4308d710486b13.json new file mode 100644 index 00000000000..3503982b21e --- /dev/null +++ b/.changelog/b167503de3914475bd4308d710486b13.json @@ -0,0 +1,8 @@ +{ + "id": "b167503d-e391-4475-bd43-08d710486b13", + "type": "documentation", + "description": "Updates Amazon RDS documentation for Amazon RDS Extended Support for Amazon Aurora MySQL.", + "modules": [ + "service/rds" + ] +} \ No newline at end of file diff --git a/.changelog/c3e126caecbf4123a4f5ccbb9dc0a2a0.json b/.changelog/c3e126caecbf4123a4f5ccbb9dc0a2a0.json new file mode 100644 index 00000000000..bad36180f63 --- /dev/null +++ b/.changelog/c3e126caecbf4123a4f5ccbb9dc0a2a0.json @@ -0,0 +1,8 @@ +{ + "id": "c3e126ca-ecbf-4123-a4f5-ccbb9dc0a2a0", + "type": "feature", + "description": "AWS CodeBuild now supports non-containerized Linux and Windows builds on Reserved Capacity.", + "modules": [ + "service/codebuild" + ] +} \ No newline at end of file diff --git a/.changelog/f4da35714b524c008a1ff49ac33b2961.json b/.changelog/f4da35714b524c008a1ff49ac33b2961.json new file mode 100644 index 00000000000..fdb23d68b56 --- /dev/null +++ b/.changelog/f4da35714b524c008a1ff49ac33b2961.json @@ -0,0 +1,8 @@ +{ + "id": "f4da3571-4b52-4c00-8a1f-f49ac33b2961", + "type": "feature", + "description": "This release adds support for generating experiment reports with the experiment report configuration", + "modules": [ + "service/fis" + ] +} \ No newline at end of file diff --git a/service/codebuild/api_op_CreateFleet.go b/service/codebuild/api_op_CreateFleet.go index 9ac6a61b197..dcc00d5657d 100644 --- a/service/codebuild/api_op_CreateFleet.go +++ b/service/codebuild/api_op_CreateFleet.go @@ -112,11 +112,21 @@ type CreateFleetInput struct { // (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), // EU (Frankfurt), and South America (São Paulo). // + // - The environment type ARM_EC2 is available only in regions US East (N. + // Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia + // Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America + // (São Paulo), and Asia Pacific (Mumbai). + // // - The environment type LINUX_CONTAINER is available only in regions US East // (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), // Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South // America (São Paulo), and Asia Pacific (Mumbai). // + // - The environment type LINUX_EC2 is available only in regions US East (N. + // Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia + // Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America + // (São Paulo), and Asia Pacific (Mumbai). + // // - The environment type LINUX_GPU_CONTAINER is available only in regions US // East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU // (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney). @@ -129,6 +139,11 @@ type CreateFleetInput struct { // US East (N. Virginia), US East (Ohio), US West (Oregon), and Asia Pacific // (Sydney). // + // - The environment type WINDOWS_EC2 is available only in regions US East (N. + // Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia + // Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America + // (São Paulo), and Asia Pacific (Mumbai). + // // - The environment type WINDOWS_SERVER_2019_CONTAINER is available only in // regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific // (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland). diff --git a/service/codebuild/api_op_UpdateFleet.go b/service/codebuild/api_op_UpdateFleet.go index 7e56ef98db1..51ab16730ba 100644 --- a/service/codebuild/api_op_UpdateFleet.go +++ b/service/codebuild/api_op_UpdateFleet.go @@ -117,11 +117,21 @@ type UpdateFleetInput struct { // (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), // EU (Frankfurt), and South America (São Paulo). // + // - The environment type ARM_EC2 is available only in regions US East (N. + // Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia + // Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America + // (São Paulo), and Asia Pacific (Mumbai). + // // - The environment type LINUX_CONTAINER is available only in regions US East // (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), // Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South // America (São Paulo), and Asia Pacific (Mumbai). // + // - The environment type LINUX_EC2 is available only in regions US East (N. + // Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia + // Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America + // (São Paulo), and Asia Pacific (Mumbai). + // // - The environment type LINUX_GPU_CONTAINER is available only in regions US // East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU // (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney). @@ -134,6 +144,11 @@ type UpdateFleetInput struct { // US East (N. Virginia), US East (Ohio), US West (Oregon), and Asia Pacific // (Sydney). // + // - The environment type WINDOWS_EC2 is available only in regions US East (N. + // Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia + // Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America + // (São Paulo), and Asia Pacific (Mumbai). + // // - The environment type WINDOWS_SERVER_2019_CONTAINER is available only in // regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific // (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland). diff --git a/service/codebuild/types/enums.go b/service/codebuild/types/enums.go index bd31915bf02..a4d3d80f42c 100644 --- a/service/codebuild/types/enums.go +++ b/service/codebuild/types/enums.go @@ -299,6 +299,9 @@ const ( EnvironmentTypeWindowsServer2019Container EnvironmentType = "WINDOWS_SERVER_2019_CONTAINER" EnvironmentTypeLinuxLambdaContainer EnvironmentType = "LINUX_LAMBDA_CONTAINER" EnvironmentTypeArmLambdaContainer EnvironmentType = "ARM_LAMBDA_CONTAINER" + EnvironmentTypeLinuxEc2 EnvironmentType = "LINUX_EC2" + EnvironmentTypeArmEc2 EnvironmentType = "ARM_EC2" + EnvironmentTypeWindowsEc2 EnvironmentType = "WINDOWS_EC2" EnvironmentTypeMacArm EnvironmentType = "MAC_ARM" ) @@ -315,6 +318,9 @@ func (EnvironmentType) Values() []EnvironmentType { "WINDOWS_SERVER_2019_CONTAINER", "LINUX_LAMBDA_CONTAINER", "ARM_LAMBDA_CONTAINER", + "LINUX_EC2", + "ARM_EC2", + "WINDOWS_EC2", "MAC_ARM", } } diff --git a/service/codebuild/types/types.go b/service/codebuild/types/types.go index af3e392b957..2a6c1a28418 100644 --- a/service/codebuild/types/types.go +++ b/service/codebuild/types/types.go @@ -1007,11 +1007,21 @@ type Fleet struct { // (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), // EU (Frankfurt), and South America (São Paulo). // + // - The environment type ARM_EC2 is available only in regions US East (N. + // Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia + // Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America + // (São Paulo), and Asia Pacific (Mumbai). + // // - The environment type LINUX_CONTAINER is available only in regions US East // (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), // Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South // America (São Paulo), and Asia Pacific (Mumbai). // + // - The environment type LINUX_EC2 is available only in regions US East (N. + // Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia + // Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America + // (São Paulo), and Asia Pacific (Mumbai). + // // - The environment type LINUX_GPU_CONTAINER is available only in regions US // East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU // (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney). @@ -1024,6 +1034,11 @@ type Fleet struct { // US East (N. Virginia), US East (Ohio), US West (Oregon), and Asia Pacific // (Sydney). // + // - The environment type WINDOWS_EC2 is available only in regions US East (N. + // Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia + // Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America + // (São Paulo), and Asia Pacific (Mumbai). + // // - The environment type WINDOWS_SERVER_2019_CONTAINER is available only in // regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific // (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland). diff --git a/service/controltower/api_op_ResetEnabledControl.go b/service/controltower/api_op_ResetEnabledControl.go new file mode 100644 index 00000000000..fc242beaf7f --- /dev/null +++ b/service/controltower/api_op_ResetEnabledControl.go @@ -0,0 +1,158 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package controltower + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Resets an enabled control. +func (c *Client) ResetEnabledControl(ctx context.Context, params *ResetEnabledControlInput, optFns ...func(*Options)) (*ResetEnabledControlOutput, error) { + if params == nil { + params = &ResetEnabledControlInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ResetEnabledControl", params, optFns, c.addOperationResetEnabledControlMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ResetEnabledControlOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ResetEnabledControlInput struct { + + // The ARN of the enabled control to be reset. + // + // This member is required. + EnabledControlIdentifier *string + + noSmithyDocumentSerde +} + +type ResetEnabledControlOutput struct { + + // The operation identifier for this ResetEnabledControl operation. + // + // This member is required. + OperationIdentifier *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationResetEnabledControlMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsRestjson1_serializeOpResetEnabledControl{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpResetEnabledControl{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "ResetEnabledControl"); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + + if err = addlegacyEndpointContextSetter(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addSpanRetryLoop(stack, options); err != nil { + return err + } + if err = addClientUserAgent(stack, options); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = addOpResetEnabledControlValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opResetEnabledControl(options.Region), middleware.Before); err != nil { + return err + } + if err = addRecursionDetection(stack); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + if err = addDisableHTTPSMiddleware(stack, options); err != nil { + return err + } + if err = addSpanInitializeStart(stack); err != nil { + return err + } + if err = addSpanInitializeEnd(stack); err != nil { + return err + } + if err = addSpanBuildRequestStart(stack); err != nil { + return err + } + if err = addSpanBuildRequestEnd(stack); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opResetEnabledControl(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "ResetEnabledControl", + } +} diff --git a/service/controltower/api_op_UpdateEnabledControl.go b/service/controltower/api_op_UpdateEnabledControl.go index 4016ca02595..fc16c4145e1 100644 --- a/service/controltower/api_op_UpdateEnabledControl.go +++ b/service/controltower/api_op_UpdateEnabledControl.go @@ -20,10 +20,11 @@ import ( // If the enabled control shows an EnablementStatus of FAILED, Amazon Web Services // Control Tower updates the control to match any valid parameters that you supply. // -// If the DriftSummary status for the control shows as DRIFTED, you cannot call -// this API. Instead, you can update the control by calling DisableControl and -// again calling EnableControl , or you can run an extending governance operation. -// For usage examples, see the [Controls Reference Guide]. +// If the DriftSummary status for the control shows as DRIFTED , you cannot call +// this API. Instead, you can update the control by calling the ResetEnabledControl +// API. Alternatively, you can call DisableControl and then call EnableControl +// again. Also, you can run an extending governance operation to repair drift. For +// usage examples, see the [Controls Reference Guide]. // // [Controls Reference Guide]: https://docs.aws.amazon.com/controltower/latest/controlreference/control-api-examples-short.html func (c *Client) UpdateEnabledControl(ctx context.Context, params *UpdateEnabledControlInput, optFns ...func(*Options)) (*UpdateEnabledControlOutput, error) { diff --git a/service/controltower/deserializers.go b/service/controltower/deserializers.go index 2616a888f05..bf9aa10e778 100644 --- a/service/controltower/deserializers.go +++ b/service/controltower/deserializers.go @@ -3619,6 +3619,180 @@ func awsRestjson1_deserializeOpDocumentResetEnabledBaselineOutput(v **ResetEnabl return nil } +type awsRestjson1_deserializeOpResetEnabledControl struct { +} + +func (*awsRestjson1_deserializeOpResetEnabledControl) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpResetEnabledControl) 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 + } + + _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() + defer span.End() + 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_deserializeOpErrorResetEnabledControl(response, &metadata) + } + output := &ResetEnabledControlOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentResetEnabledControlOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + span.End() + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorResetEnabledControl(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + headerCode := response.Header.Get("X-Amzn-ErrorType") + if len(headerCode) != 0 { + errorCode = restjson.SanitizeErrorCode(headerCode) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + jsonCode, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(headerCode) == 0 && len(jsonCode) != 0 { + errorCode = restjson.SanitizeErrorCode(jsonCode) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ServiceQuotaExceededException", errorCode): + return awsRestjson1_deserializeErrorServiceQuotaExceededException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentResetEnabledControlOutput(v **ResetEnabledControlOutput, 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 *ResetEnabledControlOutput + if *v == nil { + sv = &ResetEnabledControlOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "operationIdentifier": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected OperationIdentifier to be of type string, got %T instead", value) + } + sv.OperationIdentifier = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpResetLandingZone struct { } diff --git a/service/controltower/generated.json b/service/controltower/generated.json index 97470e2319a..6b491b3c901 100644 --- a/service/controltower/generated.json +++ b/service/controltower/generated.json @@ -29,6 +29,7 @@ "api_op_ListLandingZones.go", "api_op_ListTagsForResource.go", "api_op_ResetEnabledBaseline.go", + "api_op_ResetEnabledControl.go", "api_op_ResetLandingZone.go", "api_op_TagResource.go", "api_op_UntagResource.go", diff --git a/service/controltower/serializers.go b/service/controltower/serializers.go index 067079740d0..b89f4f1763e 100644 --- a/service/controltower/serializers.go +++ b/service/controltower/serializers.go @@ -1833,6 +1833,87 @@ func awsRestjson1_serializeOpDocumentResetEnabledBaselineInput(v *ResetEnabledBa return nil } +type awsRestjson1_serializeOpResetEnabledControl struct { +} + +func (*awsRestjson1_serializeOpResetEnabledControl) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpResetEnabledControl) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() + defer span.End() + 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.(*ResetEnabledControlInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/reset-enabled-control") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + var restEncoder *httpbinding.Encoder + if request.URL.RawPath == "" { + restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + } else { + request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath) + restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header) + } + + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentResetEnabledControlInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + endTimer() + span.End() + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsResetEnabledControlInput(v *ResetEnabledControlInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + return nil +} + +func awsRestjson1_serializeOpDocumentResetEnabledControlInput(v *ResetEnabledControlInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.EnabledControlIdentifier != nil { + ok := object.Key("enabledControlIdentifier") + ok.String(*v.EnabledControlIdentifier) + } + + return nil +} + type awsRestjson1_serializeOpResetLandingZone struct { } diff --git a/service/controltower/snapshot/api_op_ResetEnabledControl.go.snap b/service/controltower/snapshot/api_op_ResetEnabledControl.go.snap new file mode 100644 index 00000000000..5a1ec5a9338 --- /dev/null +++ b/service/controltower/snapshot/api_op_ResetEnabledControl.go.snap @@ -0,0 +1,41 @@ +ResetEnabledControl + Initialize stack step + spanInitializeStart + RegisterServiceMetadata + legacyEndpointContextSetter + SetLogger + OperationInputValidation + spanInitializeEnd + Serialize stack step + spanBuildRequestStart + setOperationInput + ResolveEndpoint + OperationSerializer + Build stack step + ClientRequestID + ComputeContentLength + UserAgent + AddTimeOffsetMiddleware + RecursionDetection + spanBuildRequestEnd + Finalize stack step + ResolveAuthScheme + GetIdentity + ResolveEndpointV2 + disableHTTPS + ComputePayloadHash + spanRetryLoop + Retry + RetryMetricsHeader + setLegacyContextSigningOptions + Signing + Deserialize stack step + AddRawResponseToMetadata + ErrorCloseResponseBody + CloseResponseBody + ResponseErrorWrapper + RequestIDRetriever + OperationDeserializer + AddTimeOffsetMiddleware + RecordResponseTiming + RequestResponseLogger diff --git a/service/controltower/snapshot_test.go b/service/controltower/snapshot_test.go index f79366b00ee..d6233bb3a6d 100644 --- a/service/controltower/snapshot_test.go +++ b/service/controltower/snapshot_test.go @@ -314,6 +314,18 @@ func TestCheckSnapshot_ResetEnabledBaseline(t *testing.T) { } } +func TestCheckSnapshot_ResetEnabledControl(t *testing.T) { + svc := New(Options{}) + _, err := svc.ResetEnabledControl(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return testSnapshot(stack, "ResetEnabledControl") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestCheckSnapshot_ResetLandingZone(t *testing.T) { svc := New(Options{}) _, err := svc.ResetLandingZone(context.Background(), nil, func(o *Options) { @@ -637,6 +649,18 @@ func TestUpdateSnapshot_ResetEnabledBaseline(t *testing.T) { } } +func TestUpdateSnapshot_ResetEnabledControl(t *testing.T) { + svc := New(Options{}) + _, err := svc.ResetEnabledControl(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return updateSnapshot(stack, "ResetEnabledControl") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestUpdateSnapshot_ResetLandingZone(t *testing.T) { svc := New(Options{}) _, err := svc.ResetLandingZone(context.Background(), nil, func(o *Options) { diff --git a/service/controltower/types/enums.go b/service/controltower/types/enums.go index 7d9d88a756a..6fd526c902c 100644 --- a/service/controltower/types/enums.go +++ b/service/controltower/types/enums.go @@ -74,6 +74,7 @@ const ( ControlOperationTypeEnableControl ControlOperationType = "ENABLE_CONTROL" ControlOperationTypeDisableControl ControlOperationType = "DISABLE_CONTROL" ControlOperationTypeUpdateEnabledControl ControlOperationType = "UPDATE_ENABLED_CONTROL" + ControlOperationTypeResetEnabledControl ControlOperationType = "RESET_ENABLED_CONTROL" ) // Values returns all known values for ControlOperationType. Note that this can be @@ -85,6 +86,7 @@ func (ControlOperationType) Values() []ControlOperationType { "ENABLE_CONTROL", "DISABLE_CONTROL", "UPDATE_ENABLED_CONTROL", + "RESET_ENABLED_CONTROL", } } diff --git a/service/controltower/validators.go b/service/controltower/validators.go index 3a315f67b8c..7fbb5e22ca3 100644 --- a/service/controltower/validators.go +++ b/service/controltower/validators.go @@ -310,6 +310,26 @@ func (m *validateOpResetEnabledBaseline) HandleInitialize(ctx context.Context, i return next.HandleInitialize(ctx, in) } +type validateOpResetEnabledControl struct { +} + +func (*validateOpResetEnabledControl) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpResetEnabledControl) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*ResetEnabledControlInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpResetEnabledControlInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpResetLandingZone struct { } @@ -490,6 +510,10 @@ func addOpResetEnabledBaselineValidationMiddleware(stack *middleware.Stack) erro return stack.Initialize.Add(&validateOpResetEnabledBaseline{}, middleware.After) } +func addOpResetEnabledControlValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpResetEnabledControl{}, middleware.After) +} + func addOpResetLandingZoneValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpResetLandingZone{}, middleware.After) } @@ -834,6 +858,21 @@ func validateOpResetEnabledBaselineInput(v *ResetEnabledBaselineInput) error { } } +func validateOpResetEnabledControlInput(v *ResetEnabledControlInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResetEnabledControlInput"} + if v.EnabledControlIdentifier == nil { + invalidParams.Add(smithy.NewErrParamRequired("EnabledControlIdentifier")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpResetLandingZoneInput(v *ResetLandingZoneInput) error { if v == nil { return nil diff --git a/service/fis/api_op_CreateExperimentTemplate.go b/service/fis/api_op_CreateExperimentTemplate.go index 4f9371bc7fe..442178c592c 100644 --- a/service/fis/api_op_CreateExperimentTemplate.go +++ b/service/fis/api_op_CreateExperimentTemplate.go @@ -77,6 +77,9 @@ type CreateExperimentTemplateInput struct { // The experiment options for the experiment template. ExperimentOptions *types.CreateExperimentTemplateExperimentOptionsInput + // The experiment report configuration for the experiment template. + ExperimentReportConfiguration *types.CreateExperimentTemplateReportConfigurationInput + // The configuration for experiment logging. LogConfiguration *types.CreateExperimentTemplateLogConfigurationInput diff --git a/service/fis/api_op_UpdateExperimentTemplate.go b/service/fis/api_op_UpdateExperimentTemplate.go index 9b08e61d2a7..88cd78a2064 100644 --- a/service/fis/api_op_UpdateExperimentTemplate.go +++ b/service/fis/api_op_UpdateExperimentTemplate.go @@ -43,6 +43,9 @@ type UpdateExperimentTemplateInput struct { // The experiment options for the experiment template. ExperimentOptions *types.UpdateExperimentTemplateExperimentOptionsInput + // The experiment report configuration for the experiment template. + ExperimentReportConfiguration *types.UpdateExperimentTemplateReportConfigurationInput + // The configuration for experiment logging. LogConfiguration *types.UpdateExperimentTemplateLogConfigurationInput diff --git a/service/fis/deserializers.go b/service/fis/deserializers.go index ec4ed81f9ee..37d154c23f7 100644 --- a/service/fis/deserializers.go +++ b/service/fis/deserializers.go @@ -4576,6 +4576,16 @@ func awsRestjson1_deserializeDocumentExperiment(v **types.Experiment, value inte return err } + case "experimentReport": + if err := awsRestjson1_deserializeDocumentExperimentReport(&sv.ExperimentReport, value); err != nil { + return err + } + + case "experimentReportConfiguration": + if err := awsRestjson1_deserializeDocumentExperimentReportConfiguration(&sv.ExperimentReportConfiguration, value); err != nil { + return err + } + case "experimentTemplateId": if value != nil { jtv, ok := value.(string) @@ -5102,16 +5112,492 @@ func awsRestjson1_deserializeDocumentExperimentLogConfiguration(v **types.Experi return err } - default: - _, _ = key, value + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentOptions(v **types.ExperimentOptions, 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.ExperimentOptions + if *v == nil { + sv = &types.ExperimentOptions{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "accountTargeting": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AccountTargeting to be of type string, got %T instead", value) + } + sv.AccountTargeting = types.AccountTargeting(jtv) + } + + case "actionsMode": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ActionsMode to be of type string, got %T instead", value) + } + sv.ActionsMode = types.ActionsMode(jtv) + } + + case "emptyTargetResolutionMode": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EmptyTargetResolutionMode to be of type string, got %T instead", value) + } + sv.EmptyTargetResolutionMode = types.EmptyTargetResolutionMode(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentReport(v **types.ExperimentReport, 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.ExperimentReport + if *v == nil { + sv = &types.ExperimentReport{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "s3Reports": + if err := awsRestjson1_deserializeDocumentExperimentReportS3ReportList(&sv.S3Reports, value); err != nil { + return err + } + + case "state": + if err := awsRestjson1_deserializeDocumentExperimentReportState(&sv.State, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentReportConfiguration(v **types.ExperimentReportConfiguration, 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.ExperimentReportConfiguration + if *v == nil { + sv = &types.ExperimentReportConfiguration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "dataSources": + if err := awsRestjson1_deserializeDocumentExperimentReportConfigurationDataSources(&sv.DataSources, value); err != nil { + return err + } + + case "outputs": + if err := awsRestjson1_deserializeDocumentExperimentReportConfigurationOutputs(&sv.Outputs, value); err != nil { + return err + } + + case "postExperimentDuration": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ReportConfigurationDuration to be of type string, got %T instead", value) + } + sv.PostExperimentDuration = ptr.String(jtv) + } + + case "preExperimentDuration": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ReportConfigurationDuration to be of type string, got %T instead", value) + } + sv.PreExperimentDuration = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentReportConfigurationCloudWatchDashboard(v **types.ExperimentReportConfigurationCloudWatchDashboard, 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.ExperimentReportConfigurationCloudWatchDashboard + if *v == nil { + sv = &types.ExperimentReportConfigurationCloudWatchDashboard{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "dashboardIdentifier": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ReportConfigurationCloudWatchDashboardIdentifier to be of type string, got %T instead", value) + } + sv.DashboardIdentifier = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentReportConfigurationCloudWatchDashboardList(v *[]types.ExperimentReportConfigurationCloudWatchDashboard, 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.ExperimentReportConfigurationCloudWatchDashboard + if *v == nil { + cv = []types.ExperimentReportConfigurationCloudWatchDashboard{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ExperimentReportConfigurationCloudWatchDashboard + destAddr := &col + if err := awsRestjson1_deserializeDocumentExperimentReportConfigurationCloudWatchDashboard(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentReportConfigurationDataSources(v **types.ExperimentReportConfigurationDataSources, 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.ExperimentReportConfigurationDataSources + if *v == nil { + sv = &types.ExperimentReportConfigurationDataSources{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "cloudWatchDashboards": + if err := awsRestjson1_deserializeDocumentExperimentReportConfigurationCloudWatchDashboardList(&sv.CloudWatchDashboards, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentReportConfigurationOutputs(v **types.ExperimentReportConfigurationOutputs, 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.ExperimentReportConfigurationOutputs + if *v == nil { + sv = &types.ExperimentReportConfigurationOutputs{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "s3Configuration": + if err := awsRestjson1_deserializeDocumentExperimentReportConfigurationOutputsS3Configuration(&sv.S3Configuration, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentReportConfigurationOutputsS3Configuration(v **types.ExperimentReportConfigurationOutputsS3Configuration, 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.ExperimentReportConfigurationOutputsS3Configuration + if *v == nil { + sv = &types.ExperimentReportConfigurationOutputsS3Configuration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "bucketName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected S3BucketName to be of type string, got %T instead", value) + } + sv.BucketName = ptr.String(jtv) + } + + case "prefix": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected S3ObjectKey to be of type string, got %T instead", value) + } + sv.Prefix = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentReportError(v **types.ExperimentReportError, 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.ExperimentReportError + if *v == nil { + sv = &types.ExperimentReportError{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "code": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ExperimentReportErrorCode to be of type string, got %T instead", value) + } + sv.Code = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentReportS3Report(v **types.ExperimentReportS3Report, 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.ExperimentReportS3Report + if *v == nil { + sv = &types.ExperimentReportS3Report{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "arn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ExperimentReportS3ReportArn to be of type string, got %T instead", value) + } + sv.Arn = ptr.String(jtv) + } + + case "reportType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ExperimentReportS3ReportType to be of type string, got %T instead", value) + } + sv.ReportType = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentReportS3ReportList(v *[]types.ExperimentReportS3Report, 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.ExperimentReportS3Report + if *v == nil { + cv = []types.ExperimentReportS3Report{} + } else { + cv = *v + } + for _, value := range shape { + var col types.ExperimentReportS3Report + destAddr := &col + if err := awsRestjson1_deserializeDocumentExperimentReportS3Report(&destAddr, value); err != nil { + return err } + col = *destAddr + cv = append(cv, col) + } - *v = sv + *v = cv return nil } -func awsRestjson1_deserializeDocumentExperimentOptions(v **types.ExperimentOptions, value interface{}) error { +func awsRestjson1_deserializeDocumentExperimentReportState(v **types.ExperimentReportState, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -5124,40 +5610,36 @@ func awsRestjson1_deserializeDocumentExperimentOptions(v **types.ExperimentOptio return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ExperimentOptions + var sv *types.ExperimentReportState if *v == nil { - sv = &types.ExperimentOptions{} + sv = &types.ExperimentReportState{} } else { sv = *v } for key, value := range shape { switch key { - case "accountTargeting": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected AccountTargeting to be of type string, got %T instead", value) - } - sv.AccountTargeting = types.AccountTargeting(jtv) + case "error": + if err := awsRestjson1_deserializeDocumentExperimentReportError(&sv.Error, value); err != nil { + return err } - case "actionsMode": + case "reason": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ActionsMode to be of type string, got %T instead", value) + return fmt.Errorf("expected ExperimentReportReason to be of type string, got %T instead", value) } - sv.ActionsMode = types.ActionsMode(jtv) + sv.Reason = ptr.String(jtv) } - case "emptyTargetResolutionMode": + case "status": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected EmptyTargetResolutionMode to be of type string, got %T instead", value) + return fmt.Errorf("expected ExperimentReportStatus to be of type string, got %T instead", value) } - sv.EmptyTargetResolutionMode = types.EmptyTargetResolutionMode(jtv) + sv.Status = types.ExperimentReportStatus(jtv) } default: @@ -5949,6 +6431,11 @@ func awsRestjson1_deserializeDocumentExperimentTemplate(v **types.ExperimentTemp return err } + case "experimentReportConfiguration": + if err := awsRestjson1_deserializeDocumentExperimentTemplateReportConfiguration(&sv.ExperimentReportConfiguration, value); err != nil { + return err + } + case "id": if value != nil { jtv, ok := value.(string) @@ -6375,6 +6862,211 @@ func awsRestjson1_deserializeDocumentExperimentTemplateLogConfiguration(v **type return nil } +func awsRestjson1_deserializeDocumentExperimentTemplateReportConfiguration(v **types.ExperimentTemplateReportConfiguration, 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.ExperimentTemplateReportConfiguration + if *v == nil { + sv = &types.ExperimentTemplateReportConfiguration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "dataSources": + if err := awsRestjson1_deserializeDocumentExperimentTemplateReportConfigurationDataSources(&sv.DataSources, value); err != nil { + return err + } + + case "outputs": + if err := awsRestjson1_deserializeDocumentExperimentTemplateReportConfigurationOutputs(&sv.Outputs, value); err != nil { + return err + } + + case "postExperimentDuration": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ReportConfigurationDuration to be of type string, got %T instead", value) + } + sv.PostExperimentDuration = ptr.String(jtv) + } + + case "preExperimentDuration": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ReportConfigurationDuration to be of type string, got %T instead", value) + } + sv.PreExperimentDuration = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentTemplateReportConfigurationCloudWatchDashboard(v **types.ExperimentTemplateReportConfigurationCloudWatchDashboard, 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.ExperimentTemplateReportConfigurationCloudWatchDashboard + if *v == nil { + sv = &types.ExperimentTemplateReportConfigurationCloudWatchDashboard{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "dashboardIdentifier": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ReportConfigurationCloudWatchDashboardIdentifier to be of type string, got %T instead", value) + } + sv.DashboardIdentifier = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentTemplateReportConfigurationCloudWatchDashboardList(v *[]types.ExperimentTemplateReportConfigurationCloudWatchDashboard, 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.ExperimentTemplateReportConfigurationCloudWatchDashboard + if *v == nil { + cv = []types.ExperimentTemplateReportConfigurationCloudWatchDashboard{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ExperimentTemplateReportConfigurationCloudWatchDashboard + destAddr := &col + if err := awsRestjson1_deserializeDocumentExperimentTemplateReportConfigurationCloudWatchDashboard(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentTemplateReportConfigurationDataSources(v **types.ExperimentTemplateReportConfigurationDataSources, 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.ExperimentTemplateReportConfigurationDataSources + if *v == nil { + sv = &types.ExperimentTemplateReportConfigurationDataSources{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "cloudWatchDashboards": + if err := awsRestjson1_deserializeDocumentExperimentTemplateReportConfigurationCloudWatchDashboardList(&sv.CloudWatchDashboards, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentExperimentTemplateReportConfigurationOutputs(v **types.ExperimentTemplateReportConfigurationOutputs, 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.ExperimentTemplateReportConfigurationOutputs + if *v == nil { + sv = &types.ExperimentTemplateReportConfigurationOutputs{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "s3Configuration": + if err := awsRestjson1_deserializeDocumentReportConfigurationS3Output(&sv.S3Configuration, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentExperimentTemplateS3LogConfiguration(v **types.ExperimentTemplateS3LogConfiguration, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -6891,6 +7583,55 @@ func awsRestjson1_deserializeDocumentExperimentTemplateTargetParameterMap(v *map return nil } +func awsRestjson1_deserializeDocumentReportConfigurationS3Output(v **types.ReportConfigurationS3Output, 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.ReportConfigurationS3Output + if *v == nil { + sv = &types.ReportConfigurationS3Output{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "bucketName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected S3BucketName to be of type string, got %T instead", value) + } + sv.BucketName = ptr.String(jtv) + } + + case "prefix": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected S3ObjectKey to be of type string, got %T instead", value) + } + sv.Prefix = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentResolvedTarget(v **types.ResolvedTarget, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/fis/serializers.go b/service/fis/serializers.go index fcb8518898e..a3e7ea08efb 100644 --- a/service/fis/serializers.go +++ b/service/fis/serializers.go @@ -112,6 +112,13 @@ func awsRestjson1_serializeOpDocumentCreateExperimentTemplateInput(v *CreateExpe } } + if v.ExperimentReportConfiguration != nil { + ok := object.Key("experimentReportConfiguration") + if err := awsRestjson1_serializeDocumentCreateExperimentTemplateReportConfigurationInput(v.ExperimentReportConfiguration, ok); err != nil { + return err + } + } + if v.LogConfiguration != nil { ok := object.Key("logConfiguration") if err := awsRestjson1_serializeDocumentCreateExperimentTemplateLogConfigurationInput(v.LogConfiguration, ok); err != nil { @@ -1968,6 +1975,13 @@ func awsRestjson1_serializeOpDocumentUpdateExperimentTemplateInput(v *UpdateExpe } } + if v.ExperimentReportConfiguration != nil { + ok := object.Key("experimentReportConfiguration") + if err := awsRestjson1_serializeDocumentUpdateExperimentTemplateReportConfigurationInput(v.ExperimentReportConfiguration, ok); err != nil { + return err + } + } + if v.LogConfiguration != nil { ok := object.Key("logConfiguration") if err := awsRestjson1_serializeDocumentUpdateExperimentTemplateLogConfigurationInput(v.LogConfiguration, ok); err != nil { @@ -2296,6 +2310,37 @@ func awsRestjson1_serializeDocumentCreateExperimentTemplateLogConfigurationInput return nil } +func awsRestjson1_serializeDocumentCreateExperimentTemplateReportConfigurationInput(v *types.CreateExperimentTemplateReportConfigurationInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DataSources != nil { + ok := object.Key("dataSources") + if err := awsRestjson1_serializeDocumentExperimentTemplateReportConfigurationDataSourcesInput(v.DataSources, ok); err != nil { + return err + } + } + + if v.Outputs != nil { + ok := object.Key("outputs") + if err := awsRestjson1_serializeDocumentExperimentTemplateReportConfigurationOutputsInput(v.Outputs, ok); err != nil { + return err + } + } + + if v.PostExperimentDuration != nil { + ok := object.Key("postExperimentDuration") + ok.String(*v.PostExperimentDuration) + } + + if v.PreExperimentDuration != nil { + ok := object.Key("preExperimentDuration") + ok.String(*v.PreExperimentDuration) + } + + return nil +} + func awsRestjson1_serializeDocumentCreateExperimentTemplateStopConditionInput(v *types.CreateExperimentTemplateStopConditionInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -2430,6 +2475,34 @@ func awsRestjson1_serializeDocumentExperimentTemplateCloudWatchLogsLogConfigurat return nil } +func awsRestjson1_serializeDocumentExperimentTemplateReportConfigurationDataSourcesInput(v *types.ExperimentTemplateReportConfigurationDataSourcesInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.CloudWatchDashboards != nil { + ok := object.Key("cloudWatchDashboards") + if err := awsRestjson1_serializeDocumentReportConfigurationCloudWatchDashboardInputList(v.CloudWatchDashboards, ok); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeDocumentExperimentTemplateReportConfigurationOutputsInput(v *types.ExperimentTemplateReportConfigurationOutputsInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.S3Configuration != nil { + ok := object.Key("s3Configuration") + if err := awsRestjson1_serializeDocumentReportConfigurationS3OutputInput(v.S3Configuration, ok); err != nil { + return err + } + } + + return nil +} + func awsRestjson1_serializeDocumentExperimentTemplateS3LogConfigurationInput(v *types.ExperimentTemplateS3LogConfigurationInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -2501,6 +2574,48 @@ func awsRestjson1_serializeDocumentExperimentTemplateTargetParameterMap(v map[st return nil } +func awsRestjson1_serializeDocumentReportConfigurationCloudWatchDashboardInput(v *types.ReportConfigurationCloudWatchDashboardInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DashboardIdentifier != nil { + ok := object.Key("dashboardIdentifier") + ok.String(*v.DashboardIdentifier) + } + + return nil +} + +func awsRestjson1_serializeDocumentReportConfigurationCloudWatchDashboardInputList(v []types.ReportConfigurationCloudWatchDashboardInput, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + if err := awsRestjson1_serializeDocumentReportConfigurationCloudWatchDashboardInput(&v[i], av); err != nil { + return err + } + } + return nil +} + +func awsRestjson1_serializeDocumentReportConfigurationS3OutputInput(v *types.ReportConfigurationS3OutputInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.BucketName != nil { + ok := object.Key("bucketName") + ok.String(*v.BucketName) + } + + if v.Prefix != nil { + ok := object.Key("prefix") + ok.String(*v.Prefix) + } + + return nil +} + func awsRestjson1_serializeDocumentResourceArnList(v []string, value smithyjson.Value) error { array := value.Array() defer array.Close() @@ -2625,6 +2740,37 @@ func awsRestjson1_serializeDocumentUpdateExperimentTemplateLogConfigurationInput return nil } +func awsRestjson1_serializeDocumentUpdateExperimentTemplateReportConfigurationInput(v *types.UpdateExperimentTemplateReportConfigurationInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DataSources != nil { + ok := object.Key("dataSources") + if err := awsRestjson1_serializeDocumentExperimentTemplateReportConfigurationDataSourcesInput(v.DataSources, ok); err != nil { + return err + } + } + + if v.Outputs != nil { + ok := object.Key("outputs") + if err := awsRestjson1_serializeDocumentExperimentTemplateReportConfigurationOutputsInput(v.Outputs, ok); err != nil { + return err + } + } + + if v.PostExperimentDuration != nil { + ok := object.Key("postExperimentDuration") + ok.String(*v.PostExperimentDuration) + } + + if v.PreExperimentDuration != nil { + ok := object.Key("preExperimentDuration") + ok.String(*v.PreExperimentDuration) + } + + return nil +} + func awsRestjson1_serializeDocumentUpdateExperimentTemplateStopConditionInput(v *types.UpdateExperimentTemplateStopConditionInput, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/fis/types/enums.go b/service/fis/types/enums.go index e39dcf46181..daeec1340de 100644 --- a/service/fis/types/enums.go +++ b/service/fis/types/enums.go @@ -92,6 +92,31 @@ func (ExperimentActionStatus) Values() []ExperimentActionStatus { } } +type ExperimentReportStatus string + +// Enum values for ExperimentReportStatus +const ( + ExperimentReportStatusPending ExperimentReportStatus = "pending" + ExperimentReportStatusRunning ExperimentReportStatus = "running" + ExperimentReportStatusCompleted ExperimentReportStatus = "completed" + ExperimentReportStatusCancelled ExperimentReportStatus = "cancelled" + ExperimentReportStatusFailed ExperimentReportStatus = "failed" +) + +// Values returns all known values for ExperimentReportStatus. 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 (ExperimentReportStatus) Values() []ExperimentReportStatus { + return []ExperimentReportStatus{ + "pending", + "running", + "completed", + "cancelled", + "failed", + } +} + type ExperimentStatus string // Enum values for ExperimentStatus diff --git a/service/fis/types/types.go b/service/fis/types/types.go index 5752d501498..f0cddcea6d9 100644 --- a/service/fis/types/types.go +++ b/service/fis/types/types.go @@ -134,6 +134,26 @@ type CreateExperimentTemplateLogConfigurationInput struct { noSmithyDocumentSerde } +// Specifies the configuration for experiment reports. +type CreateExperimentTemplateReportConfigurationInput struct { + + // The data sources for the experiment report. + DataSources *ExperimentTemplateReportConfigurationDataSourcesInput + + // The output destinations of the experiment report. + Outputs *ExperimentTemplateReportConfigurationOutputsInput + + // The duration after the experiment end time for the data sources to include in + // the report. + PostExperimentDuration *string + + // The duration before the experiment start time for the data sources to include + // in the report. + PreExperimentDuration *string + + noSmithyDocumentSerde +} + // Specifies a stop condition for an experiment template. type CreateExperimentTemplateStopConditionInput struct { @@ -215,6 +235,12 @@ type Experiment struct { // The experiment options for the experiment. ExperimentOptions *ExperimentOptions + // The experiment report for the experiment. + ExperimentReport *ExperimentReport + + // The experiment report configuration for the experiment. + ExperimentReportConfiguration *ExperimentReportConfiguration + // The ID of the experiment template. ExperimentTemplateId *string @@ -347,6 +373,119 @@ type ExperimentOptions struct { noSmithyDocumentSerde } +// Describes the experiment report. +type ExperimentReport struct { + + // The S3 destination of the experiment report. + S3Reports []ExperimentReportS3Report + + // The state of the experiment report. + State *ExperimentReportState + + noSmithyDocumentSerde +} + +// Describes the report configuration for the experiment. For more information, +// see [Experiment report configurations for AWS FIS]. +// +// [Experiment report configurations for AWS FIS]: https://docs.aws.amazon.com/fis/latest/userguide/experiment-report-configuration +type ExperimentReportConfiguration struct { + + // The data sources for the experiment report. + DataSources *ExperimentReportConfigurationDataSources + + // The output destinations of the experiment report. + Outputs *ExperimentReportConfigurationOutputs + + // The duration after the experiment end time for the data sources to include in + // the report. + PostExperimentDuration *string + + // The duration before the experiment start time for the data sources to include + // in the report. + PreExperimentDuration *string + + noSmithyDocumentSerde +} + +// Specifies the CloudWatch dashboard to include in the experiment report. The +// dashboard widgets will be captured as snapshot graphs within the report. +type ExperimentReportConfigurationCloudWatchDashboard struct { + + // The Amazon Resource Name (ARN) of the CloudWatch dashboard to include in the + // experiment report. + DashboardIdentifier *string + + noSmithyDocumentSerde +} + +// Describes the data sources for the experiment report. +type ExperimentReportConfigurationDataSources struct { + + // The CloudWatch dashboards to include as data sources in the experiment report. + CloudWatchDashboards []ExperimentReportConfigurationCloudWatchDashboard + + noSmithyDocumentSerde +} + +// Describes the output destinations of the experiment report. +type ExperimentReportConfigurationOutputs struct { + + // The S3 destination for the experiment report. + S3Configuration *ExperimentReportConfigurationOutputsS3Configuration + + noSmithyDocumentSerde +} + +// Specifies the S3 destination for the experiment report. +type ExperimentReportConfigurationOutputsS3Configuration struct { + + // The name of the S3 bucket where the experiment report will be stored. + BucketName *string + + // The prefix of the S3 bucket where the experiment report will be stored. + Prefix *string + + noSmithyDocumentSerde +} + +// Describes the error when experiment report generation has failed. +type ExperimentReportError struct { + + // The error code for the failed experiment report generation. + Code *string + + noSmithyDocumentSerde +} + +// Describes the S3 destination for the report. +type ExperimentReportS3Report struct { + + // The Amazon Resource Name (ARN) of the generated report. + Arn *string + + // The report type for the experiment report. + ReportType *string + + noSmithyDocumentSerde +} + +// Describes the state of the experiment report generation. +type ExperimentReportState struct { + + // The error information of the experiment when the experiment report generation + // has failed. + Error *ExperimentReportError + + // The reason for the state of the experiment report generation. + Reason *string + + // The state of the experiment report generation. + Status ExperimentReportStatus + + noSmithyDocumentSerde +} + // Describes the configuration for experiment logging to Amazon S3. type ExperimentS3LogConfiguration struct { @@ -497,6 +636,9 @@ type ExperimentTemplate struct { // The experiment options for an experiment template. ExperimentOptions *ExperimentTemplateExperimentOptions + // Describes the report configuration for the experiment template. + ExperimentReportConfiguration *ExperimentTemplateReportConfiguration + // The ID of the experiment template. Id *string @@ -594,6 +736,74 @@ type ExperimentTemplateLogConfiguration struct { noSmithyDocumentSerde } +// Describes the experiment report configuration. For more information, see [Experiment report configurations for AWS FIS]. +// +// [Experiment report configurations for AWS FIS]: https://docs.aws.amazon.com/fis/latest/userguide/experiment-report-configuration +type ExperimentTemplateReportConfiguration struct { + + // The data sources for the experiment report. + DataSources *ExperimentTemplateReportConfigurationDataSources + + // Describes the output destinations of the experiment report. + Outputs *ExperimentTemplateReportConfigurationOutputs + + // The duration after the experiment end time for the data sources to include in + // the report. + PostExperimentDuration *string + + // The duration before the experiment start time for the data sources to include + // in the report. + PreExperimentDuration *string + + noSmithyDocumentSerde +} + +// The CloudWatch dashboards to include as data sources in the experiment report. +type ExperimentTemplateReportConfigurationCloudWatchDashboard struct { + + // The Amazon Resource Name (ARN) of the CloudWatch dashboard to include in the + // experiment report. + DashboardIdentifier *string + + noSmithyDocumentSerde +} + +// Describes the data sources for the experiment report. +type ExperimentTemplateReportConfigurationDataSources struct { + + // The CloudWatch dashboards to include as data sources in the experiment report. + CloudWatchDashboards []ExperimentTemplateReportConfigurationCloudWatchDashboard + + noSmithyDocumentSerde +} + +// Specifies the data sources for the experiment report. +type ExperimentTemplateReportConfigurationDataSourcesInput struct { + + // The CloudWatch dashboards to include as data sources in the experiment report. + CloudWatchDashboards []ReportConfigurationCloudWatchDashboardInput + + noSmithyDocumentSerde +} + +// The output destinations of the experiment report. +type ExperimentTemplateReportConfigurationOutputs struct { + + // The S3 destination for the experiment report. + S3Configuration *ReportConfigurationS3Output + + noSmithyDocumentSerde +} + +// Specifies the outputs for the experiment templates. +type ExperimentTemplateReportConfigurationOutputsInput struct { + + // The S3 destination for the experiment report. + S3Configuration *ReportConfigurationS3OutputInput + + noSmithyDocumentSerde +} + // Describes the configuration for experiment logging to Amazon S3. type ExperimentTemplateS3LogConfiguration struct { @@ -712,6 +922,40 @@ type ExperimentTemplateTargetInputFilter struct { noSmithyDocumentSerde } +// Specifies the CloudWatch dashboard for the experiment report. +type ReportConfigurationCloudWatchDashboardInput struct { + + // The Amazon Resource Name (ARN) of the CloudWatch dashboard to include in the + // experiment report. + DashboardIdentifier *string + + noSmithyDocumentSerde +} + +// Describes the S3 destination for the experiment report. +type ReportConfigurationS3Output struct { + + // The name of the S3 bucket where the experiment report will be stored. + BucketName *string + + // The prefix of the S3 bucket where the experiment report will be stored. + Prefix *string + + noSmithyDocumentSerde +} + +// Specifies the S3 destination for the experiment report. +type ReportConfigurationS3OutputInput struct { + + // The name of the S3 bucket where the experiment report will be stored. + BucketName *string + + // The prefix of the S3 bucket where the experiment report will be stored. + Prefix *string + + noSmithyDocumentSerde +} + // Describes a resolved target. type ResolvedTarget struct { @@ -879,6 +1123,26 @@ type UpdateExperimentTemplateLogConfigurationInput struct { noSmithyDocumentSerde } +// Specifies the input for the experiment report configuration. +type UpdateExperimentTemplateReportConfigurationInput struct { + + // The data sources for the experiment report. + DataSources *ExperimentTemplateReportConfigurationDataSourcesInput + + // Describes the output destinations of the experiment report. + Outputs *ExperimentTemplateReportConfigurationOutputsInput + + // The duration after the experiment end time for the data sources to include in + // the report. + PostExperimentDuration *string + + // The duration before the experiment start time for the data sources to include + // in the report. + PreExperimentDuration *string + + noSmithyDocumentSerde +} + // Specifies a stop condition for an experiment. You can define a stop condition // as a CloudWatch alarm. type UpdateExperimentTemplateStopConditionInput struct { diff --git a/service/gamelift/api_op_CreateBuild.go b/service/gamelift/api_op_CreateBuild.go index 936a2b71797..4729493ee3f 100644 --- a/service/gamelift/api_op_CreateBuild.go +++ b/service/gamelift/api_op_CreateBuild.go @@ -11,33 +11,35 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Creates a new Amazon GameLift build resource for your game server binary files. -// Combine game server binaries into a zip file for use with Amazon GameLift. +// Creates an Amazon GameLift build resource for your game server software and +// stores the software for deployment to hosting resources. Combine game server +// binaries and dependencies into a single .zip file // -// When setting up a new game build for Amazon GameLift, we recommend using the -// CLI command [upload-build]. This helper command combines two tasks: (1) it uploads your build -// files from a file directory to an Amazon GameLift Amazon S3 location, and (2) it -// creates a new build resource. +// Use the CLI command [upload-build] to quickly and simply create a new build and upload your +// game build .zip file to Amazon GameLift Amazon S3. This helper command +// eliminates the need to explicitly manage access permissions. // -// You can use the CreateBuild operation in the following scenarios: +// Alternatively, use the CreateBuild action for the following scenarios: // -// - Create a new game build with build files that are in an Amazon S3 location -// under an Amazon Web Services account that you control. To use this option, you -// give Amazon GameLift access to the Amazon S3 bucket. With permissions in place, -// specify a build name, operating system, and the Amazon S3 storage location of -// your game build. +// - You want to create a build and upload a game build zip file from in an +// Amazon S3 location that you control. In this scenario, you need to give Amazon +// GameLift permission to access to the Amazon S3 bucket. With permission in place, +// call CreateBuild and specify a build name, the build's runtime operating +// system, and the Amazon S3 storage location where the build file is stored. // -// - Upload your build files to a Amazon GameLift Amazon S3 location. To use -// this option, specify a build name and operating system. This operation creates a -// new build resource and also returns an Amazon S3 location with temporary access -// credentials. Use the credentials to manually upload your build files to the -// specified Amazon S3 location. For more information, see [Uploading Objects]in the Amazon S3 -// Developer Guide. After you upload build files to the Amazon GameLift Amazon S3 -// location, you can't update them. +// - You want to create a build and upload a local game build zip file to an +// Amazon S3 location that's controlled by Amazon GameLift. (See the upload-build +// CLI command for this scenario.) In this scenario, you need to request temporary +// access credentials to the Amazon GameLift Amazon S3 location. Specify a build +// name and the build's runtime operating system. The response provides an Amazon +// S3 location and a set of temporary access credentials. Use the credentials to +// upload your build files to the specified Amazon S3 location (see [Uploading Objects]in the +// Amazon S3 Developer Guide). You can't update build files after uploading them to +// Amazon GameLift Amazon S3. // -// If successful, this operation creates a new build resource with a unique build -// ID and places it in INITIALIZED status. A build must be in READY status before -// you can create fleets with it. +// If successful, this action creates a new build resource with a unique build ID +// and places it in INITIALIZED status. When the build reaches READY status, you +// can create fleets with it. // // # Learn more // @@ -69,15 +71,15 @@ func (c *Client) CreateBuild(ctx context.Context, params *CreateBuildInput, optF type CreateBuildInput struct { - // A descriptive label associated with a build. Build names don't need to be - // unique. You can change this value later. + // A descriptive label that is associated with a build. Build names do not need to + // be unique. You can change this value later. Name *string - // The operating system that your game server binaries run on. This value - // determines the type of fleet resources that you use for this build. If your game - // build contains multiple executables, they all must run on the same operating - // system. You must specify a valid operating system in this request. There is no - // default value. You can't change a build's operating system later. + // The environment that your game server binaries run on. This value determines + // the type of fleet resources that you use for this build. If your game build + // contains multiple executables, they all must run on the same operating system. + // This parameter is required, and there's no default value. You can't change a + // build's operating system later. // // Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See more details // in the [Amazon Linux 2 FAQs]. For game servers that are hosted on AL2 and use Amazon GameLift server @@ -120,8 +122,8 @@ type CreateBuildInput struct { // [ListTagsForResource]: https://docs.aws.amazon.com/gamelift/latest/apireference/API_ListTagsForResource.html Tags []types.Tag - // Version information associated with a build or script. Version strings don't - // need to be unique. You can change this value later. + // Version information that is associated with a build or script. Version strings + // do not need to be unique. You can change this value later. Version *string noSmithyDocumentSerde diff --git a/service/gamelift/api_op_CreateContainerFleet.go b/service/gamelift/api_op_CreateContainerFleet.go new file mode 100644 index 00000000000..22986b56889 --- /dev/null +++ b/service/gamelift/api_op_CreateContainerFleet.go @@ -0,0 +1,401 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package gamelift + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/gamelift/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Creates a managed fleet of Amazon Elastic Compute Cloud (Amazon EC2) instances +// to host your containerized game servers. Use this operation to define how to +// deploy a container architecture onto each fleet instance and configure fleet +// settings. You can create a container fleet in any Amazon Web Services Regions +// that Amazon GameLift supports for multi-location fleets. A container fleet can +// be deployed to a single location or multiple locations. Container fleets are +// deployed with Amazon Linux 2023 as the instance operating system. +// +// Define the fleet's container architecture using container group definitions. +// Each fleet can have one of the following container group types: +// +// - The game server container group runs your game server build and dependent +// software. Amazon GameLift deploys one or more replicas of this container group +// to each fleet instance. The number of replicas depends on the computing +// capabilities of the fleet instance in use. +// +// - An optional per-instance container group might be used to run other +// software that only needs to run once per instance, such as background services, +// logging, or test processes. One per-instance container group is deployed to each +// fleet instance. +// +// Each container group can include the definition for one or more containers. A +// container definition specifies a container image that is stored in an Amazon +// Elastic Container Registry (Amazon ECR) public or private repository. +// +// # Request options +// +// Use this operation to make the following types of requests. Most fleet settings +// have default values, so you can create a working fleet with a minimal +// configuration and default values, which you can customize later. +// +// - Create a fleet with no container groups. You can configure a container +// fleet and then add container group definitions later. In this scenario, no fleet +// instances are deployed, and the fleet can't host game sessions until you add a +// game server container group definition. Provide the following required parameter +// values: +// +// - FleetRoleArn +// +// - Create a fleet with a game server container group. Provide the following +// required parameter values: +// +// - FleetRoleArn +// +// - GameServerContainerGroupDefinitionName +// +// - Create a fleet with a game server container group and a per-instance +// container group. Provide the following required parameter values: +// +// - FleetRoleArn +// +// - GameServerContainerGroupDefinitionName +// +// - PerInstanceContainerGroupDefinitionName +// +// # Results +// +// If successful, this operation creates a new container fleet resource, places it +// in PENDING status, and initiates the [fleet creation workflow]. For fleets with container groups, this +// workflow starts a fleet deployment and transitions the status to ACTIVE . Fleets +// without a container group are placed in CREATED status. +// +// You can update most of the properties of a fleet, including container group +// definitions, and deploy the update across all fleet instances. Use a fleet +// update to deploy a new game server version update across the container fleet. +// +// [fleet creation workflow]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-all.html#fleets-creation-workflow +func (c *Client) CreateContainerFleet(ctx context.Context, params *CreateContainerFleetInput, optFns ...func(*Options)) (*CreateContainerFleetOutput, error) { + if params == nil { + params = &CreateContainerFleetInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "CreateContainerFleet", params, optFns, c.addOperationCreateContainerFleetMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*CreateContainerFleetOutput) + out.ResultMetadata = metadata + return out, nil +} + +type CreateContainerFleetInput struct { + + // The unique identifier for an Identity and Access Management (IAM) role with + // permissions to run your containers on resources that are managed by Amazon + // GameLift. Use an IAM service role with the GameLiftContainerFleetPolicy managed + // policy attached. For more information, see [Set up an IAM service role]. You can't change this fleet + // property after the fleet is created. + // + // IAM role ARN values use the following pattern: arn:aws:iam::[Amazon Web + // Services account]:role/[role name] . + // + // [Set up an IAM service role]: https://docs.aws.amazon.com/gamelift/latest/developerguide/setting-up-role.html + // + // This member is required. + FleetRoleArn *string + + // Indicates whether to use On-Demand or Spot instances for this fleet. Learn more + // about when to use [On-Demand versus Spot Instances]. This fleet property can't be changed after the fleet is + // created. + // + // By default, this property is set to ON_DEMAND . + // + // You can't update this fleet property later. + // + // [On-Demand versus Spot Instances]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot + BillingType types.ContainerFleetBillingType + + // A meaningful description of the container fleet. + Description *string + + // A container group definition resource that describes how to deploy containers + // with your game server build and support software onto each fleet instance. You + // can specify the container group definition's name to use the latest version. + // Alternatively, provide an ARN value with a specific version number. + // + // Create a container group definition by calling CreateContainerGroupDefinition. This operation creates a ContainerGroupDefinition + // resource. + GameServerContainerGroupDefinitionName *string + + // The number of times to replicate the game server container group on each fleet + // instance. + // + // By default, Amazon GameLift calculates the maximum number of game server + // container groups that can fit on each instance. This calculation is based on the + // CPU and memory resources of the fleet's instance type). To use the calculated + // maximum, don't set this parameter. If you set this number manually, Amazon + // GameLift uses your value as long as it's less than the calculated maximum. + GameServerContainerGroupsPerInstance *int32 + + // A policy that limits the number of game sessions that each individual player + // can create on instances in this fleet. The limit applies for a specified span of + // time. + GameSessionCreationLimitPolicy *types.GameSessionCreationLimitPolicy + + // The set of port numbers to open on each fleet instance. A fleet's connection + // ports map to container ports that are configured in the fleet's container group + // definitions. + // + // By default, Amazon GameLift calculates an optimal port range based on your + // fleet configuration. To use the calculated range, don't set this parameter. The + // values are: + // + // - Port range: 4192 to a number calculated based on your fleet configuration. + // Amazon GameLift uses the following formula: 4192 + [# of game server + // container groups per fleet instance] * [# of container ports in the game server + // container group definition] + [# of container ports in the game server container + // group definition] + // + // You can also choose to manually set this parameter. When manually setting this + // parameter, you must use port numbers that match the fleet's inbound permissions + // port range. + // + // If you set values manually, Amazon GameLift no longer calculates a port range + // for you, even if you later remove the manual settings. + InstanceConnectionPortRange *types.ConnectionPortRange + + // The IP address ranges and port settings that allow inbound traffic to access + // game server processes and other processes on this fleet. As a best practice, + // when remotely accessing a fleet instance, we recommend opening ports only when + // you need them and closing them when you're finished. + // + // By default, Amazon GameLift calculates an optimal port range based on your + // fleet configuration. To use the calculated range, don't set this parameter. The + // values are: + // + // - Protocol: UDP + // + // - Port range: 4192 to a number calculated based on your fleet configuration. + // Amazon GameLift uses the following formula: 4192 + [# of game server + // container groups per fleet instance] * [# of container ports in the game server + // container group definition] + [# of container ports in the game server container + // group definition] + // + // You can also choose to manually set this parameter. When manually setting this + // parameter, you must use port numbers that match the fleet's connection port + // range. + // + // If you set values manually, Amazon GameLift no longer calculates a port range + // for you, even if you later remove the manual settings. + InstanceInboundPermissions []types.IpPermission + + // The Amazon EC2 instance type to use for all instances in the fleet. For + // multi-location fleets, the instance type must be available in the home region + // and all remote locations. Instance type determines the computing resources and + // processing power that's available to host your game servers. This includes + // including CPU, memory, storage, and networking capacity. + // + // By default, Amazon GameLift selects an instance type that fits the needs of + // your container groups and is available in all selected fleet locations. You can + // also choose to manually set this parameter. See [Amazon Elastic Compute Cloud Instance Types]for detailed descriptions of + // Amazon EC2 instance types. + // + // You can't update this fleet property later. + // + // [Amazon Elastic Compute Cloud Instance Types]: http://aws.amazon.com/ec2/instance-types/ + InstanceType *string + + // A set of locations to deploy container fleet instances to. You can add any + // Amazon Web Services Region or Local Zone that's supported by Amazon GameLift. + // Provide a list of one or more Amazon Web Services Region codes, such as + // us-west-2 , or Local Zone names. Also include the fleet's home Region, which is + // the Amazon Web Services Region where the fleet is created. For a list of + // supported Regions and Local Zones, see [Amazon GameLift service locations]for managed hosting. + // + // [Amazon GameLift service locations]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html + Locations []types.LocationConfiguration + + // A method for collecting container logs for the fleet. Amazon GameLift saves all + // standard output for each container in logs, including game session logs. You can + // select from the following methods: + // + // - CLOUDWATCH -- Send logs to an Amazon CloudWatch log group that you define. + // Each container emits a log stream, which is organized in the log group. + // + // - S3 -- Store logs in an Amazon S3 bucket that you define. + // + // - NONE -- Don't collect container logs. + // + // By default, this property is set to CLOUDWATCH . + // + // Amazon GameLift requires permissions to send logs other Amazon Web Services + // services in your account. These permissions are included in the IAM fleet role + // for this container fleet (see FleetRoleArn) . + LogConfiguration *types.LogConfiguration + + // The name of an Amazon Web Services CloudWatch metric group to add this fleet + // to. You can use a metric group to aggregate metrics for multiple fleets. You can + // specify an existing metric group name or use a new name to create a new metric + // group. Each fleet can have only one metric group, but you can change this value + // at any time. + MetricGroups []string + + // Determines whether Amazon GameLift can shut down game sessions on the fleet + // that are actively running and hosting players. Amazon GameLift might prompt an + // instance shutdown when scaling down fleet capacity or when retiring unhealthy + // instances. You can also set game session protection for individual game sessions + // using UpdateGameSession. + // + // - NoProtection -- Game sessions can be shut down during active gameplay. + // + // - FullProtection -- Game sessions in ACTIVE status can't be shut down. + // + // By default, this property is set to NoProtection . + NewGameSessionProtectionPolicy types.ProtectionPolicy + + // The name of a container group definition resource that describes a set of + // axillary software. A fleet instance has one process for executables in this + // container group. A per-instance container group is optional. You can update the + // fleet to add or remove a per-instance container group at any time. You can + // specify the container group definition's name to use the latest version. + // Alternatively, provide an ARN value with a specific version number. + // + // Create a container group definition by calling CreateContainerGroupDefinition. This operation creates a ContainerGroupDefinition + // resource. + PerInstanceContainerGroupDefinitionName *string + + // A list of labels to assign to the new fleet resource. Tags are + // developer-defined key-value pairs. Tagging Amazon Web Services resources are + // useful for resource management, access management and cost allocation. For more + // information, see [Tagging Amazon Web Services Resources]in the Amazon Web Services General Reference. + // + // [Tagging Amazon Web Services Resources]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + Tags []types.Tag + + noSmithyDocumentSerde +} + +type CreateContainerFleetOutput struct { + + // The properties for the new container fleet, including current status. All + // fleets are initially placed in PENDING status. + ContainerFleet *types.ContainerFleet + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationCreateContainerFleetMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsAwsjson11_serializeOpCreateContainerFleet{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCreateContainerFleet{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "CreateContainerFleet"); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + + if err = addlegacyEndpointContextSetter(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addSpanRetryLoop(stack, options); err != nil { + return err + } + if err = addClientUserAgent(stack, options); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = addOpCreateContainerFleetValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateContainerFleet(options.Region), middleware.Before); err != nil { + return err + } + if err = addRecursionDetection(stack); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + if err = addDisableHTTPSMiddleware(stack, options); err != nil { + return err + } + if err = addSpanInitializeStart(stack); err != nil { + return err + } + if err = addSpanInitializeEnd(stack); err != nil { + return err + } + if err = addSpanBuildRequestStart(stack); err != nil { + return err + } + if err = addSpanBuildRequestEnd(stack); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opCreateContainerFleet(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "CreateContainerFleet", + } +} diff --git a/service/gamelift/api_op_CreateContainerGroupDefinition.go b/service/gamelift/api_op_CreateContainerGroupDefinition.go index 58b734a129f..d08d3774397 100644 --- a/service/gamelift/api_op_CreateContainerGroupDefinition.go +++ b/service/gamelift/api_op_CreateContainerGroupDefinition.go @@ -11,57 +11,102 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation is used with the Amazon GameLift containers feature, which is +// Creates a ContainerGroupDefinition that describes a set of containers for +// hosting your game server with Amazon GameLift managed containers hosting. An +// Amazon GameLift container group is similar to a container task or pod. Use +// container group definitions when you create a container fleet with CreateContainerFleet. // -// currently in public preview. +// A container group definition determines how Amazon GameLift deploys your +// containers to each instance in a container fleet. You can maintain multiple +// versions of a container group definition. // -// Creates a ContainerGroupDefinition resource that describes a set of containers -// for hosting your game server with Amazon GameLift managed EC2 hosting. An Amazon -// GameLift container group is similar to a container "task" and "pod". Each -// container group can have one or more containers. +// There are two types of container groups: // -// Use container group definitions when you create a container fleet. Container -// group definitions determine how Amazon GameLift deploys your containers to each -// instance in a container fleet. +// - A game server container group has the containers that run your game server +// application and supporting software. A game server container group can have +// these container types: // -// You can create two types of container groups, based on scheduling strategy: +// - Game server container. This container runs your game server. You can define +// one game server container in a game server container group. // -// - A replica container group manages the containers that run your game server -// application and supporting software. Replica container groups might be -// replicated multiple times on each fleet instance, depending on instance -// resources. +// - Support container. This container runs software in parallel with your game +// server. You can define up to 8 support containers in a game server group. // -// - A daemon container group manages containers that run other software, such -// as background services, logging, or test processes. You might use a daemon -// container group for processes that need to run only once per fleet instance, or -// processes that need to persist independently of the replica container group. +// When building a game server container group definition, you can choose to // -// To create a container group definition, specify a group name, a list of -// container definitions, and maximum total CPU and memory requirements for the -// container group. Specify an operating system and scheduling strategy or use the -// default values. When using the Amazon Web Services CLI tool, you can pass in -// your container definitions as a JSON file. +// bundle your game server executable and all dependent software into a single game +// server container. Alternatively, you can separate the software into one game +// server container and one or more support containers. +// +// On a container fleet instance, a game server container group can be deployed +// +// multiple times (depending on the compute resources of the instance). This means +// that all containers in the container group are replicated together. +// +// - A per-instance container group has containers for processes that aren't +// replicated on a container fleet instance. This might include background +// services, logging, test processes, or processes that need to persist +// independently of the game server container group. When building a per-instance +// container group, you can define up to 10 support containers. // // This operation requires Identity and Access Management (IAM) permissions to // access container images in Amazon ECR repositories. See [IAM permissions for Amazon GameLift]for help setting the // appropriate permissions. // -// If successful, this operation creates a new ContainerGroupDefinition resource -// with an ARN value assigned. You can't change the properties of a container group -// definition. Instead, create a new one. +// # Request options +// +// Use this operation to make the following types of requests. You can specify +// values for the minimum required parameters and customize optional values later. +// +// - Create a game server container group definition. Provide the following +// required parameter values: +// +// - Name +// +// - ContainerGroupType ( GAME_SERVER ) +// +// - OperatingSystem (omit to use default value) +// +// - TotalMemoryLimitMebibytes (omit to use default value) +// +// - TotalVcpuLimit (omit to use default value) +// +// - At least one GameServerContainerDefinition +// +// - ContainerName +// +// - ImageUrl +// +// - PortConfiguration +// +// - ServerSdkVersion (omit to use default value) +// +// - Create a per-instance container group definition. Provide the following +// required parameter values: +// +// - Name +// +// - ContainerGroupType ( PER_INSTANCE ) // -// # Learn more +// - OperatingSystem (omit to use default value) // -// [Create a container group definition] +// - TotalMemoryLimitMebibytes (omit to use default value) // -// [Container fleet design guide] +// - TotalVcpuLimit (omit to use default value) // -// [Create a container definition as a JSON file] +// - At least one SupportContainerDefinition +// +// - ContainerName +// +// - ImageUrl +// +// # Results +// +// If successful, this request creates a ContainerGroupDefinition resource and +// assigns a unique ARN value. You can update most properties of a container group +// definition by calling UpdateContainerGroupDefinition, and optionally save the update as a new version. // -// [Create a container definition as a JSON file]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-definitions.html#containers-definitions-create -// [Create a container group definition]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-create-groups.html // [IAM permissions for Amazon GameLift]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-iam-policy-examples.html -// [Container fleet design guide]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet.html func (c *Client) CreateContainerGroupDefinition(ctx context.Context, params *CreateContainerGroupDefinitionInput, optFns ...func(*Options)) (*CreateContainerGroupDefinitionOutput, error) { if params == nil { params = &CreateContainerGroupDefinitionInput{} @@ -79,27 +124,20 @@ func (c *Client) CreateContainerGroupDefinition(ctx context.Context, params *Cre type CreateContainerGroupDefinitionInput struct { - // Definitions for all containers in this group. Each container definition - // identifies the container image and specifies configuration settings for the - // container. See the [Container fleet design guide]for container guidelines. - // - // [Container fleet design guide]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet.html - // - // This member is required. - ContainerDefinitions []types.ContainerDefinitionInput - // A descriptive identifier for the container group definition. The name value // must be unique in an Amazon Web Services Region. // // This member is required. Name *string - // The platform that is used by containers in the container group definition. All - // containers in a group must run on the same operating system. + // The platform that all containers in the group use. Containers in a group must + // run on the same operating system. + // + // Default value: AMAZON_LINUX_2023 // // Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See more details // in the [Amazon Linux 2 FAQs]. For game servers that are hosted on AL2 and use Amazon GameLift server - // SDK 4.x., first update the game server build to server SDK 5.x, and then deploy + // SDK 4.x, first update the game server build to server SDK 5.x, and then deploy // to AL2023 instances. See [Migrate to Amazon GameLift server SDK version 5.] // // [Amazon Linux 2 FAQs]: https://aws.amazon.com/amazon-linux-2/faqs/ @@ -108,30 +146,42 @@ type CreateContainerGroupDefinitionInput struct { // This member is required. OperatingSystem types.ContainerOperatingSystem - // The maximum amount of CPU units to allocate to the container group. Set this - // parameter to an integer value in CPU units (1 vCPU is equal to 1024 CPU units). - // All containers in the group share this memory. If you specify CPU limits for - // individual containers, set this parameter based on the following guidelines. The - // value must be equal to or greater than the sum of the CPU limits for all - // containers in the group. + // The maximum amount of memory (in MiB) to allocate to the container group. All + // containers in the group share this memory. If you specify memory limits for an + // individual container, the total value must be greater than any individual + // container's memory limit. + // + // Default value: 1024 // // This member is required. - TotalCpuLimit *int32 + TotalMemoryLimitMebibytes *int32 - // The maximum amount of memory (in MiB) to allocate to the container group. All - // containers in the group share this memory. If you specify memory limits for - // individual containers, set this parameter based on the following guidelines. The - // value must be (1) greater than the sum of the soft memory limits for all - // containers in the group, and (2) greater than any individual container's hard - // memory limit. + // The maximum amount of vCPU units to allocate to the container group (1 vCPU is + // equal to 1024 CPU units). All containers in the group share this memory. If you + // specify vCPU limits for individual containers, the total value must be equal to + // or greater than the sum of the CPU limits for all containers in the group. + // + // Default value: 1 // // This member is required. - TotalMemoryLimit *int32 + TotalVcpuLimit *float64 - // The method for deploying the container group across fleet instances. A replica - // container group might have multiple copies on each fleet instance. A daemon - // container group has one copy per fleet instance. Default value is REPLICA . - SchedulingStrategy types.ContainerSchedulingStrategy + // The type of container group being defined. Container group type determines how + // Amazon GameLift deploys the container group on each fleet instance. + // + // Default value: GAME_SERVER + ContainerGroupType types.ContainerGroupType + + // The definition for the game server container in this group. Define a game + // server container only when the container group type is GAME_SERVER . Game server + // containers specify a container image with your game server build. You can pass + // in your container definitions as a JSON file. + GameServerContainerDefinition *types.GameServerContainerDefinitionInput + + // One or more definition for support containers in this group. You can define a + // support container in any type of container group. You can pass in your container + // definitions as a JSON file. + SupportContainerDefinitions []types.SupportContainerDefinitionInput // A list of labels to assign to the container group definition resource. Tags are // developer-defined key-value pairs. Tagging Amazon Web Services resources are @@ -141,13 +191,16 @@ type CreateContainerGroupDefinitionInput struct { // [Tagging Amazon Web Services Resources]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tags []types.Tag + // A description for the initial version of this container group definition. + VersionDescription *string + noSmithyDocumentSerde } type CreateContainerGroupDefinitionOutput struct { - // The properties of the newly created container group definition resource. You - // use this resource to create a container fleet. + // The properties of the new container group definition resource. You can use this + // resource to create a container fleet. ContainerGroupDefinition *types.ContainerGroupDefinition // Metadata pertaining to the operation's result. diff --git a/service/gamelift/api_op_CreateFleet.go b/service/gamelift/api_op_CreateFleet.go index 3f1b08a7a11..fb2d5de0412 100644 --- a/service/gamelift/api_op_CreateFleet.go +++ b/service/gamelift/api_op_CreateFleet.go @@ -11,10 +11,6 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation has been expanded to use with the Amazon GameLift containers -// -// feature, which is currently in public preview. -// // Creates a fleet of compute resources to host your game servers. Use this // operation to set up the following types of fleets based on compute type: // @@ -51,38 +47,6 @@ import ( // When the fleet status is ACTIVE, you can adjust capacity settings and turn // autoscaling on/off for each location. // -// # Managed container fleet -// -// A container fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) -// instances. Your container architecture is deployed to each fleet instance based -// on the fleet configuration. Amazon GameLift manages the containers on each fleet -// instance and controls the lifecycle of game server processes, which host game -// sessions for players. Container fleets can have instances in multiple locations. -// Each container on an instance that runs game server processes is registered as a -// Compute . -// -// To create a container fleet, provide these required parameters: -// -// - ComputeType set to CONTAINER -// -// - ContainerGroupsConfiguration -// -// - EC2InboundPermissions -// -// - EC2InstanceType -// -// - FleetType set to ON_DEMAND -// -// - Name -// -// - RuntimeConfiguration with at least one ServerProcesses configuration -// -// If successful, this operation creates a new fleet resource and places it in NEW -// status while Amazon GameLift initiates the [fleet creation workflow]. -// -// When the fleet status is ACTIVE, you can adjust capacity settings and turn -// autoscaling on/off for each location. -// // # Anywhere fleet // // An Anywhere fleet represents compute resources that are not owned or managed by @@ -105,14 +69,11 @@ import ( // // [Setting up fleets] // -// [Setting up a container fleet] -// // [Debug fleet creation issues] // // [Multi-location fleets] // // [fleet creation workflow]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-all.html#fleets-creation-workflow -// [Setting up a container fleet]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-build-fleet.html // [Multi-location fleets]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html // [Debug fleet creation issues]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html#fleets-creating-debug-creation // [Setting up fleets]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html @@ -172,44 +133,27 @@ type CreateFleetInput struct { // - EC2 – The game server build is deployed to Amazon EC2 instances for cloud // hosting. This is the default setting. // - // - CONTAINER – Container images with your game server build and supporting - // software are deployed to Amazon EC2 instances for cloud hosting. With this - // compute type, you must specify the ContainerGroupsConfiguration parameter. - // - // - ANYWHERE – Game servers or container images with your game server and - // supporting software are deployed to compute resources that are provided and - // managed by you. With this compute type, you can also set the - // AnywhereConfiguration parameter. + // - ANYWHERE – Your game server and supporting software is deployed to compute + // resources that are provided and managed by you. With this compute type, you can + // also set the AnywhereConfiguration parameter. ComputeType types.ComputeType - // The container groups to deploy to instances in the container fleet and other - // fleet-level configuration settings. Use the CreateContainerGroupDefinitionaction to create container groups. - // A container fleet must have exactly one replica container group, and can - // optionally have one daemon container group. You can't change this property after - // you create the fleet. - ContainerGroupsConfiguration *types.ContainerGroupsConfiguration - // A description for the fleet. Description *string // The IP address ranges and port settings that allow inbound traffic to access // game server processes and other processes on this fleet. Set this parameter for - // EC2 and container fleets. You can leave this parameter empty when creating the - // fleet, but you must call UpdateFleetPortSettingsto set it before players can connect to game sessions. - // As a best practice, we recommend opening ports for remote access only when you - // need them and closing them when you're finished. For Realtime Servers fleets, - // Amazon GameLift automatically sets TCP and UDP ranges. - // - // To manage inbound access for a container fleet, set this parameter to the same - // port numbers that you set for the fleet's connection port range. During the life - // of the fleet, update this parameter to control which connection ports are open - // to inbound traffic. + // managed EC2 fleets. You can leave this parameter empty when creating the fleet, + // but you must call UpdateFleetPortSettingsto set it before players can connect to game sessions. As a + // best practice, we recommend opening ports for remote access only when you need + // them and closing them when you're finished. For Realtime Servers fleets, Amazon + // GameLift automatically sets TCP and UDP ranges. EC2InboundPermissions []types.IpPermission - // The Amazon GameLift-supported Amazon EC2 instance type to use with EC2 and - // container fleets. Instance type determines the computing resources that will be - // used to host your game servers, including CPU, memory, storage, and networking - // capacity. See [Amazon Elastic Compute Cloud Instance Types]for detailed descriptions of Amazon EC2 instance types. + // The Amazon GameLift-supported Amazon EC2 instance type to use with managed EC2 + // fleets. Instance type determines the computing resources that will be used to + // host your game servers, including CPU, memory, storage, and networking capacity. + // See [Amazon Elastic Compute Cloud Instance Types]for detailed descriptions of Amazon EC2 instance types. // // [Amazon Elastic Compute Cloud Instance Types]: http://aws.amazon.com/ec2/instance-types/ EC2InstanceType types.EC2InstanceType @@ -221,14 +165,16 @@ type CreateFleetInput struct { // [On-Demand versus Spot Instances]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot FleetType types.FleetType - // A unique identifier for an IAM role with access permissions to other Amazon Web - // Services services. Any application that runs on an instance in the - // fleet--including install scripts, server processes, and other processes--can use - // these permissions to interact with Amazon Web Services resources that you own or - // have access to. For more information about using the role with your game server - // builds, see [Communicate with other Amazon Web Services resources from your fleets]. This fleet property can't be changed after the fleet is created. + // A unique identifier for an IAM role that manages access to your Amazon Web + // Services services. With an instance role ARN set, any application that runs on + // an instance in this fleet can assume the role, including install scripts, server + // processes, and daemons (background processes). Create a role or look up a role's + // ARN by using the [IAM dashboard]in the Amazon Web Services Management Console. Learn more + // about using on-box credentials for your game servers at [Access external resources from a game server]. This fleet property + // can't be changed after the fleet is created. // - // [Communicate with other Amazon Web Services resources from your fleets]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html + // [IAM dashboard]: https://console.aws.amazon.com/iam/ + // [Access external resources from a game server]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html InstanceRoleArn *string // Prompts Amazon GameLift to generate a shared credentials file for the IAM role @@ -297,11 +243,11 @@ type CreateFleetInput struct { ResourceCreationLimitPolicy *types.ResourceCreationLimitPolicy // Instructions for how to launch and run server processes on the fleet. Set - // runtime configuration for EC2 fleets and container fleets. For an Anywhere - // fleets, set this parameter only if the fleet is running the Amazon GameLift - // Agent. The runtime configuration defines one or more server process - // configurations. Each server process identifies a game executable or Realtime - // script file and the number of processes to run concurrently. + // runtime configuration for managed EC2 fleets. For an Anywhere fleets, set this + // parameter only if the fleet is running the Amazon GameLift Agent. The runtime + // configuration defines one or more server process configurations. Each server + // process identifies a game executable or Realtime script file and the number of + // processes to run concurrently. // // This parameter replaces the parameters ServerLaunchPath and // ServerLaunchParameters , which are still supported for backward compatibility. diff --git a/service/gamelift/api_op_CreateFleetLocations.go b/service/gamelift/api_op_CreateFleetLocations.go index f308c6ffc89..474a4c8a19e 100644 --- a/service/gamelift/api_op_CreateFleetLocations.go +++ b/service/gamelift/api_op_CreateFleetLocations.go @@ -11,13 +11,9 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation has been expanded to use with the Amazon GameLift containers -// -// feature, which is currently in public preview. -// -// Adds remote locations to an EC2 or container fleet and begins populating the -// new locations with instances. The new instances conform to the fleet's instance -// type, auto-scaling, and other configuration settings. +// Adds remote locations to a managed EC2 fleet or managed container fleet and +// begins populating the new locations with instances. The new instances conform to +// the fleet's instance type, auto-scaling, and other configuration settings. // // You can't add remote locations to a fleet that resides in an Amazon Web // Services Region that doesn't support multiple locations. Fleets created prior to diff --git a/service/gamelift/api_op_CreateGameSession.go b/service/gamelift/api_op_CreateGameSession.go index f1004068d1e..6bdea4d078a 100644 --- a/service/gamelift/api_op_CreateGameSession.go +++ b/service/gamelift/api_op_CreateGameSession.go @@ -111,9 +111,9 @@ type CreateGameSessionInput struct { // A set of custom game session properties, formatted as a single string value. // This data is passed to a game server process with a request to start a new game - // session (see [Start a Game Session]). + // session. For more information, see [Start a game session]. // - // [Start a Game Session]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession + // [Start a game session]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession GameSessionData *string // This parameter is deprecated. Use IdempotencyToken instead. diff --git a/service/gamelift/api_op_CreateGameSessionQueue.go b/service/gamelift/api_op_CreateGameSessionQueue.go index a8ab3e5bd43..78f5543e982 100644 --- a/service/gamelift/api_op_CreateGameSessionQueue.go +++ b/service/gamelift/api_op_CreateGameSessionQueue.go @@ -104,12 +104,10 @@ type CreateGameSessionQueueInput struct { // [Setting up notifications for game session placement]: https://docs.aws.amazon.com/gamelift/latest/developerguide/queue-notification.html NotificationTarget *string - // A set of policies that act as a sliding cap on player latency. FleetIQ works to - // deliver low latency for most players in a game session. These policies ensure - // that no individual player can be placed into a game with unreasonably high - // latency. Use multiple policies to gradually relax latency requirements a step at - // a time. Multiple policies are applied based on their maximum allowed latency, - // starting with the lowest value. + // A set of policies that enforce a sliding cap on player latency when processing + // game sessions placement requests. Use multiple policies to gradually relax the + // cap over time if Amazon GameLift can't make a placement. Policies are evaluated + // in order starting with the lowest maximum latency value. PlayerLatencyPolicies []types.PlayerLatencyPolicy // Custom settings to use when prioritizing destinations and locations for game @@ -128,7 +126,7 @@ type CreateGameSessionQueueInput struct { // The maximum time, in seconds, that a new game session placement request remains // in the queue. When a request exceeds this time, the game session placement - // changes to a TIMED_OUT status. By default, this property is set to 600 . + // changes to a TIMED_OUT status. TimeoutInSeconds *int32 noSmithyDocumentSerde diff --git a/service/gamelift/api_op_CreateMatchmakingConfiguration.go b/service/gamelift/api_op_CreateMatchmakingConfiguration.go index 86f060ac2a8..d50513ebfae 100644 --- a/service/gamelift/api_op_CreateMatchmakingConfiguration.go +++ b/service/gamelift/api_op_CreateMatchmakingConfiguration.go @@ -91,9 +91,9 @@ type CreateMatchmakingConfigurationInput struct { // The number of player slots in a match to keep open for future players. For // example, if the configuration's rule set specifies a match for a single - // 10-person team, and the additional player count is set to 2, 10 players will be - // selected for the match and 2 more player slots will be open for future players. - // This parameter is not used if FlexMatchMode is set to STANDALONE . + // 12-person team, and the additional player count is set to 2, only 10 players are + // selected for the match. This parameter is not used if FlexMatchMode is set to + // STANDALONE . AdditionalPlayerCount *int32 // The method used to backfill game sessions that are created with this @@ -133,11 +133,11 @@ type CreateMatchmakingConfigurationInput struct { // A set of custom game session properties, formatted as a single string value. // This data is passed to a game server process with a request to start a new game - // session (see [Start a Game Session]). This information is added to the new GameSession object that is - // created for a successful match. This parameter is not used if FlexMatchMode is - // set to STANDALONE . + // session. For more information, see [Start a game session]. This information is added to the new + // GameSession object that is created for a successful match. This parameter is not + // used if FlexMatchMode is set to STANDALONE . // - // [Start a Game Session]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession + // [Start a game session]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession GameSessionData *string // The Amazon Resource Name ([ARN] ) that is assigned to a Amazon GameLift game session diff --git a/service/gamelift/api_op_CreateScript.go b/service/gamelift/api_op_CreateScript.go index 751a05a060c..1ebb3b9e5d7 100644 --- a/service/gamelift/api_op_CreateScript.go +++ b/service/gamelift/api_op_CreateScript.go @@ -11,15 +11,15 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Creates a new script record for your Realtime Servers script. Realtime scripts -// are JavaScript that provide configuration settings and optional custom game -// logic for your game. The script is deployed when you create a Realtime Servers -// fleet to host your game sessions. Script logic is executed during an active game -// session. +// Creates a script resource for your Realtime Servers script. Realtime scripts +// are JavaScript files that provide configuration settings and optional custom +// game logic for your game. Script logic is executed during an active game +// session. To deploy Realtime Servers for hosting, create an Amazon GameLift +// managed fleet with the script. // -// To create a new script record, specify a script name and provide the script -// file(s). The script files and all dependencies must be zipped into a single -// file. You can pull the zip file from either of these locations: +// To create a script resource, specify a script name and provide the script +// file(s). The script files and all dependencies must be combined into a single +// .zip file. You can upload the .zip file from either of these locations: // // - A locally available directory. Use the ZipFile parameter for this option. // @@ -28,11 +28,9 @@ import ( // to have an Identity Access Management (IAM) role that allows the Amazon GameLift // service to access your S3 bucket. // -// If the call is successful, a new script record is created with a unique script -// ID. If the script file is provided as a local file, the file is uploaded to an -// Amazon GameLift-owned S3 bucket and the script record's storage location -// reflects this location. If the script file is provided as an S3 bucket, Amazon -// GameLift accesses the file at this storage location as needed for deployment. +// If the call is successful, Amazon GameLift creates a new script resource with a +// unique script ID. The script is uploaded to an Amazon S3 bucket that is owned by +// Amazon GameLift. // // # Learn more // @@ -64,7 +62,7 @@ func (c *Client) CreateScript(ctx context.Context, params *CreateScriptInput, op type CreateScriptInput struct { - // A descriptive label that is associated with a script. Script names don't need + // A descriptive label that is associated with a script. Script names do not need // to be unique. You can use [UpdateScript]to change this value later. // // [UpdateScript]: https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateScript.html @@ -94,8 +92,8 @@ type CreateScriptInput struct { // [ListTagsForResource]: https://docs.aws.amazon.com/gamelift/latest/apireference/API_ListTagsForResource.html Tags []types.Tag - // Version information associated with a build or script. Version strings don't - // need to be unique. You can use [UpdateScript]to change this value later. + // Version information that is associated with a build or script. Version strings + // do not need to be unique. You can use [UpdateScript]to change this value later. // // [UpdateScript]: https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateScript.html Version *string diff --git a/service/gamelift/api_op_DeleteContainerFleet.go b/service/gamelift/api_op_DeleteContainerFleet.go new file mode 100644 index 00000000000..2df29724350 --- /dev/null +++ b/service/gamelift/api_op_DeleteContainerFleet.go @@ -0,0 +1,164 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package gamelift + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Deletes all resources and information related to a container fleet and shuts +// down currently running fleet instances, including those in remote locations. The +// container fleet must be in ACTIVE status to be deleted. +// +// To delete a fleet, specify the fleet ID to be terminated. During the deletion +// process, the fleet status is changed to DELETING . +// +// # Learn more +// +// [Setting up Amazon GameLift Fleets] +// +// [Setting up Amazon GameLift Fleets]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html +func (c *Client) DeleteContainerFleet(ctx context.Context, params *DeleteContainerFleetInput, optFns ...func(*Options)) (*DeleteContainerFleetOutput, error) { + if params == nil { + params = &DeleteContainerFleetInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DeleteContainerFleet", params, optFns, c.addOperationDeleteContainerFleetMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DeleteContainerFleetOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DeleteContainerFleetInput struct { + + // A unique identifier for the container fleet to delete. You can use either the + // fleet ID or ARN value. + // + // This member is required. + FleetId *string + + noSmithyDocumentSerde +} + +type DeleteContainerFleetOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDeleteContainerFleetMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeleteContainerFleet{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeleteContainerFleet{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteContainerFleet"); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + + if err = addlegacyEndpointContextSetter(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addSpanRetryLoop(stack, options); err != nil { + return err + } + if err = addClientUserAgent(stack, options); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = addOpDeleteContainerFleetValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteContainerFleet(options.Region), middleware.Before); err != nil { + return err + } + if err = addRecursionDetection(stack); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + if err = addDisableHTTPSMiddleware(stack, options); err != nil { + return err + } + if err = addSpanInitializeStart(stack); err != nil { + return err + } + if err = addSpanInitializeEnd(stack); err != nil { + return err + } + if err = addSpanBuildRequestStart(stack); err != nil { + return err + } + if err = addSpanBuildRequestEnd(stack); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDeleteContainerFleet(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "DeleteContainerFleet", + } +} diff --git a/service/gamelift/api_op_DeleteContainerGroupDefinition.go b/service/gamelift/api_op_DeleteContainerGroupDefinition.go index 8bb7f88d830..0efb4003e0e 100644 --- a/service/gamelift/api_op_DeleteContainerGroupDefinition.go +++ b/service/gamelift/api_op_DeleteContainerGroupDefinition.go @@ -10,14 +10,22 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation is used with the Amazon GameLift containers feature, which is +// Deletes a container group definition. You can delete a container group +// definition if there are no fleets using the definition. // -// currently in public preview. +// Request options: // -// Deletes a container group definition resource. You can delete a container group -// definition if there are no fleets using the definition. +// - Delete an entire container group definition, including all versions. +// Specify the container group definition name, or use an ARN value without the +// version number. +// +// - Delete a particular version. Specify the container group definition name +// and a version number, or use an ARN value that includes the version number. // -// To delete a container group definition, identify the resource to delete. +// - Keep the newest versions and delete all older versions. Specify the +// container group definition name and the number of versions to retain. For +// example, set VersionCountToRetain to 5 to delete all but the five most recent +// versions. // // # Learn more // @@ -47,6 +55,12 @@ type DeleteContainerGroupDefinitionInput struct { // This member is required. Name *string + // The number of most recent versions to keep while deleting all older versions. + VersionCountToRetain *int32 + + // The specific version to delete. + VersionNumber *int32 + noSmithyDocumentSerde } diff --git a/service/gamelift/api_op_DeregisterCompute.go b/service/gamelift/api_op_DeregisterCompute.go index 75fd2da907d..7bd49dd0cc8 100644 --- a/service/gamelift/api_op_DeregisterCompute.go +++ b/service/gamelift/api_op_DeregisterCompute.go @@ -10,18 +10,12 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation has been expanded to use with the Amazon GameLift containers +// Removes a compute resource from an Amazon GameLift Anywhere fleet. Deregistered +// computes can no longer host game sessions through Amazon GameLift. // -// feature, which is currently in public preview. -// -// Removes a compute resource from an Amazon GameLift Anywhere fleet or container -// fleet. Deregistered computes can no longer host game sessions through Amazon -// GameLift. -// -// For an Anywhere fleet or a container fleet that's running the Amazon GameLift -// Agent, the Agent handles all compute registry tasks for you. For an Anywhere -// fleet that doesn't use the Agent, call this operation to deregister fleet -// computes. +// For an Anywhere fleet that's running the Amazon GameLift Agent, the Agent +// handles all compute registry tasks for you. For an Anywhere fleet that doesn't +// use the Agent, call this operation to deregister fleet computes. // // To deregister a compute, call this operation from the compute that's being // deregistered and specify the compute name and the fleet ID. @@ -43,10 +37,7 @@ func (c *Client) DeregisterCompute(ctx context.Context, params *DeregisterComput type DeregisterComputeInput struct { // The unique identifier of the compute resource to deregister. For an Anywhere - // fleet compute, use the registered compute name. For a container fleet, use the - // compute name (for example, - // a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9 ) or the - // compute ARN. + // fleet compute, use the registered compute name. // // This member is required. ComputeName *string diff --git a/service/gamelift/api_op_DescribeCompute.go b/service/gamelift/api_op_DescribeCompute.go index 42fb194ed39..d97af95a436 100644 --- a/service/gamelift/api_op_DescribeCompute.go +++ b/service/gamelift/api_op_DescribeCompute.go @@ -11,10 +11,6 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation has been expanded to use with the Amazon GameLift containers -// -// feature, which is currently in public preview. -// // Retrieves properties for a compute resource in an Amazon GameLift fleet. To get // a list of all computes in a fleet, call ListCompute. // @@ -25,14 +21,11 @@ import ( // resource. Depending on the fleet's compute type, the result includes the // following information: // -// - For EC2 fleets, this operation returns information about the EC2 instance. -// -// - For ANYWHERE fleets, this operation returns information about the registered -// compute. +// - For managed EC2 fleets, this operation returns information about the EC2 +// instance. // -// - For CONTAINER fleets, this operation returns information about the container -// that's registered as a compute, and the instance it's running on. The compute -// name is the container name. +// - For Anywhere fleets, this operation returns information about the +// registered compute. func (c *Client) DescribeCompute(ctx context.Context, params *DescribeComputeInput, optFns ...func(*Options)) (*DescribeComputeOutput, error) { if params == nil { params = &DescribeComputeInput{} @@ -52,9 +45,7 @@ type DescribeComputeInput struct { // The unique identifier of the compute resource to retrieve properties for. For // an Anywhere fleet compute, use the registered compute name. For an EC2 fleet - // instance, use the instance ID. For a container fleet, use the compute name (for - // example, a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9 ) - // or the compute ARN. + // instance, use the instance ID. // // This member is required. ComputeName *string diff --git a/service/gamelift/api_op_DescribeContainerFleet.go b/service/gamelift/api_op_DescribeContainerFleet.go new file mode 100644 index 00000000000..83ed8ceed68 --- /dev/null +++ b/service/gamelift/api_op_DescribeContainerFleet.go @@ -0,0 +1,174 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package gamelift + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/gamelift/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Retrieves the properties for a container fleet. When requesting attributes for +// multiple fleets, use the pagination parameters to retrieve results as a set of +// sequential pages. +// +// Request options +// +// - Get container fleet properties for a single fleet. Provide either the fleet +// ID or ARN value. +// +// # Results +// +// If successful, a ContainerFleet object is returned. This object includes the +// fleet properties, including information about the most recent deployment. +// +// Some API operations limit the number of fleet IDs that allowed in one request. +// If a request exceeds this limit, the request fails and the error message +// contains the maximum allowed number. +func (c *Client) DescribeContainerFleet(ctx context.Context, params *DescribeContainerFleetInput, optFns ...func(*Options)) (*DescribeContainerFleetOutput, error) { + if params == nil { + params = &DescribeContainerFleetInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DescribeContainerFleet", params, optFns, c.addOperationDescribeContainerFleetMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DescribeContainerFleetOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DescribeContainerFleetInput struct { + + // A unique identifier for the container fleet to retrieve. You can use either the + // fleet ID or ARN value. + // + // This member is required. + FleetId *string + + noSmithyDocumentSerde +} + +type DescribeContainerFleetOutput struct { + + // The properties for the requested container fleet, including current status. + ContainerFleet *types.ContainerFleet + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDescribeContainerFleetMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeContainerFleet{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeContainerFleet{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeContainerFleet"); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + + if err = addlegacyEndpointContextSetter(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addSpanRetryLoop(stack, options); err != nil { + return err + } + if err = addClientUserAgent(stack, options); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = addOpDescribeContainerFleetValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeContainerFleet(options.Region), middleware.Before); err != nil { + return err + } + if err = addRecursionDetection(stack); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + if err = addDisableHTTPSMiddleware(stack, options); err != nil { + return err + } + if err = addSpanInitializeStart(stack); err != nil { + return err + } + if err = addSpanInitializeEnd(stack); err != nil { + return err + } + if err = addSpanBuildRequestStart(stack); err != nil { + return err + } + if err = addSpanBuildRequestEnd(stack); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDescribeContainerFleet(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "DescribeContainerFleet", + } +} diff --git a/service/gamelift/api_op_DescribeContainerGroupDefinition.go b/service/gamelift/api_op_DescribeContainerGroupDefinition.go index 8c9014227f6..3c3c5256198 100644 --- a/service/gamelift/api_op_DescribeContainerGroupDefinition.go +++ b/service/gamelift/api_op_DescribeContainerGroupDefinition.go @@ -11,16 +11,22 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation is used with the Amazon GameLift containers feature, which is -// -// currently in public preview. -// // Retrieves the properties of a container group definition, including all // container definitions in the group. // -// To retrieve a container group definition, provide a resource identifier. If -// successful, this operation returns the complete properties of the container -// group definition. +// Request options: +// +// - Retrieve the latest version of a container group definition. Specify the +// container group definition name only, or use an ARN value without a version +// number. +// +// - Retrieve a particular version. Specify the container group definition name +// and a version number, or use an ARN value that includes the version number. +// +// Results: +// +// If successful, this operation returns the complete properties of a container +// group definition version. // // # Learn more // @@ -50,6 +56,9 @@ type DescribeContainerGroupDefinitionInput struct { // This member is required. Name *string + // The specific version to retrieve. + VersionNumber *int32 + noSmithyDocumentSerde } diff --git a/service/gamelift/api_op_DescribeFleetAttributes.go b/service/gamelift/api_op_DescribeFleetAttributes.go index 32bc9f1be09..b3e4187b2dd 100644 --- a/service/gamelift/api_op_DescribeFleetAttributes.go +++ b/service/gamelift/api_op_DescribeFleetAttributes.go @@ -11,10 +11,6 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation has been expanded to use with the Amazon GameLift containers -// -// feature, which is currently in public preview. -// // Retrieves core fleet-wide properties for fleets in an Amazon Web Services // Region. Properties include the computing hardware and deployment configuration // for instances in the fleet. diff --git a/service/gamelift/api_op_DescribeFleetCapacity.go b/service/gamelift/api_op_DescribeFleetCapacity.go index fdcf46d1dc9..6611c1599fa 100644 --- a/service/gamelift/api_op_DescribeFleetCapacity.go +++ b/service/gamelift/api_op_DescribeFleetCapacity.go @@ -11,12 +11,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation has been expanded to use with the Amazon GameLift containers -// -// feature, which is currently in public preview. -// // Retrieves the resource capacity settings for one or more fleets. For a -// container fleet, this operation also returns counts for replica container +// container fleet, this operation also returns counts for game server container // groups. // // With multi-location fleets, this operation retrieves data for the fleet's home diff --git a/service/gamelift/api_op_DescribeFleetDeployment.go b/service/gamelift/api_op_DescribeFleetDeployment.go new file mode 100644 index 00000000000..8c7b2a0410e --- /dev/null +++ b/service/gamelift/api_op_DescribeFleetDeployment.go @@ -0,0 +1,177 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package gamelift + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/gamelift/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Retrieves information about a managed container fleet deployment. +// +// Request options +// +// - Get information about the latest deployment for a specific fleet. Provide +// the fleet ID or ARN. +// +// - Get information about a specific deployment. Provide the fleet ID or ARN +// and the deployment ID. +// +// # Results +// +// If successful, a FleetDeployment object is returned. +func (c *Client) DescribeFleetDeployment(ctx context.Context, params *DescribeFleetDeploymentInput, optFns ...func(*Options)) (*DescribeFleetDeploymentOutput, error) { + if params == nil { + params = &DescribeFleetDeploymentInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DescribeFleetDeployment", params, optFns, c.addOperationDescribeFleetDeploymentMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DescribeFleetDeploymentOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DescribeFleetDeploymentInput struct { + + // A unique identifier for the container fleet. You can use either the fleet ID or + // ARN value. + // + // This member is required. + FleetId *string + + // A unique identifier for the deployment to return information for. + DeploymentId *string + + noSmithyDocumentSerde +} + +type DescribeFleetDeploymentOutput struct { + + // The requested deployment information. + FleetDeployment *types.FleetDeployment + + // If the deployment is for a multi-location fleet, the requests returns the + // deployment status in each fleet location. + LocationalDeployments map[string]types.LocationalDeployment + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDescribeFleetDeploymentMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeFleetDeployment{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeFleetDeployment{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeFleetDeployment"); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + + if err = addlegacyEndpointContextSetter(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addSpanRetryLoop(stack, options); err != nil { + return err + } + if err = addClientUserAgent(stack, options); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = addOpDescribeFleetDeploymentValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeFleetDeployment(options.Region), middleware.Before); err != nil { + return err + } + if err = addRecursionDetection(stack); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + if err = addDisableHTTPSMiddleware(stack, options); err != nil { + return err + } + if err = addSpanInitializeStart(stack); err != nil { + return err + } + if err = addSpanInitializeEnd(stack); err != nil { + return err + } + if err = addSpanBuildRequestStart(stack); err != nil { + return err + } + if err = addSpanBuildRequestEnd(stack); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDescribeFleetDeployment(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "DescribeFleetDeployment", + } +} diff --git a/service/gamelift/api_op_DescribeFleetLocationCapacity.go b/service/gamelift/api_op_DescribeFleetLocationCapacity.go index 22d44a66391..47d9fe6c7be 100644 --- a/service/gamelift/api_op_DescribeFleetLocationCapacity.go +++ b/service/gamelift/api_op_DescribeFleetLocationCapacity.go @@ -13,8 +13,8 @@ import ( // Retrieves the resource capacity settings for a fleet location. The data // returned includes the current capacity (number of EC2 instances) and some -// scaling settings for the requested fleet location. For a container fleet, this -// operation also returns counts for replica container groups. +// scaling settings for the requested fleet location. For a managed container +// fleet, this operation also returns counts for game server container groups. // // Use this operation to retrieve capacity information for a fleet's remote // location or home Region (you can also retrieve home Region capacity by calling diff --git a/service/gamelift/api_op_DescribeFleetPortSettings.go b/service/gamelift/api_op_DescribeFleetPortSettings.go index 8838d42d7ff..74f43961326 100644 --- a/service/gamelift/api_op_DescribeFleetPortSettings.go +++ b/service/gamelift/api_op_DescribeFleetPortSettings.go @@ -11,12 +11,12 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Retrieves a fleet's inbound connection permissions. Connection permissions -// specify IP addresses and port settings that incoming traffic can use to access -// server processes in the fleet. Game server processes that are running in the -// fleet must use a port that falls within this range. To connect to game server -// processes on a container fleet, the port settings should include one or more of -// the fleet's connection ports. +// Retrieves a fleet's inbound connection permissions. Inbound permissions specify +// IP addresses and port settings that incoming traffic can use to access server +// processes in the fleet. Game server processes that are running in the fleet must +// use a port that falls within this range. To connect to game server processes on +// a managed container fleet, the port settings should include one or more of the +// container fleet's connection ports. // // Use this operation in the following ways: // diff --git a/service/gamelift/api_op_DescribeRuntimeConfiguration.go b/service/gamelift/api_op_DescribeRuntimeConfiguration.go index f008711f276..16eb4ce6fef 100644 --- a/service/gamelift/api_op_DescribeRuntimeConfiguration.go +++ b/service/gamelift/api_op_DescribeRuntimeConfiguration.go @@ -12,11 +12,9 @@ import ( ) // Retrieves a fleet's runtime configuration settings. The runtime configuration -// determines which server processes run, and how, on computes in the fleet. For -// managed EC2 fleets, the runtime configuration describes server processes that -// run on each fleet instance. For container fleets, the runtime configuration -// describes server processes that run in each replica container group. You can -// update a fleet's runtime configuration at any time using UpdateRuntimeConfiguration. +// determines which server processes run, and how they run, and how many run +// concurrently on computes in managed EC2 and Anywhere fleets. You can update a +// fleet's runtime configuration at any time using UpdateRuntimeConfiguration. // // To get the current runtime configuration for a fleet, provide the fleet ID. // diff --git a/service/gamelift/api_op_GetComputeAccess.go b/service/gamelift/api_op_GetComputeAccess.go index 19cc8e2640f..2f3be6ccacd 100644 --- a/service/gamelift/api_op_GetComputeAccess.go +++ b/service/gamelift/api_op_GetComputeAccess.go @@ -11,39 +11,23 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation has been expanded to use with the Amazon GameLift containers -// -// feature, which is currently in public preview. -// // Requests authorization to remotely connect to a hosting resource in a Amazon // GameLift managed fleet. This operation is not used with Amazon GameLift Anywhere -// fleets -// -// To request access, specify the compute name and the fleet ID. If successful, -// this operation returns a set of temporary Amazon Web Services credentials, -// including a two-part access key and a session token. +// fleets. // -// # EC2 fleets +// # Request options // -// With an EC2 fleet (where compute type is EC2 ), use these credentials with -// Amazon EC2 Systems Manager (SSM) to start a session with the compute. For more -// details, see [Starting a session (CLI)]in the Amazon EC2 Systems Manager User Guide. +// To request access to a compute, specify the compute name and the fleet ID. // -// # Container fleets +// # Results // -// With a container fleet (where compute type is CONTAINER ), use these credentials -// and the target value with SSM to connect to the fleet instance where the -// container is running. After you're connected to the instance, use Docker -// commands to interact with the container. +// If successful, this operation returns a set of temporary Amazon Web Services +// credentials, including a two-part access key and a session token. // -// # Learn more +// - With a managed EC2 fleet (where compute type is EC2 ), use these credentials +// with Amazon EC2 Systems Manager (SSM) to start a session with the compute. For +// more details, see [Starting a session (CLI)]in the Amazon EC2 Systems Manager User Guide. // -// [Remotely connect to fleet instances] -// -// [Debug fleet issues] -// -// [Remotely connect to fleet instances]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html -// [Debug fleet issues]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html // [Starting a session (CLI)]: https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#sessions-start-cli func (c *Client) GetComputeAccess(ctx context.Context, params *GetComputeAccessInput, optFns ...func(*Options)) (*GetComputeAccessOutput, error) { if params == nil { @@ -63,10 +47,7 @@ func (c *Client) GetComputeAccess(ctx context.Context, params *GetComputeAccessI type GetComputeAccessInput struct { // A unique identifier for the compute resource that you want to connect to. For - // an EC2 fleet compute, use the instance ID. For a container fleet, use the - // compute name (for example, - // a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9 ) or the - // compute ARN. + // an EC2 fleet compute, use the instance ID. Use ListComputeto retrieve compute identifiers. // // This member is required. ComputeName *string @@ -93,6 +74,10 @@ type GetComputeAccessOutput struct { // either a compute name or an instance ID. ComputeName *string + // For a managed container fleet, a list of containers on the compute. Use the + // container runtime ID with Docker commands to connect to a specific container. + ContainerIdentifiers []types.ContainerIdentifier + // A set of temporary Amazon Web Services credentials for use when connecting to // the compute resource with Amazon EC2 Systems Manager (SSM). Credentials *types.AwsCredentials @@ -107,8 +92,7 @@ type GetComputeAccessOutput struct { // The ID of the fleet that holds the compute resource to be accessed. FleetId *string - // (For container fleets only) The instance ID where the compute resource is - // running. + // The instance ID where the compute resource is running. Target *string // Metadata pertaining to the operation's result. diff --git a/service/gamelift/api_op_GetComputeAuthToken.go b/service/gamelift/api_op_GetComputeAuthToken.go index 9c5df10a88c..b7fb77bfd89 100644 --- a/service/gamelift/api_op_GetComputeAuthToken.go +++ b/service/gamelift/api_op_GetComputeAuthToken.go @@ -12,23 +12,23 @@ import ( ) // Requests an authentication token from Amazon GameLift for a compute resource in -// an Amazon GameLift Anywhere fleet or container fleet. Game servers that are -// running on the compute use this token to communicate with the Amazon GameLift -// service, such as when calling the Amazon GameLift server SDK action InitSDK() . -// Authentication tokens are valid for a limited time span, so you need to request -// a fresh token before the current token expires. +// an Amazon GameLift fleet. Game servers that are running on the compute use this +// token to communicate with the Amazon GameLift service, such as when calling the +// Amazon GameLift server SDK action InitSDK() . Authentication tokens are valid +// for a limited time span, so you need to request a fresh token before the current +// token expires. // -// Use this operation based on the fleet compute type: +// Request options // -// - For EC2 fleets, auth token retrieval and refresh is handled automatically. -// All game servers that are running on all fleet instances have access to a valid -// auth token. +// - For managed EC2 fleets (compute type EC2 ), auth token retrieval and refresh +// is handled automatically. All game servers that are running on all fleet +// instances have access to a valid auth token. // -// - For ANYWHERE and CONTAINER fleets, if you're using the Amazon GameLift -// Agent, auth token retrieval and refresh is handled automatically for any -// container or Anywhere compute where the Agent is running. If you're not using -// the Agent, create a mechanism to retrieve and refresh auth tokens for computes -// that are running game server processes. +// - For Anywhere fleets (compute type ANYWHERE ), if you're using the Amazon +// GameLift Agent, auth token retrieval and refresh is handled automatically for +// any compute where the Agent is running. If you're not using the Agent, create a +// mechanism to retrieve and refresh auth tokens for computes that are running game +// server processes. // // # Learn more // @@ -61,10 +61,7 @@ type GetComputeAuthTokenInput struct { // The name of the compute resource you are requesting the authentication token // for. For an Anywhere fleet compute, use the registered compute name. For an EC2 - // fleet instance, use the instance ID. For a container fleet, use the compute name - // (for example, - // a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9 ) or the - // compute ARN. + // fleet instance, use the instance ID. // // This member is required. ComputeName *string diff --git a/service/gamelift/api_op_ListBuilds.go b/service/gamelift/api_op_ListBuilds.go index 5e7662072f1..bbc9b06cebb 100644 --- a/service/gamelift/api_op_ListBuilds.go +++ b/service/gamelift/api_op_ListBuilds.go @@ -49,7 +49,7 @@ type ListBuildsInput struct { // A token that indicates the start of the next sequential page of results. Use // the token that is returned with a previous call to this operation. To start at - // the beginning of the result set, don't specify a value. + // the beginning of the result set, do not specify a value. NextToken *string // Build status to filter results by. To retrieve all builds, leave this parameter diff --git a/service/gamelift/api_op_ListCompute.go b/service/gamelift/api_op_ListCompute.go index 34e997d3fb7..67e27aa446f 100644 --- a/service/gamelift/api_op_ListCompute.go +++ b/service/gamelift/api_op_ListCompute.go @@ -11,31 +11,28 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation has been expanded to use with the Amazon GameLift containers +// Retrieves information on the compute resources in an Amazon GameLift fleet. Use +// the pagination parameters to retrieve results in a set of sequential pages. // -// feature, which is currently in public preview. +// Request options: // -// Retrieves information on the compute resources in an Amazon GameLift fleet. +// - Retrieve a list of all computes in a fleet. Specify a fleet ID. // -// To request a list of computes, specify the fleet ID. Use the pagination -// parameters to retrieve results in a set of sequential pages. +// - Retrieve a list of all computes in a specific fleet location. Specify a +// fleet ID and location. // -// You can filter the result set by location. +// Results: // -// If successful, this operation returns information on all computes in the -// requested fleet. Depending on the fleet's compute type, the result includes the -// following information: +// If successful, this operation returns information on a set of computes. +// Depending on the type of fleet, the result includes the following information: // -// - For EC2 fleets, this operation returns information about the EC2 instance. -// Compute names are instance IDs. +// - For managed EC2 fleets (compute type EC2 ), this operation returns +// information about the EC2 instance. Compute names are EC2 instance IDs. // -// - For ANYWHERE fleets, this operation returns the compute names and details -// provided when the compute was registered with RegisterCompute . The -// GameLiftServiceSdkEndpoint or GameLiftAgentEndpoint is included. -// -// - For CONTAINER fleets, this operation returns information about containers -// that are registered as computes, and the instances they're running on. Compute -// names are container names. +// - For Anywhere fleets (compute type ANYWHERE ), this operation returns compute +// names and details as provided when the compute was registered with +// RegisterCompute . This includes GameLiftServiceSdkEndpoint or +// GameLiftAgentEndpoint . func (c *Client) ListCompute(ctx context.Context, params *ListComputeInput, optFns ...func(*Options)) (*ListComputeOutput, error) { if params == nil { params = &ListComputeInput{} @@ -58,14 +55,28 @@ type ListComputeInput struct { // This member is required. FleetId *string + // The status of computes in a managed container fleet, based on the success of + // the latest update deployment. + // + // - ACTIVE -- The compute is deployed with the correct container definitions. It + // is ready to process game servers and host game sessions. + // + // - IMPAIRED -- An update deployment to the compute failed, and the compute is + // deployed with incorrect container definitions. + ComputeStatus types.ListComputeInputStatus + + // For computes in a managed container fleet, the name of the deployed container + // group definition. + ContainerGroupDefinitionName *string + // The maximum number of results to return. Use this parameter with NextToken to // get results as a set of sequential pages. Limit *int32 // The name of a location to retrieve compute resources for. For an Amazon - // GameLift Anywhere fleet, use a custom location. For a multi-location EC2 or - // container fleet, provide a Amazon Web Services Region or Local Zone code (for - // example: us-west-2 or us-west-2-lax-1 ). + // GameLift Anywhere fleet, use a custom location. For a managed fleet, provide a + // Amazon Web Services Region or Local Zone code (for example: us-west-2 or + // us-west-2-lax-1 ). Location *string // A token that indicates the start of the next sequential page of results. Use diff --git a/service/gamelift/api_op_ListContainerFleets.go b/service/gamelift/api_op_ListContainerFleets.go new file mode 100644 index 00000000000..6da6718abf2 --- /dev/null +++ b/service/gamelift/api_op_ListContainerFleets.go @@ -0,0 +1,287 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package gamelift + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/gamelift/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Retrieves a collection of container fleet resources in an Amazon Web Services +// Region. For fleets that have multiple locations, this operation retrieves fleets +// based on their home Region only. +// +// Request options +// +// - Get a list of all fleets. Call this operation without specifying a +// container group definition. +// +// - Get a list of fleets filtered by container group definition. Provide the +// container group definition name or ARN value. +// +// - To get a list of all Realtime Servers fleets with a specific configuration +// script, provide the script ID. +// +// Use the pagination parameters to retrieve results as a set of sequential pages. +// +// If successful, this operation returns a collection of container fleets that +// match the request parameters. A NextToken value is also returned if there are +// more result pages to retrieve. +// +// Fleet IDs are returned in no particular order. +func (c *Client) ListContainerFleets(ctx context.Context, params *ListContainerFleetsInput, optFns ...func(*Options)) (*ListContainerFleetsOutput, error) { + if params == nil { + params = &ListContainerFleetsInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListContainerFleets", params, optFns, c.addOperationListContainerFleetsMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListContainerFleetsOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListContainerFleetsInput struct { + + // The container group definition to filter the list on. Use this parameter to + // retrieve only those fleets that use the specified container group definition. + // You can specify the container group definition's name to get fleets with the + // latest versions. Alternatively, provide an ARN value to get fleets with a + // specific version number. + ContainerGroupDefinitionName *string + + // The maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit *int32 + + // A token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this operation. To start at + // the beginning of the result set, do not specify a value. + NextToken *string + + noSmithyDocumentSerde +} + +type ListContainerFleetsOutput struct { + + // A collection of container fleet objects for all fleets that match the request + // criteria. + ContainerFleets []types.ContainerFleet + + // A token that indicates where to resume retrieving results on the next call to + // this operation. If no token is returned, these results represent the end of the + // list. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListContainerFleetsMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsAwsjson11_serializeOpListContainerFleets{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpListContainerFleets{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "ListContainerFleets"); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + + if err = addlegacyEndpointContextSetter(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addSpanRetryLoop(stack, options); err != nil { + return err + } + if err = addClientUserAgent(stack, options); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListContainerFleets(options.Region), middleware.Before); err != nil { + return err + } + if err = addRecursionDetection(stack); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + if err = addDisableHTTPSMiddleware(stack, options); err != nil { + return err + } + if err = addSpanInitializeStart(stack); err != nil { + return err + } + if err = addSpanInitializeEnd(stack); err != nil { + return err + } + if err = addSpanBuildRequestStart(stack); err != nil { + return err + } + if err = addSpanBuildRequestEnd(stack); err != nil { + return err + } + return nil +} + +// ListContainerFleetsPaginatorOptions is the paginator options for +// ListContainerFleets +type ListContainerFleetsPaginatorOptions struct { + // The maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListContainerFleetsPaginator is a paginator for ListContainerFleets +type ListContainerFleetsPaginator struct { + options ListContainerFleetsPaginatorOptions + client ListContainerFleetsAPIClient + params *ListContainerFleetsInput + nextToken *string + firstPage bool +} + +// NewListContainerFleetsPaginator returns a new ListContainerFleetsPaginator +func NewListContainerFleetsPaginator(client ListContainerFleetsAPIClient, params *ListContainerFleetsInput, optFns ...func(*ListContainerFleetsPaginatorOptions)) *ListContainerFleetsPaginator { + if params == nil { + params = &ListContainerFleetsInput{} + } + + options := ListContainerFleetsPaginatorOptions{} + if params.Limit != nil { + options.Limit = *params.Limit + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListContainerFleetsPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + nextToken: params.NextToken, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListContainerFleetsPaginator) HasMorePages() bool { + return p.firstPage || (p.nextToken != nil && len(*p.nextToken) != 0) +} + +// NextPage retrieves the next ListContainerFleets page. +func (p *ListContainerFleetsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListContainerFleetsOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.Limit = limit + + optFns = append([]func(*Options){ + addIsPaginatorUserAgent, + }, optFns...) + result, err := p.client.ListContainerFleets(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && + prevToken != nil && + p.nextToken != nil && + *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +// ListContainerFleetsAPIClient is a client that implements the +// ListContainerFleets operation. +type ListContainerFleetsAPIClient interface { + ListContainerFleets(context.Context, *ListContainerFleetsInput, ...func(*Options)) (*ListContainerFleetsOutput, error) +} + +var _ ListContainerFleetsAPIClient = (*Client)(nil) + +func newServiceMetadataMiddleware_opListContainerFleets(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "ListContainerFleets", + } +} diff --git a/service/gamelift/api_op_ListContainerGroupDefinitionVersions.go b/service/gamelift/api_op_ListContainerGroupDefinitionVersions.go new file mode 100644 index 00000000000..a3c60147bb1 --- /dev/null +++ b/service/gamelift/api_op_ListContainerGroupDefinitionVersions.go @@ -0,0 +1,290 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package gamelift + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/gamelift/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Retrieves all versions of a container group definition. Use the pagination +// parameters to retrieve results in a set of sequential pages. +// +// Request options: +// +// - Get all versions of a specified container group definition. Specify the +// container group definition name or ARN value. (If the ARN value has a version +// number, it's ignored.) +// +// Results: +// +// If successful, this operation returns the complete properties of a set of +// container group definition versions that match the request. +// +// This operation returns the list of container group definitions in descending +// version order (latest first). +// +// # Learn more +// +// [Manage a container group definition] +// +// [Manage a container group definition]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-create-groups.html +func (c *Client) ListContainerGroupDefinitionVersions(ctx context.Context, params *ListContainerGroupDefinitionVersionsInput, optFns ...func(*Options)) (*ListContainerGroupDefinitionVersionsOutput, error) { + if params == nil { + params = &ListContainerGroupDefinitionVersionsInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListContainerGroupDefinitionVersions", params, optFns, c.addOperationListContainerGroupDefinitionVersionsMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListContainerGroupDefinitionVersionsOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListContainerGroupDefinitionVersionsInput struct { + + // The unique identifier for the container group definition to retrieve properties + // for. You can use either the Name or ARN value. + // + // This member is required. + Name *string + + // The maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit *int32 + + // A token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this operation. To start at + // the beginning of the result set, do not specify a value. + NextToken *string + + noSmithyDocumentSerde +} + +type ListContainerGroupDefinitionVersionsOutput struct { + + // A result set of container group definitions that match the request. + ContainerGroupDefinitions []types.ContainerGroupDefinition + + // A token that indicates where to resume retrieving results on the next call to + // this operation. If no token is returned, these results represent the end of the + // list. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListContainerGroupDefinitionVersionsMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsAwsjson11_serializeOpListContainerGroupDefinitionVersions{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpListContainerGroupDefinitionVersions{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "ListContainerGroupDefinitionVersions"); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + + if err = addlegacyEndpointContextSetter(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addSpanRetryLoop(stack, options); err != nil { + return err + } + if err = addClientUserAgent(stack, options); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = addOpListContainerGroupDefinitionVersionsValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListContainerGroupDefinitionVersions(options.Region), middleware.Before); err != nil { + return err + } + if err = addRecursionDetection(stack); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + if err = addDisableHTTPSMiddleware(stack, options); err != nil { + return err + } + if err = addSpanInitializeStart(stack); err != nil { + return err + } + if err = addSpanInitializeEnd(stack); err != nil { + return err + } + if err = addSpanBuildRequestStart(stack); err != nil { + return err + } + if err = addSpanBuildRequestEnd(stack); err != nil { + return err + } + return nil +} + +// ListContainerGroupDefinitionVersionsPaginatorOptions is the paginator options +// for ListContainerGroupDefinitionVersions +type ListContainerGroupDefinitionVersionsPaginatorOptions struct { + // The maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListContainerGroupDefinitionVersionsPaginator is a paginator for +// ListContainerGroupDefinitionVersions +type ListContainerGroupDefinitionVersionsPaginator struct { + options ListContainerGroupDefinitionVersionsPaginatorOptions + client ListContainerGroupDefinitionVersionsAPIClient + params *ListContainerGroupDefinitionVersionsInput + nextToken *string + firstPage bool +} + +// NewListContainerGroupDefinitionVersionsPaginator returns a new +// ListContainerGroupDefinitionVersionsPaginator +func NewListContainerGroupDefinitionVersionsPaginator(client ListContainerGroupDefinitionVersionsAPIClient, params *ListContainerGroupDefinitionVersionsInput, optFns ...func(*ListContainerGroupDefinitionVersionsPaginatorOptions)) *ListContainerGroupDefinitionVersionsPaginator { + if params == nil { + params = &ListContainerGroupDefinitionVersionsInput{} + } + + options := ListContainerGroupDefinitionVersionsPaginatorOptions{} + if params.Limit != nil { + options.Limit = *params.Limit + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListContainerGroupDefinitionVersionsPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + nextToken: params.NextToken, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListContainerGroupDefinitionVersionsPaginator) HasMorePages() bool { + return p.firstPage || (p.nextToken != nil && len(*p.nextToken) != 0) +} + +// NextPage retrieves the next ListContainerGroupDefinitionVersions page. +func (p *ListContainerGroupDefinitionVersionsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListContainerGroupDefinitionVersionsOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.Limit = limit + + optFns = append([]func(*Options){ + addIsPaginatorUserAgent, + }, optFns...) + result, err := p.client.ListContainerGroupDefinitionVersions(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && + prevToken != nil && + p.nextToken != nil && + *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +// ListContainerGroupDefinitionVersionsAPIClient is a client that implements the +// ListContainerGroupDefinitionVersions operation. +type ListContainerGroupDefinitionVersionsAPIClient interface { + ListContainerGroupDefinitionVersions(context.Context, *ListContainerGroupDefinitionVersionsInput, ...func(*Options)) (*ListContainerGroupDefinitionVersionsOutput, error) +} + +var _ ListContainerGroupDefinitionVersionsAPIClient = (*Client)(nil) + +func newServiceMetadataMiddleware_opListContainerGroupDefinitionVersions(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "ListContainerGroupDefinitionVersions", + } +} diff --git a/service/gamelift/api_op_ListContainerGroupDefinitions.go b/service/gamelift/api_op_ListContainerGroupDefinitions.go index 3872ebd0e22..580313eaa74 100644 --- a/service/gamelift/api_op_ListContainerGroupDefinitions.go +++ b/service/gamelift/api_op_ListContainerGroupDefinitions.go @@ -11,14 +11,24 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation is used with the Amazon GameLift containers feature, which is +// Retrieves container group definitions for the Amazon Web Services account and +// Amazon Web Services Region. Use the pagination parameters to retrieve results in +// a set of sequential pages. // -// currently in public preview. +// This operation returns only the latest version of each definition. To retrieve +// all versions of a container group definition, use ListContainerGroupDefinitionVersions. // -// Retrieves all container group definitions for the Amazon Web Services account -// and Amazon Web Services Region that are currently in use. You can filter the -// result set by the container groups' scheduling strategy. Use the pagination -// parameters to retrieve results in a set of sequential pages. +// Request options: +// +// - Retrieve the most recent versions of all container group definitions. +// +// - Retrieve the most recent versions of all container group definitions, +// filtered by type. Specify the container group type to filter on. +// +// Results: +// +// If successful, this operation returns the complete properties of a set of +// container group definition versions that match the request. // // This operation returns the list of container group definitions in no particular // order. @@ -45,6 +55,10 @@ func (c *Client) ListContainerGroupDefinitions(ctx context.Context, params *List type ListContainerGroupDefinitionsInput struct { + // The type of container group to retrieve. Container group type determines how + // Amazon GameLift deploys the container group on each fleet instance. + ContainerGroupType types.ContainerGroupType + // The maximum number of results to return. Use this parameter with NextToken to // get results as a set of sequential pages. Limit *int32 @@ -54,16 +68,6 @@ type ListContainerGroupDefinitionsInput struct { // the beginning of the result set, do not specify a value. NextToken *string - // The type of container group definitions to retrieve. - // - // - DAEMON -- Daemon container groups run background processes and are deployed - // once per fleet instance. - // - // - REPLICA -- Replica container groups run your game server application and - // supporting software. Replica groups might be deployed multiple times per fleet - // instance. - SchedulingStrategy types.ContainerSchedulingStrategy - noSmithyDocumentSerde } diff --git a/service/gamelift/api_op_ListFleetDeployments.go b/service/gamelift/api_op_ListFleetDeployments.go new file mode 100644 index 00000000000..192c372abab --- /dev/null +++ b/service/gamelift/api_op_ListFleetDeployments.go @@ -0,0 +1,284 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package gamelift + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/gamelift/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Retrieves a collection of container fleet deployments in an Amazon Web Services +// Region. +// +// Request options +// +// - Get a list of all deployments. Call this operation without specifying a +// fleet ID. +// +// - Get a list of all deployments for a fleet. Specify the container fleet ID +// or ARN value. +// +// - To get a list of all Realtime Servers fleets with a specific configuration +// script, provide the script ID. +// +// Use the pagination parameters to retrieve results as a set of sequential pages. +// +// # Results +// +// If successful, this operation returns a list of deployments that match the +// request parameters. A NextToken value is also returned if there are more result +// pages to retrieve. +// +// Fleet IDs are returned in no particular order. +func (c *Client) ListFleetDeployments(ctx context.Context, params *ListFleetDeploymentsInput, optFns ...func(*Options)) (*ListFleetDeploymentsOutput, error) { + if params == nil { + params = &ListFleetDeploymentsInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListFleetDeployments", params, optFns, c.addOperationListFleetDeploymentsMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListFleetDeploymentsOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListFleetDeploymentsInput struct { + + // A unique identifier for the container fleet. You can use either the fleet ID or + // ARN value. + FleetId *string + + // The maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit *int32 + + // A token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this operation. To start at + // the beginning of the result set, do not specify a value. + NextToken *string + + noSmithyDocumentSerde +} + +type ListFleetDeploymentsOutput struct { + + // The requested deployment information. + FleetDeployments []types.FleetDeployment + + // A token that indicates where to resume retrieving results on the next call to + // this operation. If no token is returned, these results represent the end of the + // list. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListFleetDeploymentsMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsAwsjson11_serializeOpListFleetDeployments{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpListFleetDeployments{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "ListFleetDeployments"); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + + if err = addlegacyEndpointContextSetter(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addSpanRetryLoop(stack, options); err != nil { + return err + } + if err = addClientUserAgent(stack, options); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListFleetDeployments(options.Region), middleware.Before); err != nil { + return err + } + if err = addRecursionDetection(stack); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + if err = addDisableHTTPSMiddleware(stack, options); err != nil { + return err + } + if err = addSpanInitializeStart(stack); err != nil { + return err + } + if err = addSpanInitializeEnd(stack); err != nil { + return err + } + if err = addSpanBuildRequestStart(stack); err != nil { + return err + } + if err = addSpanBuildRequestEnd(stack); err != nil { + return err + } + return nil +} + +// ListFleetDeploymentsPaginatorOptions is the paginator options for +// ListFleetDeployments +type ListFleetDeploymentsPaginatorOptions struct { + // The maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListFleetDeploymentsPaginator is a paginator for ListFleetDeployments +type ListFleetDeploymentsPaginator struct { + options ListFleetDeploymentsPaginatorOptions + client ListFleetDeploymentsAPIClient + params *ListFleetDeploymentsInput + nextToken *string + firstPage bool +} + +// NewListFleetDeploymentsPaginator returns a new ListFleetDeploymentsPaginator +func NewListFleetDeploymentsPaginator(client ListFleetDeploymentsAPIClient, params *ListFleetDeploymentsInput, optFns ...func(*ListFleetDeploymentsPaginatorOptions)) *ListFleetDeploymentsPaginator { + if params == nil { + params = &ListFleetDeploymentsInput{} + } + + options := ListFleetDeploymentsPaginatorOptions{} + if params.Limit != nil { + options.Limit = *params.Limit + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListFleetDeploymentsPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + nextToken: params.NextToken, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListFleetDeploymentsPaginator) HasMorePages() bool { + return p.firstPage || (p.nextToken != nil && len(*p.nextToken) != 0) +} + +// NextPage retrieves the next ListFleetDeployments page. +func (p *ListFleetDeploymentsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListFleetDeploymentsOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.Limit = limit + + optFns = append([]func(*Options){ + addIsPaginatorUserAgent, + }, optFns...) + result, err := p.client.ListFleetDeployments(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && + prevToken != nil && + p.nextToken != nil && + *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +// ListFleetDeploymentsAPIClient is a client that implements the +// ListFleetDeployments operation. +type ListFleetDeploymentsAPIClient interface { + ListFleetDeployments(context.Context, *ListFleetDeploymentsInput, ...func(*Options)) (*ListFleetDeploymentsOutput, error) +} + +var _ ListFleetDeploymentsAPIClient = (*Client)(nil) + +func newServiceMetadataMiddleware_opListFleetDeployments(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "ListFleetDeployments", + } +} diff --git a/service/gamelift/api_op_ListFleets.go b/service/gamelift/api_op_ListFleets.go index 9c39ee72683..744b5211edf 100644 --- a/service/gamelift/api_op_ListFleets.go +++ b/service/gamelift/api_op_ListFleets.go @@ -10,10 +10,6 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation has been expanded to use with the Amazon GameLift containers -// -// feature, which is currently in public preview. -// // Retrieves a collection of fleet resources in an Amazon Web Services Region. You // can filter the result set to find only those fleets that are deployed with a // specific build or script. For fleets that have multiple locations, this @@ -30,9 +26,6 @@ import ( // - To get a list of all Realtime Servers fleets with a specific configuration // script, provide the script ID. // -// - To get a list of all fleets with a specific container group definition, -// provide the ContainerGroupDefinition ID. -// // Use the pagination parameters to retrieve results as a set of sequential pages. // // If successful, this operation returns a list of fleet IDs that match the @@ -62,11 +55,6 @@ type ListFleetsInput struct { // value. BuildId *string - // The container group definition name to request fleets for. Use this parameter - // to return only fleets that are deployed with the specified container group - // definition. - ContainerGroupDefinitionName *string - // The maximum number of results to return. Use this parameter with NextToken to // get results as a set of sequential pages. Limit *int32 diff --git a/service/gamelift/api_op_ListScripts.go b/service/gamelift/api_op_ListScripts.go index b842ac9cfb7..792f3aa5d25 100644 --- a/service/gamelift/api_op_ListScripts.go +++ b/service/gamelift/api_op_ListScripts.go @@ -47,7 +47,7 @@ type ListScriptsInput struct { // A token that indicates the start of the next sequential page of results. Use // the token that is returned with a previous call to this operation. To start at - // the beginning of the result set, don't specify a value. + // the beginning of the result set, do not specify a value. NextToken *string noSmithyDocumentSerde diff --git a/service/gamelift/api_op_RegisterCompute.go b/service/gamelift/api_op_RegisterCompute.go index 7d14f5b8a2e..bf580b03563 100644 --- a/service/gamelift/api_op_RegisterCompute.go +++ b/service/gamelift/api_op_RegisterCompute.go @@ -11,17 +11,11 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation has been expanded to use with the Amazon GameLift containers +// Registers a compute resource in an Amazon GameLift Anywhere fleet. // -// feature, which is currently in public preview. -// -// Registers a compute resource in an Amazon GameLift fleet. Register computes -// with an Amazon GameLift Anywhere fleet or a container fleet. -// -// For an Anywhere fleet or a container fleet that's running the Amazon GameLift -// Agent, the Agent handles all compute registry tasks for you. For an Anywhere -// fleet that doesn't use the Agent, call this operation to register fleet -// computes. +// For an Anywhere fleet that's running the Amazon GameLift Agent, the Agent +// handles all compute registry tasks for you. For an Anywhere fleet that doesn't +// use the Agent, call this operation to register fleet computes. // // To register a compute, give the compute a name (must be unique within the // fleet) and specify the compute resource's DNS name or IP address. Provide a diff --git a/service/gamelift/api_op_StartGameSessionPlacement.go b/service/gamelift/api_op_StartGameSessionPlacement.go index d662516e31e..5d12412019d 100644 --- a/service/gamelift/api_op_StartGameSessionPlacement.go +++ b/service/gamelift/api_op_StartGameSessionPlacement.go @@ -51,7 +51,7 @@ import ( // To track the status of a placement request, call [DescribeGameSessionPlacement] and check the request's // status. If the status is FULFILLED , a new game session has been created and a // game session ARN and Region are referenced. If the placement request times out, -// you can resubmit the request or retry it with a different queue. +// submit a new request to the same queue or a different queue. // // [DescribeGameSessionPlacement]: https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessionPlacement.html func (c *Client) StartGameSessionPlacement(ctx context.Context, params *StartGameSessionPlacementInput, optFns ...func(*Options)) (*StartGameSessionPlacementOutput, error) { @@ -98,10 +98,10 @@ type StartGameSessionPlacementInput struct { GameProperties []types.GameProperty // A set of custom game session properties, formatted as a single string value. - // This data is passed to a game server process in the GameSession object with a - // request to start a new game session (see [Start a Game Session]). + // This data is passed to a game server process with a request to start a new game + // session. For more information, see [Start a game session]. // - // [Start a Game Session]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession + // [Start a game session]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession GameSessionData *string // A descriptive label that is associated with a game session. Session names do @@ -109,9 +109,9 @@ type StartGameSessionPlacementInput struct { GameSessionName *string // A set of values, expressed in milliseconds, that indicates the amount of - // latency that a player experiences when connected to Amazon Web Services Regions. - // This information is used to try to place the new game session where it can offer - // the best possible gameplay experience for the players. + // latency that a player experiences when connected to @aws; Regions. This + // information is used to try to place the new game session where it can offer the + // best possible gameplay experience for the players. PlayerLatencies []types.PlayerLatency noSmithyDocumentSerde diff --git a/service/gamelift/api_op_UpdateBuild.go b/service/gamelift/api_op_UpdateBuild.go index 8495b05ae5e..42b80fb562d 100644 --- a/service/gamelift/api_op_UpdateBuild.go +++ b/service/gamelift/api_op_UpdateBuild.go @@ -46,12 +46,12 @@ type UpdateBuildInput struct { // This member is required. BuildId *string - // A descriptive label associated with a build. Build names don't need to be - // unique. + // A descriptive label that is associated with a build. Build names do not need to + // be unique. Name *string - // Version information associated with a build or script. Version strings don't - // need to be unique. + // Version information that is associated with a build or script. Version strings + // do not need to be unique. Version *string noSmithyDocumentSerde diff --git a/service/gamelift/api_op_UpdateContainerFleet.go b/service/gamelift/api_op_UpdateContainerFleet.go new file mode 100644 index 00000000000..63a67f0eb3d --- /dev/null +++ b/service/gamelift/api_op_UpdateContainerFleet.go @@ -0,0 +1,271 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package gamelift + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/gamelift/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Updates the properties of a managed container fleet. Depending on the +// properties being updated, this operation might initiate a fleet deployment. You +// can track deployments for a fleet using DescribeFleetDeployment. +// +// # Request options +// +// As with CreateContainerFleet, many fleet properties use common defaults or are +// calculated based on the fleet's container group definitions. +// +// - Update fleet properties that result in a fleet deployment. Include only +// those properties that you want to change. Specify deployment configuration +// settings. +// +// - Update fleet properties that don't result in a fleet deployment. Include +// only those properties that you want to change. +// +// Changes to the following properties initiate a fleet deployment: +// +// - GameServerContainerGroupDefinition +// +// - PerInstanceContainerGroupDefinition +// +// - GameServerContainerGroupsPerInstance +// +// - InstanceInboundPermissions +// +// - InstanceConnectionPortRange +// +// - LogConfiguration +// +// # Results +// +// If successful, this operation updates the container fleet resource, and might +// initiate a new deployment of fleet resources using the deployment configuration +// provided. A deployment replaces existing fleet instances with new instances that +// are deployed with the updated fleet properties. The fleet is placed in UPDATING +// status until the deployment is complete, then return to ACTIVE . +// +// You can have only one update deployment active at a time for a fleet. If a +// second update request initiates a deployment while another deployment is in +// progress, the first deployment is cancelled. +func (c *Client) UpdateContainerFleet(ctx context.Context, params *UpdateContainerFleetInput, optFns ...func(*Options)) (*UpdateContainerFleetOutput, error) { + if params == nil { + params = &UpdateContainerFleetInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "UpdateContainerFleet", params, optFns, c.addOperationUpdateContainerFleetMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*UpdateContainerFleetOutput) + out.ResultMetadata = metadata + return out, nil +} + +type UpdateContainerFleetInput struct { + + // A unique identifier for the container fleet to update. You can use either the + // fleet ID or ARN value. + // + // This member is required. + FleetId *string + + // Instructions for how to deploy updates to a container fleet, if the fleet + // update initiates a deployment. The deployment configuration lets you determine + // how to replace fleet instances and what actions to take if the deployment fails. + DeploymentConfiguration *types.DeploymentConfiguration + + // A meaningful description of the container fleet. + Description *string + + // The name or ARN value of a new game server container group definition to deploy + // on the fleet. If you're updating the fleet to a specific version of a container + // group definition, use the ARN value and include the version number. If you're + // updating the fleet to the latest version of a container group definition, you + // can use the name value. You can't remove a fleet's game server container group + // definition, you can only update or replace it with another definition. + // + // Update a container group definition by calling UpdateContainerGroupDefinition. This operation creates a ContainerGroupDefinition + // resource with an incremented version. + GameServerContainerGroupDefinitionName *string + + // The number of times to replicate the game server container group on each fleet + // instance. By default, Amazon GameLift calculates the maximum number of game + // server container groups that can fit on each instance. You can remove this + // property value to use the calculated value, or set it manually. If you set this + // number manually, Amazon GameLift uses your value as long as it's less than the + // calculated maximum. + GameServerContainerGroupsPerInstance *int32 + + // A policy that limits the number of game sessions that each individual player + // can create on instances in this fleet. The limit applies for a specified span of + // time. + GameSessionCreationLimitPolicy *types.GameSessionCreationLimitPolicy + + // A revised set of port numbers to open on each fleet instance. By default, + // Amazon GameLift calculates an optimal port range based on your fleet + // configuration. If you previously set this parameter manually, you can't reset + // this to use the calculated settings. + InstanceConnectionPortRange *types.ConnectionPortRange + + // A set of ports to add to the container fleet's inbound permissions. + InstanceInboundPermissionAuthorizations []types.IpPermission + + // A set of ports to remove from the container fleet's inbound permissions. + InstanceInboundPermissionRevocations []types.IpPermission + + // The method for collecting container logs for the fleet. + LogConfiguration *types.LogConfiguration + + // The name of an Amazon Web Services CloudWatch metric group to add this fleet + // to. + MetricGroups []string + + // The game session protection policy to apply to all new game sessions that are + // started in this fleet. Game sessions that already exist are not affected. + NewGameSessionProtectionPolicy types.ProtectionPolicy + + // The name or ARN value of a new per-instance container group definition to + // deploy on the fleet. If you're updating the fleet to a specific version of a + // container group definition, use the ARN value and include the version number. If + // you're updating the fleet to the latest version of a container group definition, + // you can use the name value. + // + // Update a container group definition by calling UpdateContainerGroupDefinition. This operation creates a ContainerGroupDefinition + // resource with an incremented version. + // + // To remove a fleet's per-instance container group definition, leave this + // parameter empty and use the parameter RemoveAttributes . + PerInstanceContainerGroupDefinitionName *string + + // If set, this update removes a fleet's per-instance container group definition. + // You can't remove a fleet's game server container group definition. + RemoveAttributes []types.ContainerFleetRemoveAttribute + + noSmithyDocumentSerde +} + +type UpdateContainerFleetOutput struct { + + // A collection of container fleet objects for all fleets that match the request + // criteria. + ContainerFleet *types.ContainerFleet + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationUpdateContainerFleetMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsAwsjson11_serializeOpUpdateContainerFleet{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUpdateContainerFleet{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "UpdateContainerFleet"); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + + if err = addlegacyEndpointContextSetter(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addSpanRetryLoop(stack, options); err != nil { + return err + } + if err = addClientUserAgent(stack, options); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = addOpUpdateContainerFleetValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateContainerFleet(options.Region), middleware.Before); err != nil { + return err + } + if err = addRecursionDetection(stack); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + if err = addDisableHTTPSMiddleware(stack, options); err != nil { + return err + } + if err = addSpanInitializeStart(stack); err != nil { + return err + } + if err = addSpanInitializeEnd(stack); err != nil { + return err + } + if err = addSpanBuildRequestStart(stack); err != nil { + return err + } + if err = addSpanBuildRequestEnd(stack); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opUpdateContainerFleet(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "UpdateContainerFleet", + } +} diff --git a/service/gamelift/api_op_UpdateContainerGroupDefinition.go b/service/gamelift/api_op_UpdateContainerGroupDefinition.go new file mode 100644 index 00000000000..0f281e66daa --- /dev/null +++ b/service/gamelift/api_op_UpdateContainerGroupDefinition.go @@ -0,0 +1,237 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package gamelift + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/gamelift/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Updates properties in an existing container group definition. This operation +// doesn't replace the definition. Instead, it creates a new version of the +// definition and saves it separately. You can access all versions that you choose +// to retain. +// +// The only property you can't update is the container group type. +// +// Request options: +// +// - Update based on the latest version of the container group definition. +// Specify the container group definition name only, or use an ARN value without a +// version number. Provide updated values for the properties that you want to +// change only. All other values remain the same as the latest version. +// +// - Update based on a specific version of the container group definition. +// Specify the container group definition name and a source version number, or use +// an ARN value with a version number. Provide updated values for the properties +// that you want to change only. All other values remain the same as the source +// version. +// +// - Change a game server container definition. Provide the updated container +// definition. +// +// - Add or change a support container definition. Provide a complete set of +// container definitions, including the updated definition. +// +// - Remove a support container definition. Provide a complete set of container +// definitions, excluding the definition to remove. If the container group has only +// one support container definition, provide an empty set. +// +// Results: +// +// If successful, this operation returns the complete properties of the new +// container group definition version. +// +// If the container group definition version is used in an active fleets, the +// update automatically initiates a new fleet deployment of the new version. You +// can track a fleet's deployments using ListFleetDeployments. +func (c *Client) UpdateContainerGroupDefinition(ctx context.Context, params *UpdateContainerGroupDefinitionInput, optFns ...func(*Options)) (*UpdateContainerGroupDefinitionOutput, error) { + if params == nil { + params = &UpdateContainerGroupDefinitionInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "UpdateContainerGroupDefinition", params, optFns, c.addOperationUpdateContainerGroupDefinitionMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*UpdateContainerGroupDefinitionOutput) + out.ResultMetadata = metadata + return out, nil +} + +type UpdateContainerGroupDefinitionInput struct { + + // A descriptive identifier for the container group definition. The name value + // must be unique in an Amazon Web Services Region. + // + // This member is required. + Name *string + + // An updated definition for the game server container in this group. Define a + // game server container only when the container group type is GAME_SERVER . You + // can pass in your container definitions as a JSON file. + GameServerContainerDefinition *types.GameServerContainerDefinitionInput + + // The platform that all containers in the group use. Containers in a group must + // run on the same operating system. + // + // Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See more details + // in the [Amazon Linux 2 FAQs]. For game servers that are hosted on AL2 and use Amazon GameLift server + // SDK 4.x, first update the game server build to server SDK 5.x, and then deploy + // to AL2023 instances. See [Migrate to Amazon GameLift server SDK version 5.] + // + // [Amazon Linux 2 FAQs]: https://aws.amazon.com/amazon-linux-2/faqs/ + // [Migrate to Amazon GameLift server SDK version 5.]: https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk5-migration.html + OperatingSystem types.ContainerOperatingSystem + + // The container group definition version to update. The new version starts with + // values from the source version, and then updates values included in this + // request. + SourceVersionNumber *int32 + + // One or more definitions for support containers in this group. You can define a + // support container in any type of container group. You can pass in your container + // definitions as a JSON file. + SupportContainerDefinitions []types.SupportContainerDefinitionInput + + // The maximum amount of memory (in MiB) to allocate to the container group. All + // containers in the group share this memory. If you specify memory limits for an + // individual container, the total value must be greater than any individual + // container's memory limit. + TotalMemoryLimitMebibytes *int32 + + // The maximum amount of vCPU units to allocate to the container group (1 vCPU is + // equal to 1024 CPU units). All containers in the group share this memory. If you + // specify vCPU limits for individual containers, the total value must be equal to + // or greater than the sum of the CPU limits for all containers in the group. + TotalVcpuLimit *float64 + + // A description for this update to the container group definition. + VersionDescription *string + + noSmithyDocumentSerde +} + +type UpdateContainerGroupDefinitionOutput struct { + + // The properties of the updated container group definition version. + ContainerGroupDefinition *types.ContainerGroupDefinition + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationUpdateContainerGroupDefinitionMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsAwsjson11_serializeOpUpdateContainerGroupDefinition{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUpdateContainerGroupDefinition{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "UpdateContainerGroupDefinition"); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + + if err = addlegacyEndpointContextSetter(stack, options); err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addSpanRetryLoop(stack, options); err != nil { + return err + } + if err = addClientUserAgent(stack, options); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = addOpUpdateContainerGroupDefinitionValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateContainerGroupDefinition(options.Region), middleware.Before); err != nil { + return err + } + if err = addRecursionDetection(stack); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + if err = addDisableHTTPSMiddleware(stack, options); err != nil { + return err + } + if err = addSpanInitializeStart(stack); err != nil { + return err + } + if err = addSpanInitializeEnd(stack); err != nil { + return err + } + if err = addSpanBuildRequestStart(stack); err != nil { + return err + } + if err = addSpanBuildRequestEnd(stack); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opUpdateContainerGroupDefinition(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "UpdateContainerGroupDefinition", + } +} diff --git a/service/gamelift/api_op_UpdateFleetCapacity.go b/service/gamelift/api_op_UpdateFleetCapacity.go index c6f5994f504..6a8394dd9a5 100644 --- a/service/gamelift/api_op_UpdateFleetCapacity.go +++ b/service/gamelift/api_op_UpdateFleetCapacity.go @@ -10,15 +10,12 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation has been expanded to use with the Amazon GameLift containers -// -// feature, which is currently in public preview. -// -// Updates capacity settings for a managed EC2 fleet or container fleet. For these -// fleets, you adjust capacity by changing the number of instances in the fleet. -// Fleet capacity determines the number of game sessions and players that the fleet -// can host based on its configuration. For fleets with multiple locations, use -// this operation to manage capacity settings in each location individually. +// Updates capacity settings for a managed EC2 fleet or managed container fleet. +// For these fleets, you adjust capacity by changing the number of instances in the +// fleet. Fleet capacity determines the number of game sessions and players that +// the fleet can host based on its configuration. For fleets with multiple +// locations, use this operation to manage capacity settings in each location +// individually. // // Use this operation to set these fleet capacity properties: // diff --git a/service/gamelift/api_op_UpdateGameSessionQueue.go b/service/gamelift/api_op_UpdateGameSessionQueue.go index 6513887c8b0..b6093cb2e7f 100644 --- a/service/gamelift/api_op_UpdateGameSessionQueue.go +++ b/service/gamelift/api_op_UpdateGameSessionQueue.go @@ -67,13 +67,11 @@ type UpdateGameSessionQueueInput struct { // [Setting up notifications for game session placement]: https://docs.aws.amazon.com/gamelift/latest/developerguide/queue-notification.html NotificationTarget *string - // A set of policies that act as a sliding cap on player latency. FleetIQ works to - // deliver low latency for most players in a game session. These policies ensure - // that no individual player can be placed into a game with unreasonably high - // latency. Use multiple policies to gradually relax latency requirements a step at - // a time. Multiple policies are applied based on their maximum allowed latency, - // starting with the lowest value. When updating policies, provide a complete - // collection of policies. + // A set of policies that enforce a sliding cap on player latency when processing + // game sessions placement requests. Use multiple policies to gradually relax the + // cap over time if Amazon GameLift can't make a placement. Policies are evaluated + // in order starting with the lowest maximum latency value. When updating policies, + // provide a complete collection of policies. PlayerLatencyPolicies []types.PlayerLatencyPolicy // Custom settings to use when prioritizing destinations and locations for game @@ -85,7 +83,7 @@ type UpdateGameSessionQueueInput struct { // The maximum time, in seconds, that a new game session placement request remains // in the queue. When a request exceeds this time, the game session placement - // changes to a TIMED_OUT status. By default, this property is set to 600 . + // changes to a TIMED_OUT status. TimeoutInSeconds *int32 noSmithyDocumentSerde diff --git a/service/gamelift/api_op_UpdateMatchmakingConfiguration.go b/service/gamelift/api_op_UpdateMatchmakingConfiguration.go index cf397e342d9..3c505609d8d 100644 --- a/service/gamelift/api_op_UpdateMatchmakingConfiguration.go +++ b/service/gamelift/api_op_UpdateMatchmakingConfiguration.go @@ -56,9 +56,9 @@ type UpdateMatchmakingConfigurationInput struct { // The number of player slots in a match to keep open for future players. For // example, if the configuration's rule set specifies a match for a single - // 10-person team, and the additional player count is set to 2, 10 players will be - // selected for the match and 2 more player slots will be open for future players. - // This parameter is not used if FlexMatchMode is set to STANDALONE . + // 12-person team, and the additional player count is set to 2, only 10 players are + // selected for the match. This parameter is not used if FlexMatchMode is set to + // STANDALONE . AdditionalPlayerCount *int32 // The method that is used to backfill game sessions created with this matchmaking @@ -97,11 +97,11 @@ type UpdateMatchmakingConfigurationInput struct { // A set of custom game session properties, formatted as a single string value. // This data is passed to a game server process with a request to start a new game - // session (see [Start a Game Session]). This information is added to the game session that is created - // for a successful match. This parameter is not used if FlexMatchMode is set to - // STANDALONE . + // session. For more information, see [Start a game session]. This information is added to the game + // session that is created for a successful match. This parameter is not used if + // FlexMatchMode is set to STANDALONE . // - // [Start a Game Session]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession + // [Start a game session]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession GameSessionData *string // The Amazon Resource Name ([ARN] ) that is assigned to a Amazon GameLift game session diff --git a/service/gamelift/api_op_UpdateRuntimeConfiguration.go b/service/gamelift/api_op_UpdateRuntimeConfiguration.go index 92c14e852e6..4f2a95306b6 100644 --- a/service/gamelift/api_op_UpdateRuntimeConfiguration.go +++ b/service/gamelift/api_op_UpdateRuntimeConfiguration.go @@ -13,9 +13,7 @@ import ( // Updates the runtime configuration for the specified fleet. The runtime // configuration tells Amazon GameLift how to launch server processes on computes -// in the fleet. For managed EC2 fleets, it determines what server processes to run -// on each fleet instance. For container fleets, it describes what server processes -// to run in each replica container group. You can update a fleet's runtime +// in managed EC2 and Anywhere fleets. You can update a fleet's runtime // configuration at any time after the fleet is created; it does not need to be in // ACTIVE status. // diff --git a/service/gamelift/api_op_UpdateScript.go b/service/gamelift/api_op_UpdateScript.go index 4cac631db3b..4cc893916c7 100644 --- a/service/gamelift/api_op_UpdateScript.go +++ b/service/gamelift/api_op_UpdateScript.go @@ -59,7 +59,7 @@ type UpdateScriptInput struct { // This member is required. ScriptId *string - // A descriptive label that is associated with a script. Script names don't need + // A descriptive label that is associated with a script. Script names do not need // to be unique. Name *string @@ -73,8 +73,8 @@ type UpdateScriptInput struct { // version. StorageLocation *types.S3Location - // Version information associated with a build or script. Version strings don't - // need to be unique. + // Version information that is associated with a build or script. Version strings + // do not need to be unique. Version *string // A data object containing your Realtime scripts and dependencies as a zip file. diff --git a/service/gamelift/deserializers.go b/service/gamelift/deserializers.go index f6255fa4b20..c9d420ebc95 100644 --- a/service/gamelift/deserializers.go +++ b/service/gamelift/deserializers.go @@ -526,6 +526,135 @@ func awsAwsjson11_deserializeOpErrorCreateBuild(response *smithyhttp.Response, m } } +type awsAwsjson11_deserializeOpCreateContainerFleet struct { +} + +func (*awsAwsjson11_deserializeOpCreateContainerFleet) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpCreateContainerFleet) 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 + } + + _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() + defer span.End() + 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_deserializeOpErrorCreateContainerFleet(response, &metadata) + } + output := &CreateContainerFleetOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentCreateContainerFleetOutput(&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 out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorCreateContainerFleet(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + headerCode := response.Header.Get("X-Amzn-ErrorType") + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + bodyInfo, err := getProtocolErrorInfo(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 typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { + errorCode = restjson.SanitizeErrorCode(typ) + } + if len(bodyInfo.Message) != 0 { + errorMessage = bodyInfo.Message + } + switch { + case strings.EqualFold("ConflictException", errorCode): + return awsAwsjson11_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalServiceException", errorCode): + return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + + case strings.EqualFold("TaggingFailedException", errorCode): + return awsAwsjson11_deserializeErrorTaggingFailedException(response, errorBody) + + case strings.EqualFold("UnauthorizedException", errorCode): + return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsjson11_deserializeOpCreateContainerGroupDefinition struct { } @@ -2513,14 +2642,14 @@ func awsAwsjson11_deserializeOpErrorDeleteBuild(response *smithyhttp.Response, m } } -type awsAwsjson11_deserializeOpDeleteContainerGroupDefinition struct { +type awsAwsjson11_deserializeOpDeleteContainerFleet struct { } -func (*awsAwsjson11_deserializeOpDeleteContainerGroupDefinition) ID() string { +func (*awsAwsjson11_deserializeOpDeleteContainerFleet) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDeleteContainerGroupDefinition) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDeleteContainerFleet) 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) @@ -2538,21 +2667,43 @@ func (m *awsAwsjson11_deserializeOpDeleteContainerGroupDefinition) HandleDeseria } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteContainerGroupDefinition(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDeleteContainerFleet(response, &metadata) } - output := &DeleteContainerGroupDefinitionOutput{} + output := &DeleteContainerFleetOutput{} out.Result = output - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { - return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentDeleteContainerFleetOutput(&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 out, metadata, err } return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDeleteContainerGroupDefinition(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDeleteContainerFleet(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)} @@ -2617,14 +2768,14 @@ func awsAwsjson11_deserializeOpErrorDeleteContainerGroupDefinition(response *smi } } -type awsAwsjson11_deserializeOpDeleteFleet struct { +type awsAwsjson11_deserializeOpDeleteContainerGroupDefinition struct { } -func (*awsAwsjson11_deserializeOpDeleteFleet) ID() string { +func (*awsAwsjson11_deserializeOpDeleteContainerGroupDefinition) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDeleteFleet) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDeleteContainerGroupDefinition) 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) @@ -2642,21 +2793,43 @@ func (m *awsAwsjson11_deserializeOpDeleteFleet) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteFleet(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDeleteContainerGroupDefinition(response, &metadata) } - output := &DeleteFleetOutput{} + output := &DeleteContainerGroupDefinitionOutput{} out.Result = output - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { - return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentDeleteContainerGroupDefinitionOutput(&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 out, metadata, err } return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDeleteFleet(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDeleteContainerGroupDefinition(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)} @@ -2696,9 +2869,6 @@ func awsAwsjson11_deserializeOpErrorDeleteFleet(response *smithyhttp.Response, m case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) - case strings.EqualFold("InvalidFleetStatusException", errorCode): - return awsAwsjson11_deserializeErrorInvalidFleetStatusException(response, errorBody) - case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) @@ -2711,6 +2881,9 @@ func awsAwsjson11_deserializeOpErrorDeleteFleet(response *smithyhttp.Response, m case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -2721,14 +2894,14 @@ func awsAwsjson11_deserializeOpErrorDeleteFleet(response *smithyhttp.Response, m } } -type awsAwsjson11_deserializeOpDeleteFleetLocations struct { +type awsAwsjson11_deserializeOpDeleteFleet struct { } -func (*awsAwsjson11_deserializeOpDeleteFleetLocations) ID() string { +func (*awsAwsjson11_deserializeOpDeleteFleet) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDeleteFleetLocations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDeleteFleet) 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) @@ -2746,43 +2919,21 @@ func (m *awsAwsjson11_deserializeOpDeleteFleetLocations) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteFleetLocations(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDeleteFleet(response, &metadata) } - output := &DeleteFleetLocationsOutput{} + output := &DeleteFleetOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDeleteFleetLocationsOutput(&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 = io.Copy(ioutil.Discard, response.Body); err != nil { + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to discard response body, %w", err), } - return out, metadata, err } return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDeleteFleetLocations(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDeleteFleet(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)} @@ -2822,18 +2973,21 @@ func awsAwsjson11_deserializeOpErrorDeleteFleetLocations(response *smithyhttp.Re case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) + case strings.EqualFold("InvalidFleetStatusException", errorCode): + return awsAwsjson11_deserializeErrorInvalidFleetStatusException(response, errorBody) + case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + case strings.EqualFold("TaggingFailedException", errorCode): + return awsAwsjson11_deserializeErrorTaggingFailedException(response, errorBody) + case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) - case strings.EqualFold("UnsupportedRegionException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -2844,14 +2998,14 @@ func awsAwsjson11_deserializeOpErrorDeleteFleetLocations(response *smithyhttp.Re } } -type awsAwsjson11_deserializeOpDeleteGameServerGroup struct { +type awsAwsjson11_deserializeOpDeleteFleetLocations struct { } -func (*awsAwsjson11_deserializeOpDeleteGameServerGroup) ID() string { +func (*awsAwsjson11_deserializeOpDeleteFleetLocations) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDeleteGameServerGroup) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDeleteFleetLocations) 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) @@ -2869,7 +3023,130 @@ func (m *awsAwsjson11_deserializeOpDeleteGameServerGroup) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteGameServerGroup(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDeleteFleetLocations(response, &metadata) + } + output := &DeleteFleetLocationsOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentDeleteFleetLocationsOutput(&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 out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorDeleteFleetLocations(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + headerCode := response.Header.Get("X-Amzn-ErrorType") + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + bodyInfo, err := getProtocolErrorInfo(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 typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { + errorCode = restjson.SanitizeErrorCode(typ) + } + if len(bodyInfo.Message) != 0 { + errorMessage = bodyInfo.Message + } + switch { + case strings.EqualFold("InternalServiceException", errorCode): + return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("NotFoundException", errorCode): + return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + + case strings.EqualFold("UnauthorizedException", errorCode): + return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsjson11_deserializeOpDeleteGameServerGroup struct { +} + +func (*awsAwsjson11_deserializeOpDeleteGameServerGroup) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpDeleteGameServerGroup) 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 + } + + _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() + defer span.End() + 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_deserializeOpErrorDeleteGameServerGroup(response, &metadata) } output := &DeleteGameServerGroupOutput{} out.Result = output @@ -3541,6 +3818,9 @@ func awsAwsjson11_deserializeOpErrorDeleteScalingPolicy(response *smithyhttp.Res case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -4460,6 +4740,9 @@ func awsAwsjson11_deserializeOpErrorDescribeCompute(response *smithyhttp.Respons case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -4470,14 +4753,14 @@ func awsAwsjson11_deserializeOpErrorDescribeCompute(response *smithyhttp.Respons } } -type awsAwsjson11_deserializeOpDescribeContainerGroupDefinition struct { +type awsAwsjson11_deserializeOpDescribeContainerFleet struct { } -func (*awsAwsjson11_deserializeOpDescribeContainerGroupDefinition) ID() string { +func (*awsAwsjson11_deserializeOpDescribeContainerFleet) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDescribeContainerGroupDefinition) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDescribeContainerFleet) 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) @@ -4495,9 +4778,9 @@ func (m *awsAwsjson11_deserializeOpDescribeContainerGroupDefinition) HandleDeser } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeContainerGroupDefinition(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeContainerFleet(response, &metadata) } - output := &DescribeContainerGroupDefinitionOutput{} + output := &DescribeContainerFleetOutput{} out.Result = output var buff [1024]byte @@ -4517,7 +4800,7 @@ func (m *awsAwsjson11_deserializeOpDescribeContainerGroupDefinition) HandleDeser return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDescribeContainerGroupDefinitionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDescribeContainerFleetOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4531,7 +4814,7 @@ func (m *awsAwsjson11_deserializeOpDescribeContainerGroupDefinition) HandleDeser return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDescribeContainerGroupDefinition(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDescribeContainerFleet(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)} @@ -4593,14 +4876,14 @@ func awsAwsjson11_deserializeOpErrorDescribeContainerGroupDefinition(response *s } } -type awsAwsjson11_deserializeOpDescribeEC2InstanceLimits struct { +type awsAwsjson11_deserializeOpDescribeContainerGroupDefinition struct { } -func (*awsAwsjson11_deserializeOpDescribeEC2InstanceLimits) ID() string { +func (*awsAwsjson11_deserializeOpDescribeContainerGroupDefinition) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDescribeEC2InstanceLimits) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDescribeContainerGroupDefinition) 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) @@ -4618,9 +4901,9 @@ func (m *awsAwsjson11_deserializeOpDescribeEC2InstanceLimits) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeEC2InstanceLimits(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeContainerGroupDefinition(response, &metadata) } - output := &DescribeEC2InstanceLimitsOutput{} + output := &DescribeContainerGroupDefinitionOutput{} out.Result = output var buff [1024]byte @@ -4640,7 +4923,7 @@ func (m *awsAwsjson11_deserializeOpDescribeEC2InstanceLimits) HandleDeserialize( return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDescribeEC2InstanceLimitsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDescribeContainerGroupDefinitionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4654,7 +4937,7 @@ func (m *awsAwsjson11_deserializeOpDescribeEC2InstanceLimits) HandleDeserialize( return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDescribeEC2InstanceLimits(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDescribeContainerGroupDefinition(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)} @@ -4697,6 +4980,9 @@ func awsAwsjson11_deserializeOpErrorDescribeEC2InstanceLimits(response *smithyht case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + case strings.EqualFold("NotFoundException", errorCode): + return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) @@ -4713,14 +4999,14 @@ func awsAwsjson11_deserializeOpErrorDescribeEC2InstanceLimits(response *smithyht } } -type awsAwsjson11_deserializeOpDescribeFleetAttributes struct { +type awsAwsjson11_deserializeOpDescribeEC2InstanceLimits struct { } -func (*awsAwsjson11_deserializeOpDescribeFleetAttributes) ID() string { +func (*awsAwsjson11_deserializeOpDescribeEC2InstanceLimits) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDescribeFleetAttributes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDescribeEC2InstanceLimits) 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) @@ -4738,9 +5024,9 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetAttributes) HandleDeserialize(ct } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeFleetAttributes(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeEC2InstanceLimits(response, &metadata) } - output := &DescribeFleetAttributesOutput{} + output := &DescribeEC2InstanceLimitsOutput{} out.Result = output var buff [1024]byte @@ -4760,7 +5046,7 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetAttributes) HandleDeserialize(ct return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDescribeFleetAttributesOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDescribeEC2InstanceLimitsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4774,7 +5060,7 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetAttributes) HandleDeserialize(ct return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDescribeFleetAttributes(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDescribeEC2InstanceLimits(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)} @@ -4817,12 +5103,12 @@ func awsAwsjson11_deserializeOpErrorDescribeFleetAttributes(response *smithyhttp case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("NotFoundException", errorCode): - return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) - case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -4833,14 +5119,14 @@ func awsAwsjson11_deserializeOpErrorDescribeFleetAttributes(response *smithyhttp } } -type awsAwsjson11_deserializeOpDescribeFleetCapacity struct { +type awsAwsjson11_deserializeOpDescribeFleetAttributes struct { } -func (*awsAwsjson11_deserializeOpDescribeFleetCapacity) ID() string { +func (*awsAwsjson11_deserializeOpDescribeFleetAttributes) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDescribeFleetCapacity) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDescribeFleetAttributes) 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) @@ -4858,9 +5144,9 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetCapacity) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeFleetCapacity(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeFleetAttributes(response, &metadata) } - output := &DescribeFleetCapacityOutput{} + output := &DescribeFleetAttributesOutput{} out.Result = output var buff [1024]byte @@ -4880,7 +5166,7 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetCapacity) HandleDeserialize(ctx return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDescribeFleetCapacityOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDescribeFleetAttributesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4894,7 +5180,7 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetCapacity) HandleDeserialize(ctx return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDescribeFleetCapacity(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDescribeFleetAttributes(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)} @@ -4953,14 +5239,14 @@ func awsAwsjson11_deserializeOpErrorDescribeFleetCapacity(response *smithyhttp.R } } -type awsAwsjson11_deserializeOpDescribeFleetEvents struct { +type awsAwsjson11_deserializeOpDescribeFleetCapacity struct { } -func (*awsAwsjson11_deserializeOpDescribeFleetEvents) ID() string { +func (*awsAwsjson11_deserializeOpDescribeFleetCapacity) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDescribeFleetEvents) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDescribeFleetCapacity) 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) @@ -4978,9 +5264,9 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetEvents) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeFleetEvents(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeFleetCapacity(response, &metadata) } - output := &DescribeFleetEventsOutput{} + output := &DescribeFleetCapacityOutput{} out.Result = output var buff [1024]byte @@ -5000,7 +5286,7 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetEvents) HandleDeserialize(ctx co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDescribeFleetEventsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDescribeFleetCapacityOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5014,7 +5300,7 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetEvents) HandleDeserialize(ctx co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDescribeFleetEvents(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDescribeFleetCapacity(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)} @@ -5063,6 +5349,9 @@ func awsAwsjson11_deserializeOpErrorDescribeFleetEvents(response *smithyhttp.Res case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -5073,14 +5362,14 @@ func awsAwsjson11_deserializeOpErrorDescribeFleetEvents(response *smithyhttp.Res } } -type awsAwsjson11_deserializeOpDescribeFleetLocationAttributes struct { +type awsAwsjson11_deserializeOpDescribeFleetDeployment struct { } -func (*awsAwsjson11_deserializeOpDescribeFleetLocationAttributes) ID() string { +func (*awsAwsjson11_deserializeOpDescribeFleetDeployment) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDescribeFleetLocationAttributes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDescribeFleetDeployment) 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) @@ -5098,9 +5387,9 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetLocationAttributes) HandleDeseri } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeFleetLocationAttributes(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeFleetDeployment(response, &metadata) } - output := &DescribeFleetLocationAttributesOutput{} + output := &DescribeFleetDeploymentOutput{} out.Result = output var buff [1024]byte @@ -5120,7 +5409,7 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetLocationAttributes) HandleDeseri return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDescribeFleetLocationAttributesOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDescribeFleetDeploymentOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5134,7 +5423,7 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetLocationAttributes) HandleDeseri return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDescribeFleetLocationAttributes(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDescribeFleetDeployment(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)} @@ -5196,14 +5485,14 @@ func awsAwsjson11_deserializeOpErrorDescribeFleetLocationAttributes(response *sm } } -type awsAwsjson11_deserializeOpDescribeFleetLocationCapacity struct { +type awsAwsjson11_deserializeOpDescribeFleetEvents struct { } -func (*awsAwsjson11_deserializeOpDescribeFleetLocationCapacity) ID() string { +func (*awsAwsjson11_deserializeOpDescribeFleetEvents) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDescribeFleetLocationCapacity) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDescribeFleetEvents) 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) @@ -5221,9 +5510,9 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetLocationCapacity) HandleDeserial } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeFleetLocationCapacity(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeFleetEvents(response, &metadata) } - output := &DescribeFleetLocationCapacityOutput{} + output := &DescribeFleetEventsOutput{} out.Result = output var buff [1024]byte @@ -5243,7 +5532,7 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetLocationCapacity) HandleDeserial return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDescribeFleetLocationCapacityOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDescribeFleetEventsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5257,7 +5546,7 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetLocationCapacity) HandleDeserial return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDescribeFleetLocationCapacity(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDescribeFleetEvents(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)} @@ -5319,14 +5608,14 @@ func awsAwsjson11_deserializeOpErrorDescribeFleetLocationCapacity(response *smit } } -type awsAwsjson11_deserializeOpDescribeFleetLocationUtilization struct { +type awsAwsjson11_deserializeOpDescribeFleetLocationAttributes struct { } -func (*awsAwsjson11_deserializeOpDescribeFleetLocationUtilization) ID() string { +func (*awsAwsjson11_deserializeOpDescribeFleetLocationAttributes) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDescribeFleetLocationUtilization) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDescribeFleetLocationAttributes) 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) @@ -5344,9 +5633,9 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetLocationUtilization) HandleDeser } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeFleetLocationUtilization(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeFleetLocationAttributes(response, &metadata) } - output := &DescribeFleetLocationUtilizationOutput{} + output := &DescribeFleetLocationAttributesOutput{} out.Result = output var buff [1024]byte @@ -5366,7 +5655,7 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetLocationUtilization) HandleDeser return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDescribeFleetLocationUtilizationOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDescribeFleetLocationAttributesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5380,7 +5669,7 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetLocationUtilization) HandleDeser return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDescribeFleetLocationUtilization(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDescribeFleetLocationAttributes(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)} @@ -5442,14 +5731,14 @@ func awsAwsjson11_deserializeOpErrorDescribeFleetLocationUtilization(response *s } } -type awsAwsjson11_deserializeOpDescribeFleetPortSettings struct { +type awsAwsjson11_deserializeOpDescribeFleetLocationCapacity struct { } -func (*awsAwsjson11_deserializeOpDescribeFleetPortSettings) ID() string { +func (*awsAwsjson11_deserializeOpDescribeFleetLocationCapacity) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDescribeFleetPortSettings) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDescribeFleetLocationCapacity) 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) @@ -5467,9 +5756,9 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetPortSettings) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeFleetPortSettings(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeFleetLocationCapacity(response, &metadata) } - output := &DescribeFleetPortSettingsOutput{} + output := &DescribeFleetLocationCapacityOutput{} out.Result = output var buff [1024]byte @@ -5489,7 +5778,7 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetPortSettings) HandleDeserialize( return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDescribeFleetPortSettingsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDescribeFleetLocationCapacityOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5503,7 +5792,7 @@ func (m *awsAwsjson11_deserializeOpDescribeFleetPortSettings) HandleDeserialize( return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDescribeFleetPortSettings(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDescribeFleetLocationCapacity(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)} @@ -5565,7 +5854,253 @@ func awsAwsjson11_deserializeOpErrorDescribeFleetPortSettings(response *smithyht } } -type awsAwsjson11_deserializeOpDescribeFleetUtilization struct { +type awsAwsjson11_deserializeOpDescribeFleetLocationUtilization struct { +} + +func (*awsAwsjson11_deserializeOpDescribeFleetLocationUtilization) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpDescribeFleetLocationUtilization) 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 + } + + _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() + defer span.End() + 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_deserializeOpErrorDescribeFleetLocationUtilization(response, &metadata) + } + output := &DescribeFleetLocationUtilizationOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentDescribeFleetLocationUtilizationOutput(&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 out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorDescribeFleetLocationUtilization(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + headerCode := response.Header.Get("X-Amzn-ErrorType") + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + bodyInfo, err := getProtocolErrorInfo(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 typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { + errorCode = restjson.SanitizeErrorCode(typ) + } + if len(bodyInfo.Message) != 0 { + errorMessage = bodyInfo.Message + } + switch { + case strings.EqualFold("InternalServiceException", errorCode): + return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("NotFoundException", errorCode): + return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + + case strings.EqualFold("UnauthorizedException", errorCode): + return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsjson11_deserializeOpDescribeFleetPortSettings struct { +} + +func (*awsAwsjson11_deserializeOpDescribeFleetPortSettings) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpDescribeFleetPortSettings) 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 + } + + _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() + defer span.End() + 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_deserializeOpErrorDescribeFleetPortSettings(response, &metadata) + } + output := &DescribeFleetPortSettingsOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentDescribeFleetPortSettingsOutput(&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 out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorDescribeFleetPortSettings(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + headerCode := response.Header.Get("X-Amzn-ErrorType") + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + bodyInfo, err := getProtocolErrorInfo(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 typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { + errorCode = restjson.SanitizeErrorCode(typ) + } + if len(bodyInfo.Message) != 0 { + errorMessage = bodyInfo.Message + } + switch { + case strings.EqualFold("InternalServiceException", errorCode): + return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("NotFoundException", errorCode): + return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + + case strings.EqualFold("UnauthorizedException", errorCode): + return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsjson11_deserializeOpDescribeFleetUtilization struct { } func (*awsAwsjson11_deserializeOpDescribeFleetUtilization) ID() string { @@ -7844,6 +8379,9 @@ func awsAwsjson11_deserializeOpErrorGetComputeAccess(response *smithyhttp.Respon case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -7964,6 +8502,9 @@ func awsAwsjson11_deserializeOpErrorGetComputeAuthToken(response *smithyhttp.Res case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -8555,6 +9096,9 @@ func awsAwsjson11_deserializeOpErrorListCompute(response *smithyhttp.Response, m case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -8565,14 +9109,14 @@ func awsAwsjson11_deserializeOpErrorListCompute(response *smithyhttp.Response, m } } -type awsAwsjson11_deserializeOpListContainerGroupDefinitions struct { +type awsAwsjson11_deserializeOpListContainerFleets struct { } -func (*awsAwsjson11_deserializeOpListContainerGroupDefinitions) ID() string { +func (*awsAwsjson11_deserializeOpListContainerFleets) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListContainerGroupDefinitions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListContainerFleets) 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) @@ -8590,9 +9134,9 @@ func (m *awsAwsjson11_deserializeOpListContainerGroupDefinitions) HandleDeserial } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListContainerGroupDefinitions(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListContainerFleets(response, &metadata) } - output := &ListContainerGroupDefinitionsOutput{} + output := &ListContainerFleetsOutput{} out.Result = output var buff [1024]byte @@ -8612,7 +9156,7 @@ func (m *awsAwsjson11_deserializeOpListContainerGroupDefinitions) HandleDeserial return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListContainerGroupDefinitionsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListContainerFleetsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -8626,7 +9170,7 @@ func (m *awsAwsjson11_deserializeOpListContainerGroupDefinitions) HandleDeserial return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListContainerGroupDefinitions(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListContainerFleets(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)} @@ -8685,14 +9229,14 @@ func awsAwsjson11_deserializeOpErrorListContainerGroupDefinitions(response *smit } } -type awsAwsjson11_deserializeOpListFleets struct { +type awsAwsjson11_deserializeOpListContainerGroupDefinitions struct { } -func (*awsAwsjson11_deserializeOpListFleets) ID() string { +func (*awsAwsjson11_deserializeOpListContainerGroupDefinitions) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListFleets) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListContainerGroupDefinitions) 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) @@ -8710,9 +9254,9 @@ func (m *awsAwsjson11_deserializeOpListFleets) HandleDeserialize(ctx context.Con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListFleets(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListContainerGroupDefinitions(response, &metadata) } - output := &ListFleetsOutput{} + output := &ListContainerGroupDefinitionsOutput{} out.Result = output var buff [1024]byte @@ -8732,7 +9276,7 @@ func (m *awsAwsjson11_deserializeOpListFleets) HandleDeserialize(ctx context.Con return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListFleetsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListContainerGroupDefinitionsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -8746,7 +9290,7 @@ func (m *awsAwsjson11_deserializeOpListFleets) HandleDeserialize(ctx context.Con return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListFleets(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListContainerGroupDefinitions(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)} @@ -8789,12 +9333,12 @@ func awsAwsjson11_deserializeOpErrorListFleets(response *smithyhttp.Response, me case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("NotFoundException", errorCode): - return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) - case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -8805,14 +9349,14 @@ func awsAwsjson11_deserializeOpErrorListFleets(response *smithyhttp.Response, me } } -type awsAwsjson11_deserializeOpListGameServerGroups struct { +type awsAwsjson11_deserializeOpListContainerGroupDefinitionVersions struct { } -func (*awsAwsjson11_deserializeOpListGameServerGroups) ID() string { +func (*awsAwsjson11_deserializeOpListContainerGroupDefinitionVersions) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListGameServerGroups) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListContainerGroupDefinitionVersions) 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) @@ -8830,9 +9374,9 @@ func (m *awsAwsjson11_deserializeOpListGameServerGroups) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListGameServerGroups(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListContainerGroupDefinitionVersions(response, &metadata) } - output := &ListGameServerGroupsOutput{} + output := &ListContainerGroupDefinitionVersionsOutput{} out.Result = output var buff [1024]byte @@ -8852,7 +9396,7 @@ func (m *awsAwsjson11_deserializeOpListGameServerGroups) HandleDeserialize(ctx c return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListGameServerGroupsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListContainerGroupDefinitionVersionsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -8866,7 +9410,7 @@ func (m *awsAwsjson11_deserializeOpListGameServerGroups) HandleDeserialize(ctx c return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListGameServerGroups(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListContainerGroupDefinitionVersions(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)} @@ -8909,9 +9453,15 @@ func awsAwsjson11_deserializeOpErrorListGameServerGroups(response *smithyhttp.Re case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + case strings.EqualFold("NotFoundException", errorCode): + return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -8922,14 +9472,14 @@ func awsAwsjson11_deserializeOpErrorListGameServerGroups(response *smithyhttp.Re } } -type awsAwsjson11_deserializeOpListGameServers struct { +type awsAwsjson11_deserializeOpListFleetDeployments struct { } -func (*awsAwsjson11_deserializeOpListGameServers) ID() string { +func (*awsAwsjson11_deserializeOpListFleetDeployments) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListGameServers) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListFleetDeployments) 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) @@ -8947,9 +9497,9 @@ func (m *awsAwsjson11_deserializeOpListGameServers) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListGameServers(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListFleetDeployments(response, &metadata) } - output := &ListGameServersOutput{} + output := &ListFleetDeploymentsOutput{} out.Result = output var buff [1024]byte @@ -8969,7 +9519,7 @@ func (m *awsAwsjson11_deserializeOpListGameServers) HandleDeserialize(ctx contex return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListGameServersOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListFleetDeploymentsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -8983,7 +9533,7 @@ func (m *awsAwsjson11_deserializeOpListGameServers) HandleDeserialize(ctx contex return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListGameServers(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListFleetDeployments(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)} @@ -9026,9 +9576,15 @@ func awsAwsjson11_deserializeOpErrorListGameServers(response *smithyhttp.Respons case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + case strings.EqualFold("NotFoundException", errorCode): + return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -9039,14 +9595,14 @@ func awsAwsjson11_deserializeOpErrorListGameServers(response *smithyhttp.Respons } } -type awsAwsjson11_deserializeOpListLocations struct { +type awsAwsjson11_deserializeOpListFleets struct { } -func (*awsAwsjson11_deserializeOpListLocations) ID() string { +func (*awsAwsjson11_deserializeOpListFleets) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListLocations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListFleets) 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) @@ -9064,9 +9620,9 @@ func (m *awsAwsjson11_deserializeOpListLocations) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListLocations(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListFleets(response, &metadata) } - output := &ListLocationsOutput{} + output := &ListFleetsOutput{} out.Result = output var buff [1024]byte @@ -9086,7 +9642,7 @@ func (m *awsAwsjson11_deserializeOpListLocations) HandleDeserialize(ctx context. return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListLocationsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListFleetsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9100,7 +9656,7 @@ func (m *awsAwsjson11_deserializeOpListLocations) HandleDeserialize(ctx context. return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListLocations(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListFleets(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)} @@ -9143,6 +9699,9 @@ func awsAwsjson11_deserializeOpErrorListLocations(response *smithyhttp.Response, case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + case strings.EqualFold("NotFoundException", errorCode): + return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) @@ -9156,14 +9715,14 @@ func awsAwsjson11_deserializeOpErrorListLocations(response *smithyhttp.Response, } } -type awsAwsjson11_deserializeOpListScripts struct { +type awsAwsjson11_deserializeOpListGameServerGroups struct { } -func (*awsAwsjson11_deserializeOpListScripts) ID() string { +func (*awsAwsjson11_deserializeOpListGameServerGroups) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListScripts) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListGameServerGroups) 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) @@ -9181,9 +9740,9 @@ func (m *awsAwsjson11_deserializeOpListScripts) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListScripts(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListGameServerGroups(response, &metadata) } - output := &ListScriptsOutput{} + output := &ListGameServerGroupsOutput{} out.Result = output var buff [1024]byte @@ -9203,7 +9762,7 @@ func (m *awsAwsjson11_deserializeOpListScripts) HandleDeserialize(ctx context.Co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListScriptsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListGameServerGroupsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9217,7 +9776,7 @@ func (m *awsAwsjson11_deserializeOpListScripts) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListScripts(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListGameServerGroups(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)} @@ -9273,14 +9832,14 @@ func awsAwsjson11_deserializeOpErrorListScripts(response *smithyhttp.Response, m } } -type awsAwsjson11_deserializeOpListTagsForResource struct { +type awsAwsjson11_deserializeOpListGameServers struct { } -func (*awsAwsjson11_deserializeOpListTagsForResource) ID() string { +func (*awsAwsjson11_deserializeOpListGameServers) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListGameServers) 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) @@ -9298,9 +9857,9 @@ func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListTagsForResource(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListGameServers(response, &metadata) } - output := &ListTagsForResourceOutput{} + output := &ListGameServersOutput{} out.Result = output var buff [1024]byte @@ -9320,7 +9879,7 @@ func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListTagsForResourceOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListGameServersOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9334,7 +9893,7 @@ func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListGameServers(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)} @@ -9377,11 +9936,8 @@ func awsAwsjson11_deserializeOpErrorListTagsForResource(response *smithyhttp.Res case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("NotFoundException", errorCode): - return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) - - case strings.EqualFold("TaggingFailedException", errorCode): - return awsAwsjson11_deserializeErrorTaggingFailedException(response, errorBody) + case strings.EqualFold("UnauthorizedException", errorCode): + return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -9393,14 +9949,14 @@ func awsAwsjson11_deserializeOpErrorListTagsForResource(response *smithyhttp.Res } } -type awsAwsjson11_deserializeOpPutScalingPolicy struct { +type awsAwsjson11_deserializeOpListLocations struct { } -func (*awsAwsjson11_deserializeOpPutScalingPolicy) ID() string { +func (*awsAwsjson11_deserializeOpListLocations) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpPutScalingPolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListLocations) 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) @@ -9418,9 +9974,9 @@ func (m *awsAwsjson11_deserializeOpPutScalingPolicy) HandleDeserialize(ctx conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorPutScalingPolicy(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListLocations(response, &metadata) } - output := &PutScalingPolicyOutput{} + output := &ListLocationsOutput{} out.Result = output var buff [1024]byte @@ -9440,7 +9996,7 @@ func (m *awsAwsjson11_deserializeOpPutScalingPolicy) HandleDeserialize(ctx conte return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentPutScalingPolicyOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListLocationsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9454,7 +10010,7 @@ func (m *awsAwsjson11_deserializeOpPutScalingPolicy) HandleDeserialize(ctx conte return out, metadata, err } -func awsAwsjson11_deserializeOpErrorPutScalingPolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListLocations(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)} @@ -9497,9 +10053,6 @@ func awsAwsjson11_deserializeOpErrorPutScalingPolicy(response *smithyhttp.Respon case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("NotFoundException", errorCode): - return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) - case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) @@ -9513,14 +10066,14 @@ func awsAwsjson11_deserializeOpErrorPutScalingPolicy(response *smithyhttp.Respon } } -type awsAwsjson11_deserializeOpRegisterCompute struct { +type awsAwsjson11_deserializeOpListScripts struct { } -func (*awsAwsjson11_deserializeOpRegisterCompute) ID() string { +func (*awsAwsjson11_deserializeOpListScripts) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpRegisterCompute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListScripts) 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) @@ -9538,9 +10091,9 @@ func (m *awsAwsjson11_deserializeOpRegisterCompute) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorRegisterCompute(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListScripts(response, &metadata) } - output := &RegisterComputeOutput{} + output := &ListScriptsOutput{} out.Result = output var buff [1024]byte @@ -9560,7 +10113,7 @@ func (m *awsAwsjson11_deserializeOpRegisterCompute) HandleDeserialize(ctx contex return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentRegisterComputeOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListScriptsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9574,7 +10127,7 @@ func (m *awsAwsjson11_deserializeOpRegisterCompute) HandleDeserialize(ctx contex return out, metadata, err } -func awsAwsjson11_deserializeOpErrorRegisterCompute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListScripts(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)} @@ -9611,21 +10164,12 @@ func awsAwsjson11_deserializeOpErrorRegisterCompute(response *smithyhttp.Respons errorMessage = bodyInfo.Message } switch { - case strings.EqualFold("ConflictException", errorCode): - return awsAwsjson11_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("NotReadyException", errorCode): - return awsAwsjson11_deserializeErrorNotReadyException(response, errorBody) - case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) @@ -9639,14 +10183,14 @@ func awsAwsjson11_deserializeOpErrorRegisterCompute(response *smithyhttp.Respons } } -type awsAwsjson11_deserializeOpRegisterGameServer struct { +type awsAwsjson11_deserializeOpListTagsForResource struct { } -func (*awsAwsjson11_deserializeOpRegisterGameServer) ID() string { +func (*awsAwsjson11_deserializeOpListTagsForResource) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpRegisterGameServer) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListTagsForResource) 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) @@ -9664,9 +10208,9 @@ func (m *awsAwsjson11_deserializeOpRegisterGameServer) HandleDeserialize(ctx con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorRegisterGameServer(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListTagsForResource(response, &metadata) } - output := &RegisterGameServerOutput{} + output := &ListTagsForResourceOutput{} out.Result = output var buff [1024]byte @@ -9686,7 +10230,7 @@ func (m *awsAwsjson11_deserializeOpRegisterGameServer) HandleDeserialize(ctx con return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentRegisterGameServerOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListTagsForResourceOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9700,7 +10244,7 @@ func (m *awsAwsjson11_deserializeOpRegisterGameServer) HandleDeserialize(ctx con return out, metadata, err } -func awsAwsjson11_deserializeOpErrorRegisterGameServer(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListTagsForResource(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)} @@ -9737,20 +10281,20 @@ func awsAwsjson11_deserializeOpErrorRegisterGameServer(response *smithyhttp.Resp errorMessage = bodyInfo.Message } switch { - case strings.EqualFold("ConflictException", errorCode): - return awsAwsjson11_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + case strings.EqualFold("NotFoundException", errorCode): + return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) - case strings.EqualFold("UnauthorizedException", errorCode): - return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("TaggingFailedException", errorCode): + return awsAwsjson11_deserializeErrorTaggingFailedException(response, errorBody) + + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -9762,14 +10306,14 @@ func awsAwsjson11_deserializeOpErrorRegisterGameServer(response *smithyhttp.Resp } } -type awsAwsjson11_deserializeOpRequestUploadCredentials struct { +type awsAwsjson11_deserializeOpPutScalingPolicy struct { } -func (*awsAwsjson11_deserializeOpRequestUploadCredentials) ID() string { +func (*awsAwsjson11_deserializeOpPutScalingPolicy) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpRequestUploadCredentials) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpPutScalingPolicy) 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) @@ -9787,9 +10331,9 @@ func (m *awsAwsjson11_deserializeOpRequestUploadCredentials) HandleDeserialize(c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorRequestUploadCredentials(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorPutScalingPolicy(response, &metadata) } - output := &RequestUploadCredentialsOutput{} + output := &PutScalingPolicyOutput{} out.Result = output var buff [1024]byte @@ -9809,7 +10353,7 @@ func (m *awsAwsjson11_deserializeOpRequestUploadCredentials) HandleDeserialize(c return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentRequestUploadCredentialsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentPutScalingPolicyOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9823,7 +10367,7 @@ func (m *awsAwsjson11_deserializeOpRequestUploadCredentials) HandleDeserialize(c return out, metadata, err } -func awsAwsjson11_deserializeOpErrorRequestUploadCredentials(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorPutScalingPolicy(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)} @@ -9872,6 +10416,9 @@ func awsAwsjson11_deserializeOpErrorRequestUploadCredentials(response *smithyhtt case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -9882,14 +10429,14 @@ func awsAwsjson11_deserializeOpErrorRequestUploadCredentials(response *smithyhtt } } -type awsAwsjson11_deserializeOpResolveAlias struct { +type awsAwsjson11_deserializeOpRegisterCompute struct { } -func (*awsAwsjson11_deserializeOpResolveAlias) ID() string { +func (*awsAwsjson11_deserializeOpRegisterCompute) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpResolveAlias) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpRegisterCompute) 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) @@ -9907,9 +10454,9 @@ func (m *awsAwsjson11_deserializeOpResolveAlias) HandleDeserialize(ctx context.C } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorResolveAlias(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorRegisterCompute(response, &metadata) } - output := &ResolveAliasOutput{} + output := &RegisterComputeOutput{} out.Result = output var buff [1024]byte @@ -9929,7 +10476,7 @@ func (m *awsAwsjson11_deserializeOpResolveAlias) HandleDeserialize(ctx context.C return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentResolveAliasOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentRegisterComputeOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9943,7 +10490,7 @@ func (m *awsAwsjson11_deserializeOpResolveAlias) HandleDeserialize(ctx context.C return out, metadata, err } -func awsAwsjson11_deserializeOpErrorResolveAlias(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorRegisterCompute(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)} @@ -9980,17 +10527,20 @@ func awsAwsjson11_deserializeOpErrorResolveAlias(response *smithyhttp.Response, errorMessage = bodyInfo.Message } switch { + case strings.EqualFold("ConflictException", errorCode): + return awsAwsjson11_deserializeErrorConflictException(response, errorBody) + case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("NotFoundException", errorCode): - return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("TerminalRoutingStrategyException", errorCode): - return awsAwsjson11_deserializeErrorTerminalRoutingStrategyException(response, errorBody) + case strings.EqualFold("NotReadyException", errorCode): + return awsAwsjson11_deserializeErrorNotReadyException(response, errorBody) case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) @@ -10005,14 +10555,14 @@ func awsAwsjson11_deserializeOpErrorResolveAlias(response *smithyhttp.Response, } } -type awsAwsjson11_deserializeOpResumeGameServerGroup struct { +type awsAwsjson11_deserializeOpRegisterGameServer struct { } -func (*awsAwsjson11_deserializeOpResumeGameServerGroup) ID() string { +func (*awsAwsjson11_deserializeOpRegisterGameServer) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpResumeGameServerGroup) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpRegisterGameServer) 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) @@ -10030,9 +10580,9 @@ func (m *awsAwsjson11_deserializeOpResumeGameServerGroup) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorResumeGameServerGroup(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorRegisterGameServer(response, &metadata) } - output := &ResumeGameServerGroupOutput{} + output := &RegisterGameServerOutput{} out.Result = output var buff [1024]byte @@ -10052,7 +10602,7 @@ func (m *awsAwsjson11_deserializeOpResumeGameServerGroup) HandleDeserialize(ctx return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentResumeGameServerGroupOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentRegisterGameServerOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10066,7 +10616,7 @@ func (m *awsAwsjson11_deserializeOpResumeGameServerGroup) HandleDeserialize(ctx return out, metadata, err } -func awsAwsjson11_deserializeOpErrorResumeGameServerGroup(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorRegisterGameServer(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)} @@ -10103,14 +10653,17 @@ func awsAwsjson11_deserializeOpErrorResumeGameServerGroup(response *smithyhttp.R errorMessage = bodyInfo.Message } switch { + case strings.EqualFold("ConflictException", errorCode): + return awsAwsjson11_deserializeErrorConflictException(response, errorBody) + case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("NotFoundException", errorCode): - return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) @@ -10125,14 +10678,14 @@ func awsAwsjson11_deserializeOpErrorResumeGameServerGroup(response *smithyhttp.R } } -type awsAwsjson11_deserializeOpSearchGameSessions struct { +type awsAwsjson11_deserializeOpRequestUploadCredentials struct { } -func (*awsAwsjson11_deserializeOpSearchGameSessions) ID() string { +func (*awsAwsjson11_deserializeOpRequestUploadCredentials) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpSearchGameSessions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpRequestUploadCredentials) 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) @@ -10150,9 +10703,9 @@ func (m *awsAwsjson11_deserializeOpSearchGameSessions) HandleDeserialize(ctx con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorSearchGameSessions(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorRequestUploadCredentials(response, &metadata) } - output := &SearchGameSessionsOutput{} + output := &RequestUploadCredentialsOutput{} out.Result = output var buff [1024]byte @@ -10172,7 +10725,7 @@ func (m *awsAwsjson11_deserializeOpSearchGameSessions) HandleDeserialize(ctx con return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentSearchGameSessionsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentRequestUploadCredentialsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10186,7 +10739,7 @@ func (m *awsAwsjson11_deserializeOpSearchGameSessions) HandleDeserialize(ctx con return out, metadata, err } -func awsAwsjson11_deserializeOpErrorSearchGameSessions(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorRequestUploadCredentials(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)} @@ -10232,15 +10785,9 @@ func awsAwsjson11_deserializeOpErrorSearchGameSessions(response *smithyhttp.Resp case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) - case strings.EqualFold("TerminalRoutingStrategyException", errorCode): - return awsAwsjson11_deserializeErrorTerminalRoutingStrategyException(response, errorBody) - case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) - case strings.EqualFold("UnsupportedRegionException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -10251,14 +10798,14 @@ func awsAwsjson11_deserializeOpErrorSearchGameSessions(response *smithyhttp.Resp } } -type awsAwsjson11_deserializeOpStartFleetActions struct { +type awsAwsjson11_deserializeOpResolveAlias struct { } -func (*awsAwsjson11_deserializeOpStartFleetActions) ID() string { +func (*awsAwsjson11_deserializeOpResolveAlias) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStartFleetActions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpResolveAlias) 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) @@ -10276,9 +10823,9 @@ func (m *awsAwsjson11_deserializeOpStartFleetActions) HandleDeserialize(ctx cont } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartFleetActions(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorResolveAlias(response, &metadata) } - output := &StartFleetActionsOutput{} + output := &ResolveAliasOutput{} out.Result = output var buff [1024]byte @@ -10298,7 +10845,7 @@ func (m *awsAwsjson11_deserializeOpStartFleetActions) HandleDeserialize(ctx cont return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStartFleetActionsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentResolveAliasOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10312,7 +10859,7 @@ func (m *awsAwsjson11_deserializeOpStartFleetActions) HandleDeserialize(ctx cont return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStartFleetActions(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorResolveAlias(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)} @@ -10358,12 +10905,12 @@ func awsAwsjson11_deserializeOpErrorStartFleetActions(response *smithyhttp.Respo case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + case strings.EqualFold("TerminalRoutingStrategyException", errorCode): + return awsAwsjson11_deserializeErrorTerminalRoutingStrategyException(response, errorBody) + case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) - case strings.EqualFold("UnsupportedRegionException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -10374,14 +10921,14 @@ func awsAwsjson11_deserializeOpErrorStartFleetActions(response *smithyhttp.Respo } } -type awsAwsjson11_deserializeOpStartGameSessionPlacement struct { +type awsAwsjson11_deserializeOpResumeGameServerGroup struct { } -func (*awsAwsjson11_deserializeOpStartGameSessionPlacement) ID() string { +func (*awsAwsjson11_deserializeOpResumeGameServerGroup) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStartGameSessionPlacement) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpResumeGameServerGroup) 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) @@ -10399,9 +10946,9 @@ func (m *awsAwsjson11_deserializeOpStartGameSessionPlacement) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartGameSessionPlacement(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorResumeGameServerGroup(response, &metadata) } - output := &StartGameSessionPlacementOutput{} + output := &ResumeGameServerGroupOutput{} out.Result = output var buff [1024]byte @@ -10421,7 +10968,7 @@ func (m *awsAwsjson11_deserializeOpStartGameSessionPlacement) HandleDeserialize( return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStartGameSessionPlacementOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentResumeGameServerGroupOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10435,7 +10982,7 @@ func (m *awsAwsjson11_deserializeOpStartGameSessionPlacement) HandleDeserialize( return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStartGameSessionPlacement(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorResumeGameServerGroup(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)} @@ -10494,14 +11041,14 @@ func awsAwsjson11_deserializeOpErrorStartGameSessionPlacement(response *smithyht } } -type awsAwsjson11_deserializeOpStartMatchBackfill struct { +type awsAwsjson11_deserializeOpSearchGameSessions struct { } -func (*awsAwsjson11_deserializeOpStartMatchBackfill) ID() string { +func (*awsAwsjson11_deserializeOpSearchGameSessions) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStartMatchBackfill) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpSearchGameSessions) 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) @@ -10519,9 +11066,9 @@ func (m *awsAwsjson11_deserializeOpStartMatchBackfill) HandleDeserialize(ctx con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartMatchBackfill(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorSearchGameSessions(response, &metadata) } - output := &StartMatchBackfillOutput{} + output := &SearchGameSessionsOutput{} out.Result = output var buff [1024]byte @@ -10541,7 +11088,7 @@ func (m *awsAwsjson11_deserializeOpStartMatchBackfill) HandleDeserialize(ctx con return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStartMatchBackfillOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentSearchGameSessionsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10555,7 +11102,7 @@ func (m *awsAwsjson11_deserializeOpStartMatchBackfill) HandleDeserialize(ctx con return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStartMatchBackfill(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorSearchGameSessions(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)} @@ -10601,6 +11148,12 @@ func awsAwsjson11_deserializeOpErrorStartMatchBackfill(response *smithyhttp.Resp case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + case strings.EqualFold("TerminalRoutingStrategyException", errorCode): + return awsAwsjson11_deserializeErrorTerminalRoutingStrategyException(response, errorBody) + + case strings.EqualFold("UnauthorizedException", errorCode): + return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) @@ -10614,14 +11167,14 @@ func awsAwsjson11_deserializeOpErrorStartMatchBackfill(response *smithyhttp.Resp } } -type awsAwsjson11_deserializeOpStartMatchmaking struct { +type awsAwsjson11_deserializeOpStartFleetActions struct { } -func (*awsAwsjson11_deserializeOpStartMatchmaking) ID() string { +func (*awsAwsjson11_deserializeOpStartFleetActions) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStartMatchmaking) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStartFleetActions) 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) @@ -10639,9 +11192,9 @@ func (m *awsAwsjson11_deserializeOpStartMatchmaking) HandleDeserialize(ctx conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartMatchmaking(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStartFleetActions(response, &metadata) } - output := &StartMatchmakingOutput{} + output := &StartFleetActionsOutput{} out.Result = output var buff [1024]byte @@ -10661,7 +11214,7 @@ func (m *awsAwsjson11_deserializeOpStartMatchmaking) HandleDeserialize(ctx conte return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStartMatchmakingOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStartFleetActionsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10675,7 +11228,7 @@ func (m *awsAwsjson11_deserializeOpStartMatchmaking) HandleDeserialize(ctx conte return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStartMatchmaking(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStartFleetActions(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)} @@ -10721,6 +11274,9 @@ func awsAwsjson11_deserializeOpErrorStartMatchmaking(response *smithyhttp.Respon case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + case strings.EqualFold("UnauthorizedException", errorCode): + return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) @@ -10734,14 +11290,14 @@ func awsAwsjson11_deserializeOpErrorStartMatchmaking(response *smithyhttp.Respon } } -type awsAwsjson11_deserializeOpStopFleetActions struct { +type awsAwsjson11_deserializeOpStartGameSessionPlacement struct { } -func (*awsAwsjson11_deserializeOpStopFleetActions) ID() string { +func (*awsAwsjson11_deserializeOpStartGameSessionPlacement) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStopFleetActions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStartGameSessionPlacement) 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) @@ -10759,9 +11315,9 @@ func (m *awsAwsjson11_deserializeOpStopFleetActions) HandleDeserialize(ctx conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStopFleetActions(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStartGameSessionPlacement(response, &metadata) } - output := &StopFleetActionsOutput{} + output := &StartGameSessionPlacementOutput{} out.Result = output var buff [1024]byte @@ -10781,7 +11337,7 @@ func (m *awsAwsjson11_deserializeOpStopFleetActions) HandleDeserialize(ctx conte return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStopFleetActionsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStartGameSessionPlacementOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10795,7 +11351,7 @@ func (m *awsAwsjson11_deserializeOpStopFleetActions) HandleDeserialize(ctx conte return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStopFleetActions(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStartGameSessionPlacement(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)} @@ -10844,9 +11400,6 @@ func awsAwsjson11_deserializeOpErrorStopFleetActions(response *smithyhttp.Respon case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) - case strings.EqualFold("UnsupportedRegionException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -10857,14 +11410,14 @@ func awsAwsjson11_deserializeOpErrorStopFleetActions(response *smithyhttp.Respon } } -type awsAwsjson11_deserializeOpStopGameSessionPlacement struct { +type awsAwsjson11_deserializeOpStartMatchBackfill struct { } -func (*awsAwsjson11_deserializeOpStopGameSessionPlacement) ID() string { +func (*awsAwsjson11_deserializeOpStartMatchBackfill) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStopGameSessionPlacement) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStartMatchBackfill) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -10882,9 +11435,9 @@ func (m *awsAwsjson11_deserializeOpStopGameSessionPlacement) HandleDeserialize(c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStopGameSessionPlacement(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStartMatchBackfill(response, &metadata) } - output := &StopGameSessionPlacementOutput{} + output := &StartMatchBackfillOutput{} out.Result = output var buff [1024]byte @@ -10904,7 +11457,7 @@ func (m *awsAwsjson11_deserializeOpStopGameSessionPlacement) HandleDeserialize(c return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStopGameSessionPlacementOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStartMatchBackfillOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10918,7 +11471,7 @@ func (m *awsAwsjson11_deserializeOpStopGameSessionPlacement) HandleDeserialize(c return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStopGameSessionPlacement(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStartMatchBackfill(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)} @@ -10964,8 +11517,8 @@ func awsAwsjson11_deserializeOpErrorStopGameSessionPlacement(response *smithyhtt case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) - case strings.EqualFold("UnauthorizedException", errorCode): - return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -10977,14 +11530,14 @@ func awsAwsjson11_deserializeOpErrorStopGameSessionPlacement(response *smithyhtt } } -type awsAwsjson11_deserializeOpStopMatchmaking struct { +type awsAwsjson11_deserializeOpStartMatchmaking struct { } -func (*awsAwsjson11_deserializeOpStopMatchmaking) ID() string { +func (*awsAwsjson11_deserializeOpStartMatchmaking) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStopMatchmaking) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStartMatchmaking) 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) @@ -11002,9 +11555,9 @@ func (m *awsAwsjson11_deserializeOpStopMatchmaking) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStopMatchmaking(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStartMatchmaking(response, &metadata) } - output := &StopMatchmakingOutput{} + output := &StartMatchmakingOutput{} out.Result = output var buff [1024]byte @@ -11024,7 +11577,7 @@ func (m *awsAwsjson11_deserializeOpStopMatchmaking) HandleDeserialize(ctx contex return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStopMatchmakingOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStartMatchmakingOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -11038,7 +11591,7 @@ func (m *awsAwsjson11_deserializeOpStopMatchmaking) HandleDeserialize(ctx contex return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStopMatchmaking(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStartMatchmaking(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)} @@ -11097,14 +11650,14 @@ func awsAwsjson11_deserializeOpErrorStopMatchmaking(response *smithyhttp.Respons } } -type awsAwsjson11_deserializeOpSuspendGameServerGroup struct { +type awsAwsjson11_deserializeOpStopFleetActions struct { } -func (*awsAwsjson11_deserializeOpSuspendGameServerGroup) ID() string { +func (*awsAwsjson11_deserializeOpStopFleetActions) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpSuspendGameServerGroup) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStopFleetActions) 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) @@ -11122,9 +11675,9 @@ func (m *awsAwsjson11_deserializeOpSuspendGameServerGroup) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorSuspendGameServerGroup(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStopFleetActions(response, &metadata) } - output := &SuspendGameServerGroupOutput{} + output := &StopFleetActionsOutput{} out.Result = output var buff [1024]byte @@ -11144,7 +11697,7 @@ func (m *awsAwsjson11_deserializeOpSuspendGameServerGroup) HandleDeserialize(ctx return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentSuspendGameServerGroupOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStopFleetActionsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -11158,7 +11711,7 @@ func (m *awsAwsjson11_deserializeOpSuspendGameServerGroup) HandleDeserialize(ctx return out, metadata, err } -func awsAwsjson11_deserializeOpErrorSuspendGameServerGroup(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStopFleetActions(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)} @@ -11207,6 +11760,9 @@ func awsAwsjson11_deserializeOpErrorSuspendGameServerGroup(response *smithyhttp. case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -11217,14 +11773,14 @@ func awsAwsjson11_deserializeOpErrorSuspendGameServerGroup(response *smithyhttp. } } -type awsAwsjson11_deserializeOpTagResource struct { +type awsAwsjson11_deserializeOpStopGameSessionPlacement struct { } -func (*awsAwsjson11_deserializeOpTagResource) ID() string { +func (*awsAwsjson11_deserializeOpStopGameSessionPlacement) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStopGameSessionPlacement) 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) @@ -11242,9 +11798,9 @@ func (m *awsAwsjson11_deserializeOpTagResource) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorTagResource(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStopGameSessionPlacement(response, &metadata) } - output := &TagResourceOutput{} + output := &StopGameSessionPlacementOutput{} out.Result = output var buff [1024]byte @@ -11264,7 +11820,7 @@ func (m *awsAwsjson11_deserializeOpTagResource) HandleDeserialize(ctx context.Co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentTagResourceOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStopGameSessionPlacementOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -11278,7 +11834,7 @@ func (m *awsAwsjson11_deserializeOpTagResource) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStopGameSessionPlacement(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)} @@ -11324,8 +11880,8 @@ func awsAwsjson11_deserializeOpErrorTagResource(response *smithyhttp.Response, m case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) - case strings.EqualFold("TaggingFailedException", errorCode): - return awsAwsjson11_deserializeErrorTaggingFailedException(response, errorBody) + case strings.EqualFold("UnauthorizedException", errorCode): + return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -11337,14 +11893,14 @@ func awsAwsjson11_deserializeOpErrorTagResource(response *smithyhttp.Response, m } } -type awsAwsjson11_deserializeOpUntagResource struct { +type awsAwsjson11_deserializeOpStopMatchmaking struct { } -func (*awsAwsjson11_deserializeOpUntagResource) ID() string { +func (*awsAwsjson11_deserializeOpStopMatchmaking) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUntagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStopMatchmaking) 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) @@ -11362,9 +11918,9 @@ func (m *awsAwsjson11_deserializeOpUntagResource) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUntagResource(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStopMatchmaking(response, &metadata) } - output := &UntagResourceOutput{} + output := &StopMatchmakingOutput{} out.Result = output var buff [1024]byte @@ -11384,7 +11940,7 @@ func (m *awsAwsjson11_deserializeOpUntagResource) HandleDeserialize(ctx context. return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUntagResourceOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStopMatchmakingOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -11398,7 +11954,7 @@ func (m *awsAwsjson11_deserializeOpUntagResource) HandleDeserialize(ctx context. return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUntagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStopMatchmaking(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)} @@ -11444,8 +12000,8 @@ func awsAwsjson11_deserializeOpErrorUntagResource(response *smithyhttp.Response, case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) - case strings.EqualFold("TaggingFailedException", errorCode): - return awsAwsjson11_deserializeErrorTaggingFailedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -11457,14 +12013,14 @@ func awsAwsjson11_deserializeOpErrorUntagResource(response *smithyhttp.Response, } } -type awsAwsjson11_deserializeOpUpdateAlias struct { +type awsAwsjson11_deserializeOpSuspendGameServerGroup struct { } -func (*awsAwsjson11_deserializeOpUpdateAlias) ID() string { +func (*awsAwsjson11_deserializeOpSuspendGameServerGroup) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateAlias) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpSuspendGameServerGroup) 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) @@ -11482,9 +12038,9 @@ func (m *awsAwsjson11_deserializeOpUpdateAlias) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateAlias(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorSuspendGameServerGroup(response, &metadata) } - output := &UpdateAliasOutput{} + output := &SuspendGameServerGroupOutput{} out.Result = output var buff [1024]byte @@ -11504,7 +12060,7 @@ func (m *awsAwsjson11_deserializeOpUpdateAlias) HandleDeserialize(ctx context.Co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateAliasOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentSuspendGameServerGroupOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -11518,7 +12074,7 @@ func (m *awsAwsjson11_deserializeOpUpdateAlias) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateAlias(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorSuspendGameServerGroup(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)} @@ -11577,14 +12133,14 @@ func awsAwsjson11_deserializeOpErrorUpdateAlias(response *smithyhttp.Response, m } } -type awsAwsjson11_deserializeOpUpdateBuild struct { +type awsAwsjson11_deserializeOpTagResource struct { } -func (*awsAwsjson11_deserializeOpUpdateBuild) ID() string { +func (*awsAwsjson11_deserializeOpTagResource) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateBuild) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpTagResource) 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) @@ -11602,9 +12158,9 @@ func (m *awsAwsjson11_deserializeOpUpdateBuild) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateBuild(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorTagResource(response, &metadata) } - output := &UpdateBuildOutput{} + output := &TagResourceOutput{} out.Result = output var buff [1024]byte @@ -11624,7 +12180,7 @@ func (m *awsAwsjson11_deserializeOpUpdateBuild) HandleDeserialize(ctx context.Co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateBuildOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentTagResourceOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -11638,7 +12194,7 @@ func (m *awsAwsjson11_deserializeOpUpdateBuild) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateBuild(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorTagResource(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)} @@ -11684,8 +12240,11 @@ func awsAwsjson11_deserializeOpErrorUpdateBuild(response *smithyhttp.Response, m case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) - case strings.EqualFold("UnauthorizedException", errorCode): - return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("TaggingFailedException", errorCode): + return awsAwsjson11_deserializeErrorTaggingFailedException(response, errorBody) + + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -11697,14 +12256,14 @@ func awsAwsjson11_deserializeOpErrorUpdateBuild(response *smithyhttp.Response, m } } -type awsAwsjson11_deserializeOpUpdateFleetAttributes struct { +type awsAwsjson11_deserializeOpUntagResource struct { } -func (*awsAwsjson11_deserializeOpUpdateFleetAttributes) ID() string { +func (*awsAwsjson11_deserializeOpUntagResource) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateFleetAttributes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpUntagResource) 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) @@ -11722,9 +12281,9 @@ func (m *awsAwsjson11_deserializeOpUpdateFleetAttributes) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateFleetAttributes(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorUntagResource(response, &metadata) } - output := &UpdateFleetAttributesOutput{} + output := &UntagResourceOutput{} out.Result = output var buff [1024]byte @@ -11744,7 +12303,7 @@ func (m *awsAwsjson11_deserializeOpUpdateFleetAttributes) HandleDeserialize(ctx return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateFleetAttributesOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentUntagResourceOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -11758,7 +12317,7 @@ func (m *awsAwsjson11_deserializeOpUpdateFleetAttributes) HandleDeserialize(ctx return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateFleetAttributes(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUntagResource(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)} @@ -11795,26 +12354,20 @@ func awsAwsjson11_deserializeOpErrorUpdateFleetAttributes(response *smithyhttp.R errorMessage = bodyInfo.Message } switch { - case strings.EqualFold("ConflictException", errorCode): - return awsAwsjson11_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) - case strings.EqualFold("InvalidFleetStatusException", errorCode): - return awsAwsjson11_deserializeErrorInvalidFleetStatusException(response, errorBody) - case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) - case strings.EqualFold("UnauthorizedException", errorCode): - return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("TaggingFailedException", errorCode): + return awsAwsjson11_deserializeErrorTaggingFailedException(response, errorBody) + + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -11826,14 +12379,14 @@ func awsAwsjson11_deserializeOpErrorUpdateFleetAttributes(response *smithyhttp.R } } -type awsAwsjson11_deserializeOpUpdateFleetCapacity struct { +type awsAwsjson11_deserializeOpUpdateAlias struct { } -func (*awsAwsjson11_deserializeOpUpdateFleetCapacity) ID() string { +func (*awsAwsjson11_deserializeOpUpdateAlias) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateFleetCapacity) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpUpdateAlias) 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) @@ -11851,9 +12404,9 @@ func (m *awsAwsjson11_deserializeOpUpdateFleetCapacity) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateFleetCapacity(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateAlias(response, &metadata) } - output := &UpdateFleetCapacityOutput{} + output := &UpdateAliasOutput{} out.Result = output var buff [1024]byte @@ -11873,7 +12426,7 @@ func (m *awsAwsjson11_deserializeOpUpdateFleetCapacity) HandleDeserialize(ctx co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateFleetCapacityOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentUpdateAliasOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -11887,7 +12440,7 @@ func (m *awsAwsjson11_deserializeOpUpdateFleetCapacity) HandleDeserialize(ctx co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateFleetCapacity(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUpdateAlias(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)} @@ -11924,30 +12477,18 @@ func awsAwsjson11_deserializeOpErrorUpdateFleetCapacity(response *smithyhttp.Res errorMessage = bodyInfo.Message } switch { - case strings.EqualFold("ConflictException", errorCode): - return awsAwsjson11_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) - case strings.EqualFold("InvalidFleetStatusException", errorCode): - return awsAwsjson11_deserializeErrorInvalidFleetStatusException(response, errorBody) - case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) - case strings.EqualFold("UnsupportedRegionException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -11958,14 +12499,14 @@ func awsAwsjson11_deserializeOpErrorUpdateFleetCapacity(response *smithyhttp.Res } } -type awsAwsjson11_deserializeOpUpdateFleetPortSettings struct { +type awsAwsjson11_deserializeOpUpdateBuild struct { } -func (*awsAwsjson11_deserializeOpUpdateFleetPortSettings) ID() string { +func (*awsAwsjson11_deserializeOpUpdateBuild) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateFleetPortSettings) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpUpdateBuild) 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) @@ -11983,9 +12524,9 @@ func (m *awsAwsjson11_deserializeOpUpdateFleetPortSettings) HandleDeserialize(ct } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateFleetPortSettings(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateBuild(response, &metadata) } - output := &UpdateFleetPortSettingsOutput{} + output := &UpdateBuildOutput{} out.Result = output var buff [1024]byte @@ -12005,7 +12546,7 @@ func (m *awsAwsjson11_deserializeOpUpdateFleetPortSettings) HandleDeserialize(ct return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateFleetPortSettingsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentUpdateBuildOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -12019,7 +12560,7 @@ func (m *awsAwsjson11_deserializeOpUpdateFleetPortSettings) HandleDeserialize(ct return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateFleetPortSettings(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUpdateBuild(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)} @@ -12056,21 +12597,12 @@ func awsAwsjson11_deserializeOpErrorUpdateFleetPortSettings(response *smithyhttp errorMessage = bodyInfo.Message } switch { - case strings.EqualFold("ConflictException", errorCode): - return awsAwsjson11_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) - case strings.EqualFold("InvalidFleetStatusException", errorCode): - return awsAwsjson11_deserializeErrorInvalidFleetStatusException(response, errorBody) - case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) @@ -12087,14 +12619,14 @@ func awsAwsjson11_deserializeOpErrorUpdateFleetPortSettings(response *smithyhttp } } -type awsAwsjson11_deserializeOpUpdateGameServer struct { +type awsAwsjson11_deserializeOpUpdateContainerFleet struct { } -func (*awsAwsjson11_deserializeOpUpdateGameServer) ID() string { +func (*awsAwsjson11_deserializeOpUpdateContainerFleet) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateGameServer) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpUpdateContainerFleet) 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) @@ -12112,9 +12644,9 @@ func (m *awsAwsjson11_deserializeOpUpdateGameServer) HandleDeserialize(ctx conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateGameServer(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateContainerFleet(response, &metadata) } - output := &UpdateGameServerOutput{} + output := &UpdateContainerFleetOutput{} out.Result = output var buff [1024]byte @@ -12134,7 +12666,7 @@ func (m *awsAwsjson11_deserializeOpUpdateGameServer) HandleDeserialize(ctx conte return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateGameServerOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentUpdateContainerFleetOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -12148,7 +12680,7 @@ func (m *awsAwsjson11_deserializeOpUpdateGameServer) HandleDeserialize(ctx conte return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateGameServer(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUpdateContainerFleet(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)} @@ -12191,12 +12723,21 @@ func awsAwsjson11_deserializeOpErrorUpdateGameServer(response *smithyhttp.Respon case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + case strings.EqualFold("NotReadyException", errorCode): + return awsAwsjson11_deserializeErrorNotReadyException(response, errorBody) + case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -12207,14 +12748,14 @@ func awsAwsjson11_deserializeOpErrorUpdateGameServer(response *smithyhttp.Respon } } -type awsAwsjson11_deserializeOpUpdateGameServerGroup struct { +type awsAwsjson11_deserializeOpUpdateContainerGroupDefinition struct { } -func (*awsAwsjson11_deserializeOpUpdateGameServerGroup) ID() string { +func (*awsAwsjson11_deserializeOpUpdateContainerGroupDefinition) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateGameServerGroup) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpUpdateContainerGroupDefinition) 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) @@ -12232,9 +12773,9 @@ func (m *awsAwsjson11_deserializeOpUpdateGameServerGroup) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateGameServerGroup(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateContainerGroupDefinition(response, &metadata) } - output := &UpdateGameServerGroupOutput{} + output := &UpdateContainerGroupDefinitionOutput{} out.Result = output var buff [1024]byte @@ -12254,7 +12795,7 @@ func (m *awsAwsjson11_deserializeOpUpdateGameServerGroup) HandleDeserialize(ctx return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateGameServerGroupOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentUpdateContainerGroupDefinitionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -12268,7 +12809,7 @@ func (m *awsAwsjson11_deserializeOpUpdateGameServerGroup) HandleDeserialize(ctx return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateGameServerGroup(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUpdateContainerGroupDefinition(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)} @@ -12311,12 +12852,18 @@ func awsAwsjson11_deserializeOpErrorUpdateGameServerGroup(response *smithyhttp.R case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -12327,14 +12874,14 @@ func awsAwsjson11_deserializeOpErrorUpdateGameServerGroup(response *smithyhttp.R } } -type awsAwsjson11_deserializeOpUpdateGameSession struct { +type awsAwsjson11_deserializeOpUpdateFleetAttributes struct { } -func (*awsAwsjson11_deserializeOpUpdateGameSession) ID() string { +func (*awsAwsjson11_deserializeOpUpdateFleetAttributes) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateGameSession) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpUpdateFleetAttributes) 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) @@ -12352,9 +12899,9 @@ func (m *awsAwsjson11_deserializeOpUpdateGameSession) HandleDeserialize(ctx cont } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateGameSession(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateFleetAttributes(response, &metadata) } - output := &UpdateGameSessionOutput{} + output := &UpdateFleetAttributesOutput{} out.Result = output var buff [1024]byte @@ -12374,7 +12921,7 @@ func (m *awsAwsjson11_deserializeOpUpdateGameSession) HandleDeserialize(ctx cont return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateGameSessionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentUpdateFleetAttributesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -12388,7 +12935,7 @@ func (m *awsAwsjson11_deserializeOpUpdateGameSession) HandleDeserialize(ctx cont return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateGameSession(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUpdateFleetAttributes(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)} @@ -12431,12 +12978,15 @@ func awsAwsjson11_deserializeOpErrorUpdateGameSession(response *smithyhttp.Respo case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) - case strings.EqualFold("InvalidGameSessionStatusException", errorCode): - return awsAwsjson11_deserializeErrorInvalidGameSessionStatusException(response, errorBody) + case strings.EqualFold("InvalidFleetStatusException", errorCode): + return awsAwsjson11_deserializeErrorInvalidFleetStatusException(response, errorBody) case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) @@ -12453,14 +13003,14 @@ func awsAwsjson11_deserializeOpErrorUpdateGameSession(response *smithyhttp.Respo } } -type awsAwsjson11_deserializeOpUpdateGameSessionQueue struct { +type awsAwsjson11_deserializeOpUpdateFleetCapacity struct { } -func (*awsAwsjson11_deserializeOpUpdateGameSessionQueue) ID() string { +func (*awsAwsjson11_deserializeOpUpdateFleetCapacity) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateGameSessionQueue) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpUpdateFleetCapacity) 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) @@ -12478,9 +13028,9 @@ func (m *awsAwsjson11_deserializeOpUpdateGameSessionQueue) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateGameSessionQueue(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateFleetCapacity(response, &metadata) } - output := &UpdateGameSessionQueueOutput{} + output := &UpdateFleetCapacityOutput{} out.Result = output var buff [1024]byte @@ -12500,7 +13050,7 @@ func (m *awsAwsjson11_deserializeOpUpdateGameSessionQueue) HandleDeserialize(ctx return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateGameSessionQueueOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentUpdateFleetCapacityOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -12514,7 +13064,7 @@ func (m *awsAwsjson11_deserializeOpUpdateGameSessionQueue) HandleDeserialize(ctx return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateGameSessionQueue(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUpdateFleetCapacity(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)} @@ -12551,18 +13101,30 @@ func awsAwsjson11_deserializeOpErrorUpdateGameSessionQueue(response *smithyhttp. errorMessage = bodyInfo.Message } switch { + case strings.EqualFold("ConflictException", errorCode): + return awsAwsjson11_deserializeErrorConflictException(response, errorBody) + case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) + case strings.EqualFold("InvalidFleetStatusException", errorCode): + return awsAwsjson11_deserializeErrorInvalidFleetStatusException(response, errorBody) + case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -12573,14 +13135,14 @@ func awsAwsjson11_deserializeOpErrorUpdateGameSessionQueue(response *smithyhttp. } } -type awsAwsjson11_deserializeOpUpdateMatchmakingConfiguration struct { +type awsAwsjson11_deserializeOpUpdateFleetPortSettings struct { } -func (*awsAwsjson11_deserializeOpUpdateMatchmakingConfiguration) ID() string { +func (*awsAwsjson11_deserializeOpUpdateFleetPortSettings) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateMatchmakingConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpUpdateFleetPortSettings) 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) @@ -12598,9 +13160,9 @@ func (m *awsAwsjson11_deserializeOpUpdateMatchmakingConfiguration) HandleDeseria } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateMatchmakingConfiguration(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateFleetPortSettings(response, &metadata) } - output := &UpdateMatchmakingConfigurationOutput{} + output := &UpdateFleetPortSettingsOutput{} out.Result = output var buff [1024]byte @@ -12620,7 +13182,7 @@ func (m *awsAwsjson11_deserializeOpUpdateMatchmakingConfiguration) HandleDeseria return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateMatchmakingConfigurationOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentUpdateFleetPortSettingsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -12634,7 +13196,7 @@ func (m *awsAwsjson11_deserializeOpUpdateMatchmakingConfiguration) HandleDeseria return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateMatchmakingConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUpdateFleetPortSettings(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)} @@ -12671,17 +13233,26 @@ func awsAwsjson11_deserializeOpErrorUpdateMatchmakingConfiguration(response *smi errorMessage = bodyInfo.Message } switch { + case strings.EqualFold("ConflictException", errorCode): + return awsAwsjson11_deserializeErrorConflictException(response, errorBody) + case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) + case strings.EqualFold("InvalidFleetStatusException", errorCode): + return awsAwsjson11_deserializeErrorInvalidFleetStatusException(response, errorBody) + case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) - case strings.EqualFold("UnsupportedRegionException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + case strings.EqualFold("UnauthorizedException", errorCode): + return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -12693,14 +13264,14 @@ func awsAwsjson11_deserializeOpErrorUpdateMatchmakingConfiguration(response *smi } } -type awsAwsjson11_deserializeOpUpdateRuntimeConfiguration struct { +type awsAwsjson11_deserializeOpUpdateGameServer struct { } -func (*awsAwsjson11_deserializeOpUpdateRuntimeConfiguration) ID() string { +func (*awsAwsjson11_deserializeOpUpdateGameServer) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateRuntimeConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpUpdateGameServer) 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) @@ -12718,9 +13289,9 @@ func (m *awsAwsjson11_deserializeOpUpdateRuntimeConfiguration) HandleDeserialize } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateRuntimeConfiguration(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateGameServer(response, &metadata) } - output := &UpdateRuntimeConfigurationOutput{} + output := &UpdateGameServerOutput{} out.Result = output var buff [1024]byte @@ -12740,7 +13311,7 @@ func (m *awsAwsjson11_deserializeOpUpdateRuntimeConfiguration) HandleDeserialize return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateRuntimeConfigurationOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentUpdateGameServerOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -12754,7 +13325,7 @@ func (m *awsAwsjson11_deserializeOpUpdateRuntimeConfiguration) HandleDeserialize return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateRuntimeConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUpdateGameServer(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)} @@ -12794,15 +13365,9 @@ func awsAwsjson11_deserializeOpErrorUpdateRuntimeConfiguration(response *smithyh case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) - case strings.EqualFold("InvalidFleetStatusException", errorCode): - return awsAwsjson11_deserializeErrorInvalidFleetStatusException(response, errorBody) - case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("NotFoundException", errorCode): return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) @@ -12819,14 +13384,14 @@ func awsAwsjson11_deserializeOpErrorUpdateRuntimeConfiguration(response *smithyh } } -type awsAwsjson11_deserializeOpUpdateScript struct { +type awsAwsjson11_deserializeOpUpdateGameServerGroup struct { } -func (*awsAwsjson11_deserializeOpUpdateScript) ID() string { +func (*awsAwsjson11_deserializeOpUpdateGameServerGroup) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateScript) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpUpdateGameServerGroup) 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) @@ -12844,9 +13409,9 @@ func (m *awsAwsjson11_deserializeOpUpdateScript) HandleDeserialize(ctx context.C } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateScript(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateGameServerGroup(response, &metadata) } - output := &UpdateScriptOutput{} + output := &UpdateGameServerGroupOutput{} out.Result = output var buff [1024]byte @@ -12866,7 +13431,7 @@ func (m *awsAwsjson11_deserializeOpUpdateScript) HandleDeserialize(ctx context.C return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateScriptOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentUpdateGameServerGroupOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -12880,7 +13445,7 @@ func (m *awsAwsjson11_deserializeOpUpdateScript) HandleDeserialize(ctx context.C return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateScript(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUpdateGameServerGroup(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)} @@ -12939,14 +13504,14 @@ func awsAwsjson11_deserializeOpErrorUpdateScript(response *smithyhttp.Response, } } -type awsAwsjson11_deserializeOpValidateMatchmakingRuleSet struct { +type awsAwsjson11_deserializeOpUpdateGameSession struct { } -func (*awsAwsjson11_deserializeOpValidateMatchmakingRuleSet) ID() string { +func (*awsAwsjson11_deserializeOpUpdateGameSession) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpValidateMatchmakingRuleSet) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpUpdateGameSession) 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) @@ -12964,9 +13529,9 @@ func (m *awsAwsjson11_deserializeOpValidateMatchmakingRuleSet) HandleDeserialize } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorValidateMatchmakingRuleSet(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateGameSession(response, &metadata) } - output := &ValidateMatchmakingRuleSetOutput{} + output := &UpdateGameSessionOutput{} out.Result = output var buff [1024]byte @@ -12986,7 +13551,7 @@ func (m *awsAwsjson11_deserializeOpValidateMatchmakingRuleSet) HandleDeserialize return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentValidateMatchmakingRuleSetOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentUpdateGameSessionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -13000,7 +13565,7 @@ func (m *awsAwsjson11_deserializeOpValidateMatchmakingRuleSet) HandleDeserialize return out, metadata, err } -func awsAwsjson11_deserializeOpErrorValidateMatchmakingRuleSet(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUpdateGameSession(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)} @@ -13037,14 +13602,23 @@ func awsAwsjson11_deserializeOpErrorValidateMatchmakingRuleSet(response *smithyh errorMessage = bodyInfo.Message } switch { + case strings.EqualFold("ConflictException", errorCode): + return awsAwsjson11_deserializeErrorConflictException(response, errorBody) + case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) + case strings.EqualFold("InvalidGameSessionStatusException", errorCode): + return awsAwsjson11_deserializeErrorInvalidGameSessionStatusException(response, errorBody) + case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("UnsupportedRegionException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + case strings.EqualFold("NotFoundException", errorCode): + return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + + case strings.EqualFold("UnauthorizedException", errorCode): + return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -13056,11 +13630,40 @@ func awsAwsjson11_deserializeOpErrorValidateMatchmakingRuleSet(response *smithyh } } -func awsAwsjson11_deserializeErrorConflictException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +type awsAwsjson11_deserializeOpUpdateGameSessionQueue struct { +} + +func (*awsAwsjson11_deserializeOpUpdateGameSessionQueue) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpUpdateGameSessionQueue) 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 + } + + _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() + defer span.End() + 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_deserializeOpErrorUpdateGameSessionQueue(response, &metadata) + } + output := &UpdateGameSessionQueueOutput{} + out.Result = output + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(response.Body, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -13071,12 +13674,10 @@ func awsAwsjson11_deserializeErrorConflictException(response *smithyhttp.Respons Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - output := &types.ConflictException{} - err := awsAwsjson11_deserializeDocumentConflictException(&output, shape) - + err = awsAwsjson11_deserializeOpDocumentUpdateGameSessionQueueOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -13084,22 +13685,32 @@ func awsAwsjson11_deserializeErrorConflictException(response *smithyhttp.Respons Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) - return output + return out, metadata, err } -func awsAwsjson11_deserializeErrorFleetCapacityExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeOpErrorUpdateGameSessionQueue(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + headerCode := response.Header.Get("X-Amzn-ErrorType") + 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 { + bodyInfo, err := getProtocolErrorInfo(decoder) + if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) err = &smithy.DeserializationError{ @@ -13109,7 +13720,573 @@ func awsAwsjson11_deserializeErrorFleetCapacityExceededException(response *smith return err } - output := &types.FleetCapacityExceededException{} + errorBody.Seek(0, io.SeekStart) + if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { + errorCode = restjson.SanitizeErrorCode(typ) + } + if len(bodyInfo.Message) != 0 { + errorMessage = bodyInfo.Message + } + switch { + case strings.EqualFold("InternalServiceException", errorCode): + return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("NotFoundException", errorCode): + return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + + case strings.EqualFold("UnauthorizedException", errorCode): + return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsjson11_deserializeOpUpdateMatchmakingConfiguration struct { +} + +func (*awsAwsjson11_deserializeOpUpdateMatchmakingConfiguration) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpUpdateMatchmakingConfiguration) 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 + } + + _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() + defer span.End() + 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_deserializeOpErrorUpdateMatchmakingConfiguration(response, &metadata) + } + output := &UpdateMatchmakingConfigurationOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentUpdateMatchmakingConfigurationOutput(&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 out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorUpdateMatchmakingConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + headerCode := response.Header.Get("X-Amzn-ErrorType") + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + bodyInfo, err := getProtocolErrorInfo(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 typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { + errorCode = restjson.SanitizeErrorCode(typ) + } + if len(bodyInfo.Message) != 0 { + errorMessage = bodyInfo.Message + } + switch { + case strings.EqualFold("InternalServiceException", errorCode): + return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("NotFoundException", errorCode): + return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsjson11_deserializeOpUpdateRuntimeConfiguration struct { +} + +func (*awsAwsjson11_deserializeOpUpdateRuntimeConfiguration) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpUpdateRuntimeConfiguration) 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 + } + + _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() + defer span.End() + 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_deserializeOpErrorUpdateRuntimeConfiguration(response, &metadata) + } + output := &UpdateRuntimeConfigurationOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentUpdateRuntimeConfigurationOutput(&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 out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorUpdateRuntimeConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + headerCode := response.Header.Get("X-Amzn-ErrorType") + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + bodyInfo, err := getProtocolErrorInfo(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 typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { + errorCode = restjson.SanitizeErrorCode(typ) + } + if len(bodyInfo.Message) != 0 { + errorMessage = bodyInfo.Message + } + switch { + case strings.EqualFold("InternalServiceException", errorCode): + return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) + + case strings.EqualFold("InvalidFleetStatusException", errorCode): + return awsAwsjson11_deserializeErrorInvalidFleetStatusException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + + case strings.EqualFold("NotFoundException", errorCode): + return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + + case strings.EqualFold("UnauthorizedException", errorCode): + return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsjson11_deserializeOpUpdateScript struct { +} + +func (*awsAwsjson11_deserializeOpUpdateScript) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpUpdateScript) 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 + } + + _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() + defer span.End() + 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_deserializeOpErrorUpdateScript(response, &metadata) + } + output := &UpdateScriptOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentUpdateScriptOutput(&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 out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorUpdateScript(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + headerCode := response.Header.Get("X-Amzn-ErrorType") + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + bodyInfo, err := getProtocolErrorInfo(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 typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { + errorCode = restjson.SanitizeErrorCode(typ) + } + if len(bodyInfo.Message) != 0 { + errorMessage = bodyInfo.Message + } + switch { + case strings.EqualFold("InternalServiceException", errorCode): + return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("NotFoundException", errorCode): + return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + + case strings.EqualFold("UnauthorizedException", errorCode): + return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsjson11_deserializeOpValidateMatchmakingRuleSet struct { +} + +func (*awsAwsjson11_deserializeOpValidateMatchmakingRuleSet) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpValidateMatchmakingRuleSet) 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 + } + + _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() + defer span.End() + 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_deserializeOpErrorValidateMatchmakingRuleSet(response, &metadata) + } + output := &ValidateMatchmakingRuleSetOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentValidateMatchmakingRuleSetOutput(&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 out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorValidateMatchmakingRuleSet(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + headerCode := response.Header.Get("X-Amzn-ErrorType") + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + bodyInfo, err := getProtocolErrorInfo(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 typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { + errorCode = restjson.SanitizeErrorCode(typ) + } + if len(bodyInfo.Message) != 0 { + errorMessage = bodyInfo.Message + } + switch { + case strings.EqualFold("InternalServiceException", errorCode): + return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsAwsjson11_deserializeErrorConflictException(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.ConflictException{} + err := awsAwsjson11_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 awsAwsjson11_deserializeErrorFleetCapacityExceededException(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.FleetCapacityExceededException{} err := awsAwsjson11_deserializeDocumentFleetCapacityExceededException(&output, shape) if err != nil { @@ -14248,6 +15425,15 @@ func awsAwsjson11_deserializeDocumentCompute(v **types.Compute, value interface{ sv.GameLiftServiceSdkEndpoint = ptr.String(jtv) } + case "GameServerContainerGroupDefinitionArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ContainerGroupDefinitionNameOrArn to be of type string, got %T instead", value) + } + sv.GameServerContainerGroupDefinitionArn = ptr.String(jtv) + } + case "InstanceId": if value != nil { jtv, ok := value.(string) @@ -14261,36 +15447,216 @@ func awsAwsjson11_deserializeDocumentCompute(v **types.Compute, value interface{ if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected IpAddress to be of type string, got %T instead", value) + return fmt.Errorf("expected IpAddress to be of type string, got %T instead", value) + } + sv.IpAddress = ptr.String(jtv) + } + + case "Location": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected LocationStringModel to be of type string, got %T instead", value) + } + sv.Location = ptr.String(jtv) + } + + case "OperatingSystem": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected OperatingSystem to be of type string, got %T instead", value) + } + sv.OperatingSystem = types.OperatingSystem(jtv) + } + + case "Type": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EC2InstanceType to be of type string, got %T instead", value) + } + sv.Type = types.EC2InstanceType(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentComputeList(v *[]types.Compute, 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.Compute + if *v == nil { + cv = []types.Compute{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.Compute + destAddr := &col + if err := awsAwsjson11_deserializeDocumentCompute(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsAwsjson11_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", "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonEmptyString to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentConnectionPortRange(v **types.ConnectionPortRange, 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.ConnectionPortRange + if *v == nil { + sv = &types.ConnectionPortRange{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "FromPort": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected PortNumber to be json.Number, got %T instead", value) } - sv.IpAddress = ptr.String(jtv) + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.FromPort = ptr.Int32(int32(i64)) } - case "Location": + case "ToPort": if value != nil { - jtv, ok := value.(string) + jtv, ok := value.(json.Number) if !ok { - return fmt.Errorf("expected LocationStringModel to be of type string, got %T instead", value) + return fmt.Errorf("expected PortNumber to be json.Number, got %T instead", value) } - sv.Location = ptr.String(jtv) + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.ToPort = ptr.Int32(int32(i64)) } - case "OperatingSystem": + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentContainerAttribute(v **types.ContainerAttribute, 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.ContainerAttribute + if *v == nil { + sv = &types.ContainerAttribute{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ContainerName": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected OperatingSystem to be of type string, got %T instead", value) + return fmt.Errorf("expected NonZeroAnd128MaxAsciiString to be of type string, got %T instead", value) } - sv.OperatingSystem = types.OperatingSystem(jtv) + sv.ContainerName = ptr.String(jtv) } - case "Type": + case "ContainerRuntimeId": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected EC2InstanceType to be of type string, got %T instead", value) + return fmt.Errorf("expected NonEmptyString to be of type string, got %T instead", value) } - sv.Type = types.EC2InstanceType(jtv) + sv.ContainerRuntimeId = ptr.String(jtv) } default: @@ -14302,7 +15668,7 @@ func awsAwsjson11_deserializeDocumentCompute(v **types.Compute, value interface{ return nil } -func awsAwsjson11_deserializeDocumentComputeList(v *[]types.Compute, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerAttributes(v *[]types.ContainerAttribute, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -14315,17 +15681,17 @@ func awsAwsjson11_deserializeDocumentComputeList(v *[]types.Compute, value inter return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.Compute + var cv []types.ContainerAttribute if *v == nil { - cv = []types.Compute{} + cv = []types.ContainerAttribute{} } else { cv = *v } for _, value := range shape { - var col types.Compute + var col types.ContainerAttribute destAddr := &col - if err := awsAwsjson11_deserializeDocumentCompute(&destAddr, value); err != nil { + if err := awsAwsjson11_deserializeDocumentContainerAttribute(&destAddr, value); err != nil { return err } col = *destAddr @@ -14336,7 +15702,7 @@ func awsAwsjson11_deserializeDocumentComputeList(v *[]types.Compute, value inter return nil } -func awsAwsjson11_deserializeDocumentConflictException(v **types.ConflictException, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerCommandStringList(v *[]string, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -14344,39 +15710,35 @@ func awsAwsjson11_deserializeDocumentConflictException(v **types.ConflictExcepti 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.ConflictException + var cv []string if *v == nil { - sv = &types.ConflictException{} + cv = []string{} } else { - sv = *v + cv = *v } - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NonEmptyString to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonZeroAnd255MaxString to be of type string, got %T instead", value) } - - default: - _, _ = key, value - + col = jtv } + cv = append(cv, col) + } - *v = sv + *v = cv return nil } -func awsAwsjson11_deserializeDocumentConnectionPortRange(v **types.ConnectionPortRange, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerDependency(v **types.ContainerDependency, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -14389,39 +15751,31 @@ func awsAwsjson11_deserializeDocumentConnectionPortRange(v **types.ConnectionPor return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ConnectionPortRange + var sv *types.ContainerDependency if *v == nil { - sv = &types.ConnectionPortRange{} + sv = &types.ContainerDependency{} } else { sv = *v } for key, value := range shape { switch key { - case "FromPort": + case "Condition": if value != nil { - jtv, ok := value.(json.Number) + jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected PortNumber to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err + return fmt.Errorf("expected ContainerDependencyCondition to be of type string, got %T instead", value) } - sv.FromPort = ptr.Int32(int32(i64)) + sv.Condition = types.ContainerDependencyCondition(jtv) } - case "ToPort": + case "ContainerName": if value != nil { - jtv, ok := value.(json.Number) + jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected PortNumber to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err + return fmt.Errorf("expected NonZeroAnd128MaxAsciiString to be of type string, got %T instead", value) } - sv.ToPort = ptr.Int32(int32(i64)) + sv.ContainerName = ptr.String(jtv) } default: @@ -14433,7 +15787,41 @@ func awsAwsjson11_deserializeDocumentConnectionPortRange(v **types.ConnectionPor return nil } -func awsAwsjson11_deserializeDocumentContainerAttributes(v **types.ContainerAttributes, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerDependencyList(v *[]types.ContainerDependency, 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.ContainerDependency + if *v == nil { + cv = []types.ContainerDependency{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ContainerDependency + destAddr := &col + if err := awsAwsjson11_deserializeDocumentContainerDependency(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsAwsjson11_deserializeDocumentContainerEnvironment(v **types.ContainerEnvironment, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -14446,18 +15834,31 @@ func awsAwsjson11_deserializeDocumentContainerAttributes(v **types.ContainerAttr return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ContainerAttributes + var sv *types.ContainerEnvironment if *v == nil { - sv = &types.ContainerAttributes{} + sv = &types.ContainerEnvironment{} } else { sv = *v } for key, value := range shape { switch key { - case "ContainerPortMappings": - if err := awsAwsjson11_deserializeDocumentContainerPortMappingList(&sv.ContainerPortMappings, value); err != nil { - return err + case "Name": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonZeroAnd255MaxString to be of type string, got %T instead", value) + } + sv.Name = ptr.String(jtv) + } + + case "Value": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonZeroAnd255MaxString to be of type string, got %T instead", value) + } + sv.Value = ptr.String(jtv) } default: @@ -14469,7 +15870,7 @@ func awsAwsjson11_deserializeDocumentContainerAttributes(v **types.ContainerAttr return nil } -func awsAwsjson11_deserializeDocumentContainerCommandStringList(v *[]string, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerEnvironmentList(v *[]types.ContainerEnvironment, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -14482,22 +15883,20 @@ func awsAwsjson11_deserializeDocumentContainerCommandStringList(v *[]string, val return fmt.Errorf("unexpected JSON type %v", value) } - var cv []string + var cv []types.ContainerEnvironment if *v == nil { - cv = []string{} + cv = []types.ContainerEnvironment{} } else { cv = *v } for _, value := range shape { - var col string - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NonZeroAnd255MaxString to be of type string, got %T instead", value) - } - col = jtv + var col types.ContainerEnvironment + destAddr := &col + if err := awsAwsjson11_deserializeDocumentContainerEnvironment(&destAddr, value); err != nil { + return err } + col = *destAddr cv = append(cv, col) } @@ -14505,7 +15904,7 @@ func awsAwsjson11_deserializeDocumentContainerCommandStringList(v *[]string, val return nil } -func awsAwsjson11_deserializeDocumentContainerDefinition(v **types.ContainerDefinition, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerFleet(v **types.ContainerFleet, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -14518,189 +15917,198 @@ func awsAwsjson11_deserializeDocumentContainerDefinition(v **types.ContainerDefi return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ContainerDefinition + var sv *types.ContainerFleet if *v == nil { - sv = &types.ContainerDefinition{} + sv = &types.ContainerFleet{} } else { sv = *v } - for key, value := range shape { - switch key { - case "Command": - if err := awsAwsjson11_deserializeDocumentContainerCommandStringList(&sv.Command, value); err != nil { - return err + for key, value := range shape { + switch key { + case "BillingType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ContainerFleetBillingType to be of type string, got %T instead", value) + } + sv.BillingType = types.ContainerFleetBillingType(jtv) + } + + case "CreationTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreationTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "DeploymentDetails": + if err := awsAwsjson11_deserializeDocumentDeploymentDetails(&sv.DeploymentDetails, value); err != nil { + return err + } + + case "Description": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonZeroAndMaxString to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "FleetArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FleetArn to be of type string, got %T instead", value) + } + sv.FleetArn = ptr.String(jtv) + } + + case "FleetId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FleetId to be of type string, got %T instead", value) + } + sv.FleetId = ptr.String(jtv) + } + + case "FleetRoleArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ArnStringModel to be of type string, got %T instead", value) + } + sv.FleetRoleArn = ptr.String(jtv) + } + + case "GameServerContainerGroupDefinitionArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ContainerGroupDefinitionArn to be of type string, got %T instead", value) + } + sv.GameServerContainerGroupDefinitionArn = ptr.String(jtv) } - case "ContainerName": + case "GameServerContainerGroupDefinitionName": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected NonZeroAnd128MaxAsciiString to be of type string, got %T instead", value) + return fmt.Errorf("expected ContainerGroupDefinitionName to be of type string, got %T instead", value) } - sv.ContainerName = ptr.String(jtv) + sv.GameServerContainerGroupDefinitionName = ptr.String(jtv) } - case "Cpu": + case "GameServerContainerGroupsPerInstance": if value != nil { jtv, ok := value.(json.Number) if !ok { - return fmt.Errorf("expected ContainerCpu to be json.Number, got %T instead", value) + return fmt.Errorf("expected GameServerContainerGroupsPerInstance to be json.Number, got %T instead", value) } i64, err := jtv.Int64() if err != nil { return err } - sv.Cpu = ptr.Int32(int32(i64)) + sv.GameServerContainerGroupsPerInstance = ptr.Int32(int32(i64)) } - case "DependsOn": - if err := awsAwsjson11_deserializeDocumentContainerDependencyList(&sv.DependsOn, value); err != nil { + case "GameSessionCreationLimitPolicy": + if err := awsAwsjson11_deserializeDocumentGameSessionCreationLimitPolicy(&sv.GameSessionCreationLimitPolicy, value); err != nil { return err } - case "EntryPoint": - if err := awsAwsjson11_deserializeDocumentContainerEntryPointList(&sv.EntryPoint, value); err != nil { + case "InstanceConnectionPortRange": + if err := awsAwsjson11_deserializeDocumentConnectionPortRange(&sv.InstanceConnectionPortRange, value); err != nil { return err } - case "Environment": - if err := awsAwsjson11_deserializeDocumentContainerEnvironmentList(&sv.Environment, value); err != nil { + case "InstanceInboundPermissions": + if err := awsAwsjson11_deserializeDocumentIpPermissionsList(&sv.InstanceInboundPermissions, value); err != nil { return err } - case "Essential": + case "InstanceType": if value != nil { - jtv, ok := value.(bool) + jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected BooleanModel to be of type *bool, got %T instead", value) + return fmt.Errorf("expected NonZeroAndMaxString to be of type string, got %T instead", value) } - sv.Essential = ptr.Bool(jtv) + sv.InstanceType = ptr.String(jtv) } - case "HealthCheck": - if err := awsAwsjson11_deserializeDocumentContainerHealthCheck(&sv.HealthCheck, value); err != nil { + case "LocationAttributes": + if err := awsAwsjson11_deserializeDocumentContainerFleetLocationAttributesList(&sv.LocationAttributes, value); err != nil { return err } - case "ImageUri": + case "LogConfiguration": + if err := awsAwsjson11_deserializeDocumentLogConfiguration(&sv.LogConfiguration, value); err != nil { + return err + } + + case "MaximumGameServerContainerGroupsPerInstance": if value != nil { - jtv, ok := value.(string) + jtv, ok := value.(json.Number) if !ok { - return fmt.Errorf("expected ImageUriString to be of type string, got %T instead", value) + return fmt.Errorf("expected MaximumGameServerContainerGroupsPerInstance to be json.Number, got %T instead", value) } - sv.ImageUri = ptr.String(jtv) - } - - case "MemoryLimits": - if err := awsAwsjson11_deserializeDocumentContainerMemoryLimits(&sv.MemoryLimits, value); err != nil { - return err + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.MaximumGameServerContainerGroupsPerInstance = ptr.Int32(int32(i64)) } - case "PortConfiguration": - if err := awsAwsjson11_deserializeDocumentContainerPortConfiguration(&sv.PortConfiguration, value); err != nil { + case "MetricGroups": + if err := awsAwsjson11_deserializeDocumentMetricGroupList(&sv.MetricGroups, value); err != nil { return err } - case "ResolvedImageDigest": + case "NewGameSessionProtectionPolicy": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected Sha256 to be of type string, got %T instead", value) + return fmt.Errorf("expected ProtectionPolicy to be of type string, got %T instead", value) } - sv.ResolvedImageDigest = ptr.String(jtv) + sv.NewGameSessionProtectionPolicy = types.ProtectionPolicy(jtv) } - case "WorkingDirectory": + case "PerInstanceContainerGroupDefinitionArn": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected NonZeroAnd255MaxString to be of type string, got %T instead", value) + return fmt.Errorf("expected ContainerGroupDefinitionArn to be of type string, got %T instead", value) } - sv.WorkingDirectory = ptr.String(jtv) + sv.PerInstanceContainerGroupDefinitionArn = ptr.String(jtv) } - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentContainerDefinitionList(v *[]types.ContainerDefinition, 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.ContainerDefinition - if *v == nil { - cv = []types.ContainerDefinition{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ContainerDefinition - destAddr := &col - if err := awsAwsjson11_deserializeDocumentContainerDefinition(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentContainerDependency(v **types.ContainerDependency, 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.ContainerDependency - if *v == nil { - sv = &types.ContainerDependency{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "Condition": + case "PerInstanceContainerGroupDefinitionName": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ContainerDependencyCondition to be of type string, got %T instead", value) + return fmt.Errorf("expected ContainerGroupDefinitionName to be of type string, got %T instead", value) } - sv.Condition = types.ContainerDependencyCondition(jtv) + sv.PerInstanceContainerGroupDefinitionName = ptr.String(jtv) } - case "ContainerName": + case "Status": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected NonZeroAnd128MaxAsciiString to be of type string, got %T instead", value) + return fmt.Errorf("expected ContainerFleetStatus to be of type string, got %T instead", value) } - sv.ContainerName = ptr.String(jtv) + sv.Status = types.ContainerFleetStatus(jtv) } default: @@ -14712,7 +16120,7 @@ func awsAwsjson11_deserializeDocumentContainerDependency(v **types.ContainerDepe return nil } -func awsAwsjson11_deserializeDocumentContainerDependencyList(v *[]types.ContainerDependency, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerFleetList(v *[]types.ContainerFleet, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -14725,17 +16133,17 @@ func awsAwsjson11_deserializeDocumentContainerDependencyList(v *[]types.Containe return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.ContainerDependency + var cv []types.ContainerFleet if *v == nil { - cv = []types.ContainerDependency{} + cv = []types.ContainerFleet{} } else { cv = *v } for _, value := range shape { - var col types.ContainerDependency + var col types.ContainerFleet destAddr := &col - if err := awsAwsjson11_deserializeDocumentContainerDependency(&destAddr, value); err != nil { + if err := awsAwsjson11_deserializeDocumentContainerFleet(&destAddr, value); err != nil { return err } col = *destAddr @@ -14746,43 +16154,7 @@ func awsAwsjson11_deserializeDocumentContainerDependencyList(v *[]types.Containe return nil } -func awsAwsjson11_deserializeDocumentContainerEntryPointList(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 NonZeroAndMaxString to be of type string, got %T instead", value) - } - col = jtv - } - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentContainerEnvironment(v **types.ContainerEnvironment, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerFleetLocationAttributes(v **types.ContainerFleetLocationAttributes, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -14795,31 +16167,31 @@ func awsAwsjson11_deserializeDocumentContainerEnvironment(v **types.ContainerEnv return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ContainerEnvironment + var sv *types.ContainerFleetLocationAttributes if *v == nil { - sv = &types.ContainerEnvironment{} + sv = &types.ContainerFleetLocationAttributes{} } else { sv = *v } for key, value := range shape { switch key { - case "Name": + case "Location": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected NonZeroAnd255MaxString to be of type string, got %T instead", value) + return fmt.Errorf("expected LocationStringModel to be of type string, got %T instead", value) } - sv.Name = ptr.String(jtv) + sv.Location = ptr.String(jtv) } - case "Value": + case "Status": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected NonZeroAnd255MaxString to be of type string, got %T instead", value) + return fmt.Errorf("expected ContainerFleetLocationStatus to be of type string, got %T instead", value) } - sv.Value = ptr.String(jtv) + sv.Status = types.ContainerFleetLocationStatus(jtv) } default: @@ -14831,7 +16203,7 @@ func awsAwsjson11_deserializeDocumentContainerEnvironment(v **types.ContainerEnv return nil } -func awsAwsjson11_deserializeDocumentContainerEnvironmentList(v *[]types.ContainerEnvironment, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerFleetLocationAttributesList(v *[]types.ContainerFleetLocationAttributes, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -14844,17 +16216,17 @@ func awsAwsjson11_deserializeDocumentContainerEnvironmentList(v *[]types.Contain return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.ContainerEnvironment + var cv []types.ContainerFleetLocationAttributes if *v == nil { - cv = []types.ContainerEnvironment{} + cv = []types.ContainerFleetLocationAttributes{} } else { cv = *v } for _, value := range shape { - var col types.ContainerEnvironment + var col types.ContainerFleetLocationAttributes destAddr := &col - if err := awsAwsjson11_deserializeDocumentContainerEnvironment(&destAddr, value); err != nil { + if err := awsAwsjson11_deserializeDocumentContainerFleetLocationAttributes(&destAddr, value); err != nil { return err } col = *destAddr @@ -14887,11 +16259,6 @@ func awsAwsjson11_deserializeDocumentContainerGroupDefinition(v **types.Containe for key, value := range shape { switch key { - case "ContainerDefinitions": - if err := awsAwsjson11_deserializeDocumentContainerDefinitionList(&sv.ContainerDefinitions, value); err != nil { - return err - } - case "ContainerGroupDefinitionArn": if value != nil { jtv, ok := value.(string) @@ -14901,6 +16268,15 @@ func awsAwsjson11_deserializeDocumentContainerGroupDefinition(v **types.Containe sv.ContainerGroupDefinitionArn = ptr.String(jtv) } + case "ContainerGroupType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ContainerGroupType to be of type string, got %T instead", value) + } + sv.ContainerGroupType = types.ContainerGroupType(jtv) + } + case "CreationTime": if value != nil { switch jtv := value.(type) { @@ -14917,6 +16293,11 @@ func awsAwsjson11_deserializeDocumentContainerGroupDefinition(v **types.Containe } } + case "GameServerContainerDefinition": + if err := awsAwsjson11_deserializeDocumentGameServerContainerDefinition(&sv.GameServerContainerDefinition, value); err != nil { + return err + } + case "Name": if value != nil { jtv, ok := value.(string) @@ -14926,66 +16307,105 @@ func awsAwsjson11_deserializeDocumentContainerGroupDefinition(v **types.Containe sv.Name = ptr.String(jtv) } - case "OperatingSystem": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ContainerOperatingSystem to be of type string, got %T instead", value) - } - sv.OperatingSystem = types.ContainerOperatingSystem(jtv) - } + case "OperatingSystem": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ContainerOperatingSystem to be of type string, got %T instead", value) + } + sv.OperatingSystem = types.ContainerOperatingSystem(jtv) + } + + case "Status": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ContainerGroupDefinitionStatus to be of type string, got %T instead", value) + } + sv.Status = types.ContainerGroupDefinitionStatus(jtv) + } + + case "StatusReason": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonZeroAndMaxString to be of type string, got %T instead", value) + } + sv.StatusReason = ptr.String(jtv) + } + + case "SupportContainerDefinitions": + if err := awsAwsjson11_deserializeDocumentSupportContainerDefinitionList(&sv.SupportContainerDefinitions, value); err != nil { + return err + } + + case "TotalMemoryLimitMebibytes": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected ContainerTotalMemoryLimit to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.TotalMemoryLimitMebibytes = ptr.Int32(int32(i64)) + } + + case "TotalVcpuLimit": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.TotalVcpuLimit = 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) - case "SchedulingStrategy": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ContainerSchedulingStrategy to be of type string, got %T instead", value) - } - sv.SchedulingStrategy = types.ContainerSchedulingStrategy(jtv) - } + } + sv.TotalVcpuLimit = ptr.Float64(f64) + + default: + return fmt.Errorf("expected ContainerTotalVcpuLimit to be a JSON Number, got %T instead", value) - case "Status": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ContainerGroupDefinitionStatus to be of type string, got %T instead", value) } - sv.Status = types.ContainerGroupDefinitionStatus(jtv) } - case "StatusReason": + case "VersionDescription": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected NonZeroAndMaxString to be of type string, got %T instead", value) } - sv.StatusReason = ptr.String(jtv) - } - - case "TotalCpuLimit": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected ContainerTotalCpuLimit to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.TotalCpuLimit = ptr.Int32(int32(i64)) + sv.VersionDescription = ptr.String(jtv) } - case "TotalMemoryLimit": + case "VersionNumber": if value != nil { jtv, ok := value.(json.Number) if !ok { - return fmt.Errorf("expected ContainerTotalMemoryLimit to be json.Number, got %T instead", value) + return fmt.Errorf("expected PositiveInteger to be json.Number, got %T instead", value) } i64, err := jtv.Int64() if err != nil { return err } - sv.TotalMemoryLimit = ptr.Int32(int32(i64)) + sv.VersionNumber = ptr.Int32(int32(i64)) } default: @@ -15031,41 +16451,7 @@ func awsAwsjson11_deserializeDocumentContainerGroupDefinitionList(v *[]types.Con return nil } -func awsAwsjson11_deserializeDocumentContainerGroupDefinitionPropertiesList(v *[]types.ContainerGroupDefinitionProperty, 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.ContainerGroupDefinitionProperty - if *v == nil { - cv = []types.ContainerGroupDefinitionProperty{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ContainerGroupDefinitionProperty - destAddr := &col - if err := awsAwsjson11_deserializeDocumentContainerGroupDefinitionProperty(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentContainerGroupDefinitionProperty(v **types.ContainerGroupDefinitionProperty, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerHealthCheck(v **types.ContainerHealthCheck, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -15078,77 +16464,70 @@ func awsAwsjson11_deserializeDocumentContainerGroupDefinitionProperty(v **types. return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ContainerGroupDefinitionProperty + var sv *types.ContainerHealthCheck if *v == nil { - sv = &types.ContainerGroupDefinitionProperty{} + sv = &types.ContainerHealthCheck{} } else { sv = *v } for key, value := range shape { switch key { - case "ContainerGroupDefinitionName": + case "Command": + if err := awsAwsjson11_deserializeDocumentContainerCommandStringList(&sv.Command, value); err != nil { + return err + } + + case "Interval": if value != nil { - jtv, ok := value.(string) + jtv, ok := value.(json.Number) if !ok { - return fmt.Errorf("expected ContainerGroupDefinitionName to be of type string, got %T instead", value) + return fmt.Errorf("expected ContainerHealthCheckInterval to be json.Number, got %T instead", value) } - sv.ContainerGroupDefinitionName = ptr.String(jtv) + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.Interval = ptr.Int32(int32(i64)) } - case "SchedulingStrategy": + case "Retries": if value != nil { - jtv, ok := value.(string) + jtv, ok := value.(json.Number) if !ok { - return fmt.Errorf("expected ContainerSchedulingStrategy to be of type string, got %T instead", value) + return fmt.Errorf("expected ContainerHealthCheckRetries to be json.Number, got %T instead", value) } - sv.SchedulingStrategy = types.ContainerSchedulingStrategy(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentContainerGroupsAttributes(v **types.ContainerGroupsAttributes, 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.ContainerGroupsAttributes - if *v == nil { - sv = &types.ContainerGroupsAttributes{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "ConnectionPortRange": - if err := awsAwsjson11_deserializeDocumentConnectionPortRange(&sv.ConnectionPortRange, value); err != nil { - return err + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.Retries = ptr.Int32(int32(i64)) } - case "ContainerGroupDefinitionProperties": - if err := awsAwsjson11_deserializeDocumentContainerGroupDefinitionPropertiesList(&sv.ContainerGroupDefinitionProperties, value); err != nil { - return err + case "StartPeriod": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected ContainerHealthCheckStartPeriod to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.StartPeriod = ptr.Int32(int32(i64)) } - case "ContainerGroupsPerInstance": - if err := awsAwsjson11_deserializeDocumentContainerGroupsPerInstance(&sv.ContainerGroupsPerInstance, value); err != nil { - return err + case "Timeout": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected ContainerHealthCheckTimeout to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.Timeout = ptr.Int32(int32(i64)) } default: @@ -15160,7 +16539,7 @@ func awsAwsjson11_deserializeDocumentContainerGroupsAttributes(v **types.Contain return nil } -func awsAwsjson11_deserializeDocumentContainerGroupsPerInstance(v **types.ContainerGroupsPerInstance, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerIdentifier(v **types.ContainerIdentifier, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -15173,39 +16552,31 @@ func awsAwsjson11_deserializeDocumentContainerGroupsPerInstance(v **types.Contai return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ContainerGroupsPerInstance + var sv *types.ContainerIdentifier if *v == nil { - sv = &types.ContainerGroupsPerInstance{} + sv = &types.ContainerIdentifier{} } else { sv = *v } for key, value := range shape { switch key { - case "DesiredReplicaContainerGroupsPerInstance": + case "ContainerName": if value != nil { - jtv, ok := value.(json.Number) + jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ReplicaContainerGroupsPerInstance to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err + return fmt.Errorf("expected NonZeroAnd128MaxAsciiString to be of type string, got %T instead", value) } - sv.DesiredReplicaContainerGroupsPerInstance = ptr.Int32(int32(i64)) + sv.ContainerName = ptr.String(jtv) } - case "MaxReplicaContainerGroupsPerInstance": + case "ContainerRuntimeId": if value != nil { - jtv, ok := value.(json.Number) + jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ReplicaContainerGroupsPerInstance to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err + return fmt.Errorf("expected NonEmptyString to be of type string, got %T instead", value) } - sv.MaxReplicaContainerGroupsPerInstance = ptr.Int32(int32(i64)) + sv.ContainerRuntimeId = ptr.String(jtv) } default: @@ -15217,7 +16588,7 @@ func awsAwsjson11_deserializeDocumentContainerGroupsPerInstance(v **types.Contai return nil } -func awsAwsjson11_deserializeDocumentContainerHealthCheck(v **types.ContainerHealthCheck, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerIdentifierList(v *[]types.ContainerIdentifier, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -15225,87 +16596,33 @@ func awsAwsjson11_deserializeDocumentContainerHealthCheck(v **types.ContainerHea 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.ContainerHealthCheck + var cv []types.ContainerIdentifier if *v == nil { - sv = &types.ContainerHealthCheck{} + cv = []types.ContainerIdentifier{} } else { - sv = *v + cv = *v } - for key, value := range shape { - switch key { - case "Command": - if err := awsAwsjson11_deserializeDocumentContainerCommandStringList(&sv.Command, value); err != nil { - return err - } - - case "Interval": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected ContainerHealthCheckInterval to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.Interval = ptr.Int32(int32(i64)) - } - - case "Retries": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected ContainerHealthCheckRetries to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.Retries = ptr.Int32(int32(i64)) - } - - case "StartPeriod": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected ContainerHealthCheckStartPeriod to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.StartPeriod = ptr.Int32(int32(i64)) - } - - case "Timeout": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected ContainerHealthCheckTimeout to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.Timeout = ptr.Int32(int32(i64)) - } - - default: - _, _ = key, value - + for _, value := range shape { + var col types.ContainerIdentifier + destAddr := &col + if err := awsAwsjson11_deserializeDocumentContainerIdentifier(&destAddr, value); err != nil { + return err } + col = *destAddr + cv = append(cv, col) + } - *v = sv + *v = cv return nil } -func awsAwsjson11_deserializeDocumentContainerMemoryLimits(v **types.ContainerMemoryLimits, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerMountPoint(v **types.ContainerMountPoint, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -15318,39 +16635,40 @@ func awsAwsjson11_deserializeDocumentContainerMemoryLimits(v **types.ContainerMe return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ContainerMemoryLimits + var sv *types.ContainerMountPoint if *v == nil { - sv = &types.ContainerMemoryLimits{} + sv = &types.ContainerMountPoint{} } else { sv = *v } for key, value := range shape { switch key { - case "HardLimit": + case "AccessLevel": if value != nil { - jtv, ok := value.(json.Number) + jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ContainerMemoryLimit to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err + return fmt.Errorf("expected ContainerMountPointAccessLevel to be of type string, got %T instead", value) } - sv.HardLimit = ptr.Int32(int32(i64)) + sv.AccessLevel = types.ContainerMountPointAccessLevel(jtv) } - case "SoftLimit": + case "ContainerPath": if value != nil { - jtv, ok := value.(json.Number) + jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ContainerMemoryLimit to be json.Number, got %T instead", value) + return fmt.Errorf("expected ContainerPathString to be of type string, got %T instead", value) } - i64, err := jtv.Int64() - if err != nil { - return err + sv.ContainerPath = ptr.String(jtv) + } + + case "InstancePath": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected InstancePathString to be of type string, got %T instead", value) } - sv.SoftLimit = ptr.Int32(int32(i64)) + sv.InstancePath = ptr.String(jtv) } default: @@ -15362,6 +16680,40 @@ func awsAwsjson11_deserializeDocumentContainerMemoryLimits(v **types.ContainerMe return nil } +func awsAwsjson11_deserializeDocumentContainerMountPointList(v *[]types.ContainerMountPoint, 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.ContainerMountPoint + if *v == nil { + cv = []types.ContainerMountPoint{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ContainerMountPoint + destAddr := &col + if err := awsAwsjson11_deserializeDocumentContainerMountPoint(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsAwsjson11_deserializeDocumentContainerPortConfiguration(v **types.ContainerPortConfiguration, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -15398,7 +16750,7 @@ func awsAwsjson11_deserializeDocumentContainerPortConfiguration(v **types.Contai return nil } -func awsAwsjson11_deserializeDocumentContainerPortMapping(v **types.ContainerPortMapping, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerPortRange(v **types.ContainerPortRange, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -15411,16 +16763,16 @@ func awsAwsjson11_deserializeDocumentContainerPortMapping(v **types.ContainerPor return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ContainerPortMapping + var sv *types.ContainerPortRange if *v == nil { - sv = &types.ContainerPortMapping{} + sv = &types.ContainerPortRange{} } else { sv = *v } for key, value := range shape { switch key { - case "ConnectionPort": + case "FromPort": if value != nil { jtv, ok := value.(json.Number) if !ok { @@ -15430,10 +16782,19 @@ func awsAwsjson11_deserializeDocumentContainerPortMapping(v **types.ContainerPor if err != nil { return err } - sv.ConnectionPort = ptr.Int32(int32(i64)) + sv.FromPort = ptr.Int32(int32(i64)) + } + + case "Protocol": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected IpProtocol to be of type string, got %T instead", value) + } + sv.Protocol = types.IpProtocol(jtv) } - case "ContainerPort": + case "ToPort": if value != nil { jtv, ok := value.(json.Number) if !ok { @@ -15443,16 +16804,7 @@ func awsAwsjson11_deserializeDocumentContainerPortMapping(v **types.ContainerPor if err != nil { return err } - sv.ContainerPort = ptr.Int32(int32(i64)) - } - - case "Protocol": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected IpProtocol to be of type string, got %T instead", value) - } - sv.Protocol = types.IpProtocol(jtv) + sv.ToPort = ptr.Int32(int32(i64)) } default: @@ -15464,7 +16816,7 @@ func awsAwsjson11_deserializeDocumentContainerPortMapping(v **types.ContainerPor return nil } -func awsAwsjson11_deserializeDocumentContainerPortMappingList(v *[]types.ContainerPortMapping, value interface{}) error { +func awsAwsjson11_deserializeDocumentContainerPortRangeList(v *[]types.ContainerPortRange, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -15477,17 +16829,17 @@ func awsAwsjson11_deserializeDocumentContainerPortMappingList(v *[]types.Contain return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.ContainerPortMapping + var cv []types.ContainerPortRange if *v == nil { - cv = []types.ContainerPortMapping{} + cv = []types.ContainerPortRange{} } else { cv = *v } for _, value := range shape { - var col types.ContainerPortMapping + var col types.ContainerPortRange destAddr := &col - if err := awsAwsjson11_deserializeDocumentContainerPortMapping(&destAddr, value); err != nil { + if err := awsAwsjson11_deserializeDocumentContainerPortRange(&destAddr, value); err != nil { return err } col = *destAddr @@ -15498,7 +16850,7 @@ func awsAwsjson11_deserializeDocumentContainerPortMappingList(v *[]types.Contain return nil } -func awsAwsjson11_deserializeDocumentContainerPortRange(v **types.ContainerPortRange, value interface{}) error { +func awsAwsjson11_deserializeDocumentDeploymentConfiguration(v **types.DeploymentConfiguration, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -15511,48 +16863,44 @@ func awsAwsjson11_deserializeDocumentContainerPortRange(v **types.ContainerPortR return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ContainerPortRange + var sv *types.DeploymentConfiguration if *v == nil { - sv = &types.ContainerPortRange{} + sv = &types.DeploymentConfiguration{} } else { sv = *v } for key, value := range shape { switch key { - case "FromPort": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected PortNumber to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.FromPort = ptr.Int32(int32(i64)) - } - - case "Protocol": + case "ImpairmentStrategy": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected IpProtocol to be of type string, got %T instead", value) + return fmt.Errorf("expected DeploymentImpairmentStrategy to be of type string, got %T instead", value) } - sv.Protocol = types.IpProtocol(jtv) + sv.ImpairmentStrategy = types.DeploymentImpairmentStrategy(jtv) } - case "ToPort": + case "MinimumHealthyPercentage": if value != nil { jtv, ok := value.(json.Number) if !ok { - return fmt.Errorf("expected PortNumber to be json.Number, got %T instead", value) + return fmt.Errorf("expected MinimumHealthyPercentage to be json.Number, got %T instead", value) } i64, err := jtv.Int64() if err != nil { return err } - sv.ToPort = ptr.Int32(int32(i64)) + sv.MinimumHealthyPercentage = ptr.Int32(int32(i64)) + } + + case "ProtectionStrategy": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DeploymentProtectionStrategy to be of type string, got %T instead", value) + } + sv.ProtectionStrategy = types.DeploymentProtectionStrategy(jtv) } default: @@ -15564,7 +16912,7 @@ func awsAwsjson11_deserializeDocumentContainerPortRange(v **types.ContainerPortR return nil } -func awsAwsjson11_deserializeDocumentContainerPortRangeList(v *[]types.ContainerPortRange, value interface{}) error { +func awsAwsjson11_deserializeDocumentDeploymentDetails(v **types.DeploymentDetails, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -15572,29 +16920,35 @@ func awsAwsjson11_deserializeDocumentContainerPortRangeList(v *[]types.Container 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.ContainerPortRange + var sv *types.DeploymentDetails if *v == nil { - cv = []types.ContainerPortRange{} + sv = &types.DeploymentDetails{} } else { - cv = *v + sv = *v } - for _, value := range shape { - var col types.ContainerPortRange - destAddr := &col - if err := awsAwsjson11_deserializeDocumentContainerPortRange(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) + for key, value := range shape { + switch key { + case "LatestDeploymentId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DeploymentId to be of type string, got %T instead", value) + } + sv.LatestDeploymentId = ptr.String(jtv) + } + + default: + _, _ = key, value + } } - *v = cv + *v = sv return nil } @@ -16099,11 +17453,6 @@ func awsAwsjson11_deserializeDocumentFleetAttributes(v **types.FleetAttributes, sv.ComputeType = types.ComputeType(jtv) } - case "ContainerGroupsAttributes": - if err := awsAwsjson11_deserializeDocumentContainerGroupsAttributes(&sv.ContainerGroupsAttributes, value); err != nil { - return err - } - case "CreationTime": if value != nil { switch jtv := value.(type) { @@ -16374,6 +17723,11 @@ func awsAwsjson11_deserializeDocumentFleetCapacity(v **types.FleetCapacity, valu sv.FleetId = ptr.String(jtv) } + case "GameServerContainerGroupCounts": + if err := awsAwsjson11_deserializeDocumentGameServerContainerGroupCounts(&sv.GameServerContainerGroupCounts, value); err != nil { + return err + } + case "InstanceCounts": if err := awsAwsjson11_deserializeDocumentEC2InstanceCounts(&sv.InstanceCounts, value); err != nil { return err @@ -16397,9 +17751,44 @@ func awsAwsjson11_deserializeDocumentFleetCapacity(v **types.FleetCapacity, valu sv.Location = ptr.String(jtv) } - case "ReplicaContainerGroupCounts": - if err := awsAwsjson11_deserializeDocumentReplicaContainerGroupCounts(&sv.ReplicaContainerGroupCounts, value); err != nil { - return err + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentFleetCapacityExceededException(v **types.FleetCapacityExceededException, 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.FleetCapacityExceededException + if *v == nil { + sv = &types.FleetCapacityExceededException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "message", "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonEmptyString to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) } default: @@ -16411,7 +17800,41 @@ func awsAwsjson11_deserializeDocumentFleetCapacity(v **types.FleetCapacity, valu return nil } -func awsAwsjson11_deserializeDocumentFleetCapacityExceededException(v **types.FleetCapacityExceededException, value interface{}) error { +func awsAwsjson11_deserializeDocumentFleetCapacityList(v *[]types.FleetCapacity, 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.FleetCapacity + if *v == nil { + cv = []types.FleetCapacity{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.FleetCapacity + destAddr := &col + if err := awsAwsjson11_deserializeDocumentFleetCapacity(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsAwsjson11_deserializeDocumentFleetDeployment(v **types.FleetDeployment, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -16419,27 +17842,102 @@ func awsAwsjson11_deserializeDocumentFleetCapacityExceededException(v **types.Fl return nil } - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.FleetDeployment + if *v == nil { + sv = &types.FleetDeployment{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "CreationTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreationTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "DeploymentConfiguration": + if err := awsAwsjson11_deserializeDocumentDeploymentConfiguration(&sv.DeploymentConfiguration, value); err != nil { + return err + } + + case "DeploymentId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DeploymentId to be of type string, got %T instead", value) + } + sv.DeploymentId = ptr.String(jtv) + } + + case "DeploymentStatus": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DeploymentStatus to be of type string, got %T instead", value) + } + sv.DeploymentStatus = types.DeploymentStatus(jtv) + } + + case "FleetId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FleetId to be of type string, got %T instead", value) + } + sv.FleetId = ptr.String(jtv) + } + + case "GameServerBinaryArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FleetBinaryArn to be of type string, got %T instead", value) + } + sv.GameServerBinaryArn = ptr.String(jtv) + } + + case "PerInstanceBinaryArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FleetBinaryArn to be of type string, got %T instead", value) + } + sv.PerInstanceBinaryArn = ptr.String(jtv) + } - var sv *types.FleetCapacityExceededException - if *v == nil { - sv = &types.FleetCapacityExceededException{} - } else { - sv = *v - } + case "RollbackGameServerBinaryArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FleetBinaryArn to be of type string, got %T instead", value) + } + sv.RollbackGameServerBinaryArn = ptr.String(jtv) + } - for key, value := range shape { - switch key { - case "message", "Message": + case "RollbackPerInstanceBinaryArn": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected NonEmptyString to be of type string, got %T instead", value) + return fmt.Errorf("expected FleetBinaryArn to be of type string, got %T instead", value) } - sv.Message = ptr.String(jtv) + sv.RollbackPerInstanceBinaryArn = ptr.String(jtv) } default: @@ -16451,7 +17949,7 @@ func awsAwsjson11_deserializeDocumentFleetCapacityExceededException(v **types.Fl return nil } -func awsAwsjson11_deserializeDocumentFleetCapacityList(v *[]types.FleetCapacity, value interface{}) error { +func awsAwsjson11_deserializeDocumentFleetDeployments(v *[]types.FleetDeployment, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -16464,17 +17962,17 @@ func awsAwsjson11_deserializeDocumentFleetCapacityList(v *[]types.FleetCapacity, return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.FleetCapacity + var cv []types.FleetDeployment if *v == nil { - cv = []types.FleetCapacity{} + cv = []types.FleetDeployment{} } else { cv = *v } for _, value := range shape { - var col types.FleetCapacity + var col types.FleetDeployment destAddr := &col - if err := awsAwsjson11_deserializeDocumentFleetCapacity(&destAddr, value); err != nil { + if err := awsAwsjson11_deserializeDocumentFleetDeployment(&destAddr, value); err != nil { return err } col = *destAddr @@ -16899,6 +18397,176 @@ func awsAwsjson11_deserializeDocumentGameServer(v **types.GameServer, value inte return nil } +func awsAwsjson11_deserializeDocumentGameServerContainerDefinition(v **types.GameServerContainerDefinition, 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.GameServerContainerDefinition + if *v == nil { + sv = &types.GameServerContainerDefinition{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ContainerName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonZeroAnd128MaxAsciiString to be of type string, got %T instead", value) + } + sv.ContainerName = ptr.String(jtv) + } + + case "DependsOn": + if err := awsAwsjson11_deserializeDocumentContainerDependencyList(&sv.DependsOn, value); err != nil { + return err + } + + case "EnvironmentOverride": + if err := awsAwsjson11_deserializeDocumentContainerEnvironmentList(&sv.EnvironmentOverride, value); err != nil { + return err + } + + case "ImageUri": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ImageUriString to be of type string, got %T instead", value) + } + sv.ImageUri = ptr.String(jtv) + } + + case "MountPoints": + if err := awsAwsjson11_deserializeDocumentContainerMountPointList(&sv.MountPoints, value); err != nil { + return err + } + + case "PortConfiguration": + if err := awsAwsjson11_deserializeDocumentContainerPortConfiguration(&sv.PortConfiguration, value); err != nil { + return err + } + + case "ResolvedImageDigest": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Sha256 to be of type string, got %T instead", value) + } + sv.ResolvedImageDigest = ptr.String(jtv) + } + + case "ServerSdkVersion": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ServerSdkVersion to be of type string, got %T instead", value) + } + sv.ServerSdkVersion = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentGameServerContainerGroupCounts(v **types.GameServerContainerGroupCounts, 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.GameServerContainerGroupCounts + if *v == nil { + sv = &types.GameServerContainerGroupCounts{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ACTIVE": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected WholeNumber to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.ACTIVE = ptr.Int32(int32(i64)) + } + + case "IDLE": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected WholeNumber to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.IDLE = ptr.Int32(int32(i64)) + } + + case "PENDING": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected WholeNumber to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.PENDING = ptr.Int32(int32(i64)) + } + + case "TERMINATING": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected WholeNumber to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.TERMINATING = ptr.Int32(int32(i64)) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentGameServerGroup(v **types.GameServerGroup, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -17473,7 +19141,83 @@ func awsAwsjson11_deserializeDocumentGameSession(v **types.GameSession, value in return nil } -func awsAwsjson11_deserializeDocumentGameSessionConnectionInfo(v **types.GameSessionConnectionInfo, value interface{}) error { +func awsAwsjson11_deserializeDocumentGameSessionConnectionInfo(v **types.GameSessionConnectionInfo, 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.GameSessionConnectionInfo + if *v == nil { + sv = &types.GameSessionConnectionInfo{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "DnsName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DnsName to be of type string, got %T instead", value) + } + sv.DnsName = ptr.String(jtv) + } + + case "GameSessionArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ArnStringModel to be of type string, got %T instead", value) + } + sv.GameSessionArn = ptr.String(jtv) + } + + case "IpAddress": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected IpAddress to be of type string, got %T instead", value) + } + sv.IpAddress = ptr.String(jtv) + } + + case "MatchedPlayerSessions": + if err := awsAwsjson11_deserializeDocumentMatchedPlayerSessionList(&sv.MatchedPlayerSessions, value); err != nil { + return err + } + + case "Port": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected PositiveInteger to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.Port = ptr.Int32(int32(i64)) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentGameSessionCreationLimitPolicy(v **types.GameSessionCreationLimitPolicy, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -17486,58 +19230,39 @@ func awsAwsjson11_deserializeDocumentGameSessionConnectionInfo(v **types.GameSes return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.GameSessionConnectionInfo + var sv *types.GameSessionCreationLimitPolicy if *v == nil { - sv = &types.GameSessionConnectionInfo{} + sv = &types.GameSessionCreationLimitPolicy{} } else { sv = *v } for key, value := range shape { switch key { - case "DnsName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected DnsName to be of type string, got %T instead", value) - } - sv.DnsName = ptr.String(jtv) - } - - case "GameSessionArn": + case "NewGameSessionsPerCreator": if value != nil { - jtv, ok := value.(string) + jtv, ok := value.(json.Number) if !ok { - return fmt.Errorf("expected ArnStringModel to be of type string, got %T instead", value) + return fmt.Errorf("expected WholeNumber to be json.Number, got %T instead", value) } - sv.GameSessionArn = ptr.String(jtv) - } - - case "IpAddress": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected IpAddress to be of type string, got %T instead", value) + i64, err := jtv.Int64() + if err != nil { + return err } - sv.IpAddress = ptr.String(jtv) - } - - case "MatchedPlayerSessions": - if err := awsAwsjson11_deserializeDocumentMatchedPlayerSessionList(&sv.MatchedPlayerSessions, value); err != nil { - return err + sv.NewGameSessionsPerCreator = ptr.Int32(int32(i64)) } - case "Port": + case "PolicyPeriodInMinutes": if value != nil { jtv, ok := value.(json.Number) if !ok { - return fmt.Errorf("expected PositiveInteger to be json.Number, got %T instead", value) + return fmt.Errorf("expected WholeNumber to be json.Number, got %T instead", value) } i64, err := jtv.Int64() if err != nil { return err } - sv.Port = ptr.Int32(int32(i64)) + sv.PolicyPeriodInMinutes = ptr.Int32(int32(i64)) } default: @@ -18868,6 +20593,81 @@ func awsAwsjson11_deserializeDocumentLimitExceededException(v **types.LimitExcee return nil } +func awsAwsjson11_deserializeDocumentLocationalDeployment(v **types.LocationalDeployment, 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.LocationalDeployment + if *v == nil { + sv = &types.LocationalDeployment{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "DeploymentStatus": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DeploymentStatus to be of type string, got %T instead", value) + } + sv.DeploymentStatus = types.DeploymentStatus(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentLocationalDeployments(v *map[string]types.LocationalDeployment, 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 mv map[string]types.LocationalDeployment + if *v == nil { + mv = map[string]types.LocationalDeployment{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal types.LocationalDeployment + mapVar := parsedVal + destAddr := &mapVar + if err := awsAwsjson11_deserializeDocumentLocationalDeployment(&destAddr, value); err != nil { + return err + } + parsedVal = *destAddr + mv[key] = parsedVal + + } + *v = mv + return nil +} + func awsAwsjson11_deserializeDocumentLocationAttributes(v **types.LocationAttributes, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -19154,6 +20954,64 @@ func awsAwsjson11_deserializeDocumentLocationStateList(v *[]types.LocationState, return nil } +func awsAwsjson11_deserializeDocumentLogConfiguration(v **types.LogConfiguration, 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.LogConfiguration + if *v == nil { + sv = &types.LogConfiguration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "LogDestination": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected LogDestination to be of type string, got %T instead", value) + } + sv.LogDestination = types.LogDestination(jtv) + } + + case "LogGroupArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected LogGroupArnStringModel to be of type string, got %T instead", value) + } + sv.LogGroupArn = ptr.String(jtv) + } + + case "S3BucketName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonEmptyString to be of type string, got %T instead", value) + } + sv.S3BucketName = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentMatchedPlayerSession(v **types.MatchedPlayerSession, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -20705,105 +22563,22 @@ func awsAwsjson11_deserializeDocumentQueueArnsList(v *[]string, value interface{ 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 ArnStringModel to be of type string, got %T instead", value) - } - col = jtv - } - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentReplicaContainerGroupCounts(v **types.ReplicaContainerGroupCounts, 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.ReplicaContainerGroupCounts - if *v == nil { - sv = &types.ReplicaContainerGroupCounts{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "ACTIVE": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected WholeNumber to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.ACTIVE = ptr.Int32(int32(i64)) - } - - case "IDLE": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected WholeNumber to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.IDLE = ptr.Int32(int32(i64)) - } - - case "PENDING": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected WholeNumber to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.PENDING = ptr.Int32(int32(i64)) - } - - case "TERMINATING": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected WholeNumber to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.TERMINATING = ptr.Int32(int32(i64)) - } - - default: - _, _ = key, value + cv = *v + } + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ArnStringModel to be of type string, got %T instead", value) + } + col = jtv } + cv = append(cv, col) + } - *v = sv + *v = cv return nil } @@ -21538,6 +23313,179 @@ func awsAwsjson11_deserializeDocumentStringList(v *[]string, value interface{}) return nil } +func awsAwsjson11_deserializeDocumentSupportContainerDefinition(v **types.SupportContainerDefinition, 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.SupportContainerDefinition + if *v == nil { + sv = &types.SupportContainerDefinition{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ContainerName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonZeroAnd128MaxAsciiString to be of type string, got %T instead", value) + } + sv.ContainerName = ptr.String(jtv) + } + + case "DependsOn": + if err := awsAwsjson11_deserializeDocumentContainerDependencyList(&sv.DependsOn, value); err != nil { + return err + } + + case "EnvironmentOverride": + if err := awsAwsjson11_deserializeDocumentContainerEnvironmentList(&sv.EnvironmentOverride, value); err != nil { + return err + } + + case "Essential": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected BooleanModel to be of type *bool, got %T instead", value) + } + sv.Essential = ptr.Bool(jtv) + } + + case "HealthCheck": + if err := awsAwsjson11_deserializeDocumentContainerHealthCheck(&sv.HealthCheck, value); err != nil { + return err + } + + case "ImageUri": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ImageUriString to be of type string, got %T instead", value) + } + sv.ImageUri = ptr.String(jtv) + } + + case "MemoryHardLimitMebibytes": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected ContainerMemoryLimit to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.MemoryHardLimitMebibytes = ptr.Int32(int32(i64)) + } + + case "MountPoints": + if err := awsAwsjson11_deserializeDocumentContainerMountPointList(&sv.MountPoints, value); err != nil { + return err + } + + case "PortConfiguration": + if err := awsAwsjson11_deserializeDocumentContainerPortConfiguration(&sv.PortConfiguration, value); err != nil { + return err + } + + case "ResolvedImageDigest": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Sha256 to be of type string, got %T instead", value) + } + sv.ResolvedImageDigest = ptr.String(jtv) + } + + case "Vcpu": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Vcpu = 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.Vcpu = ptr.Float64(f64) + + default: + return fmt.Errorf("expected ContainerVcpu to be a JSON Number, got %T instead", value) + + } + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentSupportContainerDefinitionList(v *[]types.SupportContainerDefinition, 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.SupportContainerDefinition + if *v == nil { + cv = []types.SupportContainerDefinition{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.SupportContainerDefinition + destAddr := &col + if err := awsAwsjson11_deserializeDocumentSupportContainerDefinition(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsAwsjson11_deserializeDocumentTag(v **types.Tag, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -22292,6 +24240,42 @@ func awsAwsjson11_deserializeOpDocumentCreateBuildOutput(v **CreateBuildOutput, return nil } +func awsAwsjson11_deserializeOpDocumentCreateContainerFleetOutput(v **CreateContainerFleetOutput, 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 *CreateContainerFleetOutput + if *v == nil { + sv = &CreateContainerFleetOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ContainerFleet": + if err := awsAwsjson11_deserializeDocumentContainerFleet(&sv.ContainerFleet, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentCreateContainerGroupDefinitionOutput(v **CreateContainerGroupDefinitionOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -22814,6 +24798,68 @@ func awsAwsjson11_deserializeOpDocumentCreateVpcPeeringConnectionOutput(v **Crea return nil } +func awsAwsjson11_deserializeOpDocumentDeleteContainerFleetOutput(v **DeleteContainerFleetOutput, 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 *DeleteContainerFleetOutput + if *v == nil { + sv = &DeleteContainerFleetOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeOpDocumentDeleteContainerGroupDefinitionOutput(v **DeleteContainerGroupDefinitionOutput, 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 *DeleteContainerGroupDefinitionOutput + if *v == nil { + sv = &DeleteContainerGroupDefinitionOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentDeleteFleetLocationsOutput(v **DeleteFleetLocationsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -23229,6 +25275,42 @@ func awsAwsjson11_deserializeOpDocumentDescribeComputeOutput(v **DescribeCompute return nil } +func awsAwsjson11_deserializeOpDocumentDescribeContainerFleetOutput(v **DescribeContainerFleetOutput, 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 *DescribeContainerFleetOutput + if *v == nil { + sv = &DescribeContainerFleetOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ContainerFleet": + if err := awsAwsjson11_deserializeDocumentContainerFleet(&sv.ContainerFleet, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentDescribeContainerGroupDefinitionOutput(v **DescribeContainerGroupDefinitionOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -23391,6 +25473,47 @@ func awsAwsjson11_deserializeOpDocumentDescribeFleetCapacityOutput(v **DescribeF return nil } +func awsAwsjson11_deserializeOpDocumentDescribeFleetDeploymentOutput(v **DescribeFleetDeploymentOutput, 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 *DescribeFleetDeploymentOutput + if *v == nil { + sv = &DescribeFleetDeploymentOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "FleetDeployment": + if err := awsAwsjson11_deserializeDocumentFleetDeployment(&sv.FleetDeployment, value); err != nil { + return err + } + + case "LocationalDeployments": + if err := awsAwsjson11_deserializeDocumentLocationalDeployments(&sv.LocationalDeployments, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentDescribeFleetEventsOutput(v **DescribeFleetEventsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -24421,6 +26544,11 @@ func awsAwsjson11_deserializeOpDocumentGetComputeAccessOutput(v **GetComputeAcce sv.ComputeName = ptr.String(jtv) } + case "ContainerIdentifiers": + if err := awsAwsjson11_deserializeDocumentContainerIdentifierList(&sv.ContainerIdentifiers, value); err != nil { + return err + } + case "Credentials": if err := awsAwsjson11_deserializeDocumentAwsCredentials(&sv.Credentials, value); err != nil { return err @@ -24765,6 +26893,51 @@ func awsAwsjson11_deserializeOpDocumentListComputeOutput(v **ListComputeOutput, return nil } +func awsAwsjson11_deserializeOpDocumentListContainerFleetsOutput(v **ListContainerFleetsOutput, 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 *ListContainerFleetsOutput + if *v == nil { + sv = &ListContainerFleetsOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ContainerFleets": + if err := awsAwsjson11_deserializeDocumentContainerFleetList(&sv.ContainerFleets, value); err != nil { + return err + } + + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonZeroAndMaxString to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentListContainerGroupDefinitionsOutput(v **ListContainerGroupDefinitionsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -24796,7 +26969,97 @@ func awsAwsjson11_deserializeOpDocumentListContainerGroupDefinitionsOutput(v **L if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected NonEmptyString to be of type string, got %T instead", value) + return fmt.Errorf("expected NonZeroAndMaxString to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeOpDocumentListContainerGroupDefinitionVersionsOutput(v **ListContainerGroupDefinitionVersionsOutput, 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 *ListContainerGroupDefinitionVersionsOutput + if *v == nil { + sv = &ListContainerGroupDefinitionVersionsOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ContainerGroupDefinitions": + if err := awsAwsjson11_deserializeDocumentContainerGroupDefinitionList(&sv.ContainerGroupDefinitions, value); err != nil { + return err + } + + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonZeroAndMaxString to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeOpDocumentListFleetDeploymentsOutput(v **ListFleetDeploymentsOutput, 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 *ListFleetDeploymentsOutput + if *v == nil { + sv = &ListFleetDeploymentsOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "FleetDeployments": + if err := awsAwsjson11_deserializeDocumentFleetDeployments(&sv.FleetDeployments, value); err != nil { + return err + } + + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonZeroAndMaxString to be of type string, got %T instead", value) } sv.NextToken = ptr.String(jtv) } @@ -25797,6 +28060,78 @@ func awsAwsjson11_deserializeOpDocumentUpdateBuildOutput(v **UpdateBuildOutput, return nil } +func awsAwsjson11_deserializeOpDocumentUpdateContainerFleetOutput(v **UpdateContainerFleetOutput, 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 *UpdateContainerFleetOutput + if *v == nil { + sv = &UpdateContainerFleetOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ContainerFleet": + if err := awsAwsjson11_deserializeDocumentContainerFleet(&sv.ContainerFleet, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeOpDocumentUpdateContainerGroupDefinitionOutput(v **UpdateContainerGroupDefinitionOutput, 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 *UpdateContainerGroupDefinitionOutput + if *v == nil { + sv = &UpdateContainerGroupDefinitionOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ContainerGroupDefinition": + if err := awsAwsjson11_deserializeDocumentContainerGroupDefinition(&sv.ContainerGroupDefinition, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentUpdateFleetAttributesOutput(v **UpdateFleetAttributesOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/gamelift/generated.json b/service/gamelift/generated.json index 0a2bee7c9b4..b729a81f083 100644 --- a/service/gamelift/generated.json +++ b/service/gamelift/generated.json @@ -12,6 +12,7 @@ "api_op_ClaimGameServer.go", "api_op_CreateAlias.go", "api_op_CreateBuild.go", + "api_op_CreateContainerFleet.go", "api_op_CreateContainerGroupDefinition.go", "api_op_CreateFleet.go", "api_op_CreateFleetLocations.go", @@ -28,6 +29,7 @@ "api_op_CreateVpcPeeringConnection.go", "api_op_DeleteAlias.go", "api_op_DeleteBuild.go", + "api_op_DeleteContainerFleet.go", "api_op_DeleteContainerGroupDefinition.go", "api_op_DeleteFleet.go", "api_op_DeleteFleetLocations.go", @@ -45,10 +47,12 @@ "api_op_DescribeAlias.go", "api_op_DescribeBuild.go", "api_op_DescribeCompute.go", + "api_op_DescribeContainerFleet.go", "api_op_DescribeContainerGroupDefinition.go", "api_op_DescribeEC2InstanceLimits.go", "api_op_DescribeFleetAttributes.go", "api_op_DescribeFleetCapacity.go", + "api_op_DescribeFleetDeployment.go", "api_op_DescribeFleetEvents.go", "api_op_DescribeFleetLocationAttributes.go", "api_op_DescribeFleetLocationCapacity.go", @@ -79,7 +83,10 @@ "api_op_ListAliases.go", "api_op_ListBuilds.go", "api_op_ListCompute.go", + "api_op_ListContainerFleets.go", + "api_op_ListContainerGroupDefinitionVersions.go", "api_op_ListContainerGroupDefinitions.go", + "api_op_ListFleetDeployments.go", "api_op_ListFleets.go", "api_op_ListGameServerGroups.go", "api_op_ListGameServers.go", @@ -105,6 +112,8 @@ "api_op_UntagResource.go", "api_op_UpdateAlias.go", "api_op_UpdateBuild.go", + "api_op_UpdateContainerFleet.go", + "api_op_UpdateContainerGroupDefinition.go", "api_op_UpdateFleetAttributes.go", "api_op_UpdateFleetCapacity.go", "api_op_UpdateFleetPortSettings.go", diff --git a/service/gamelift/serializers.go b/service/gamelift/serializers.go index 81546b6c8dc..2d8d27c9c39 100644 --- a/service/gamelift/serializers.go +++ b/service/gamelift/serializers.go @@ -262,6 +262,67 @@ func (m *awsAwsjson11_serializeOpCreateBuild) HandleSerialize(ctx context.Contex return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpCreateContainerFleet struct { +} + +func (*awsAwsjson11_serializeOpCreateContainerFleet) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpCreateContainerFleet) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() + defer span.End() + 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.(*CreateContainerFleetInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + 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("GameLift.CreateContainerFleet") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentCreateContainerFleetInput(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 + + endTimer() + span.End() + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpCreateContainerGroupDefinition struct { } @@ -1238,6 +1299,67 @@ func (m *awsAwsjson11_serializeOpDeleteBuild) HandleSerialize(ctx context.Contex return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpDeleteContainerFleet struct { +} + +func (*awsAwsjson11_serializeOpDeleteContainerFleet) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpDeleteContainerFleet) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() + defer span.End() + 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.(*DeleteContainerFleetInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + 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("GameLift.DeleteContainerFleet") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentDeleteContainerFleetInput(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 + + endTimer() + span.End() + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpDeleteContainerGroupDefinition struct { } @@ -2275,6 +2397,67 @@ func (m *awsAwsjson11_serializeOpDescribeCompute) HandleSerialize(ctx context.Co return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpDescribeContainerFleet struct { +} + +func (*awsAwsjson11_serializeOpDescribeContainerFleet) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpDescribeContainerFleet) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() + defer span.End() + 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.(*DescribeContainerFleetInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + 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("GameLift.DescribeContainerFleet") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentDescribeContainerFleetInput(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 + + endTimer() + span.End() + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpDescribeContainerGroupDefinition struct { } @@ -2519,6 +2702,67 @@ func (m *awsAwsjson11_serializeOpDescribeFleetCapacity) HandleSerialize(ctx cont return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpDescribeFleetDeployment struct { +} + +func (*awsAwsjson11_serializeOpDescribeFleetDeployment) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpDescribeFleetDeployment) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() + defer span.End() + 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.(*DescribeFleetDeploymentInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + 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("GameLift.DescribeFleetDeployment") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentDescribeFleetDeploymentInput(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 + + endTimer() + span.End() + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpDescribeFleetEvents struct { } @@ -4349,14 +4593,14 @@ func (m *awsAwsjson11_serializeOpListCompute) HandleSerialize(ctx context.Contex return next.HandleSerialize(ctx, in) } -type awsAwsjson11_serializeOpListContainerGroupDefinitions struct { +type awsAwsjson11_serializeOpListContainerFleets struct { } -func (*awsAwsjson11_serializeOpListContainerGroupDefinitions) ID() string { +func (*awsAwsjson11_serializeOpListContainerFleets) ID() string { return "OperationSerializer" } -func (m *awsAwsjson11_serializeOpListContainerGroupDefinitions) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsAwsjson11_serializeOpListContainerFleets) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") @@ -4368,7 +4612,7 @@ func (m *awsAwsjson11_serializeOpListContainerGroupDefinitions) HandleSerialize( return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*ListContainerGroupDefinitionsInput) + input, ok := in.Parameters.(*ListContainerFleetsInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} @@ -4389,10 +4633,10 @@ func (m *awsAwsjson11_serializeOpListContainerGroupDefinitions) HandleSerialize( return out, metadata, &smithy.SerializationError{Err: err} } httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.ListContainerGroupDefinitions") + httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.ListContainerFleets") jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentListContainerGroupDefinitionsInput(input, jsonEncoder.Value); err != nil { + if err := awsAwsjson11_serializeOpDocumentListContainerFleetsInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -4410,14 +4654,14 @@ func (m *awsAwsjson11_serializeOpListContainerGroupDefinitions) HandleSerialize( return next.HandleSerialize(ctx, in) } -type awsAwsjson11_serializeOpListFleets struct { +type awsAwsjson11_serializeOpListContainerGroupDefinitions struct { } -func (*awsAwsjson11_serializeOpListFleets) ID() string { +func (*awsAwsjson11_serializeOpListContainerGroupDefinitions) ID() string { return "OperationSerializer" } -func (m *awsAwsjson11_serializeOpListFleets) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsAwsjson11_serializeOpListContainerGroupDefinitions) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") @@ -4429,7 +4673,7 @@ func (m *awsAwsjson11_serializeOpListFleets) HandleSerialize(ctx context.Context return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*ListFleetsInput) + input, ok := in.Parameters.(*ListContainerGroupDefinitionsInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} @@ -4450,10 +4694,10 @@ func (m *awsAwsjson11_serializeOpListFleets) HandleSerialize(ctx context.Context return out, metadata, &smithy.SerializationError{Err: err} } httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.ListFleets") + httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.ListContainerGroupDefinitions") jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentListFleetsInput(input, jsonEncoder.Value); err != nil { + if err := awsAwsjson11_serializeOpDocumentListContainerGroupDefinitionsInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -4471,14 +4715,14 @@ func (m *awsAwsjson11_serializeOpListFleets) HandleSerialize(ctx context.Context return next.HandleSerialize(ctx, in) } -type awsAwsjson11_serializeOpListGameServerGroups struct { +type awsAwsjson11_serializeOpListContainerGroupDefinitionVersions struct { } -func (*awsAwsjson11_serializeOpListGameServerGroups) ID() string { +func (*awsAwsjson11_serializeOpListContainerGroupDefinitionVersions) ID() string { return "OperationSerializer" } -func (m *awsAwsjson11_serializeOpListGameServerGroups) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsAwsjson11_serializeOpListContainerGroupDefinitionVersions) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") @@ -4490,7 +4734,7 @@ func (m *awsAwsjson11_serializeOpListGameServerGroups) HandleSerialize(ctx conte return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*ListGameServerGroupsInput) + input, ok := in.Parameters.(*ListContainerGroupDefinitionVersionsInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} @@ -4511,10 +4755,10 @@ func (m *awsAwsjson11_serializeOpListGameServerGroups) HandleSerialize(ctx conte return out, metadata, &smithy.SerializationError{Err: err} } httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.ListGameServerGroups") + httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.ListContainerGroupDefinitionVersions") jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentListGameServerGroupsInput(input, jsonEncoder.Value); err != nil { + if err := awsAwsjson11_serializeOpDocumentListContainerGroupDefinitionVersionsInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -4532,14 +4776,14 @@ func (m *awsAwsjson11_serializeOpListGameServerGroups) HandleSerialize(ctx conte return next.HandleSerialize(ctx, in) } -type awsAwsjson11_serializeOpListGameServers struct { +type awsAwsjson11_serializeOpListFleetDeployments struct { } -func (*awsAwsjson11_serializeOpListGameServers) ID() string { +func (*awsAwsjson11_serializeOpListFleetDeployments) ID() string { return "OperationSerializer" } -func (m *awsAwsjson11_serializeOpListGameServers) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsAwsjson11_serializeOpListFleetDeployments) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") @@ -4551,7 +4795,7 @@ func (m *awsAwsjson11_serializeOpListGameServers) HandleSerialize(ctx context.Co return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*ListGameServersInput) + input, ok := in.Parameters.(*ListFleetDeploymentsInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} @@ -4572,10 +4816,10 @@ func (m *awsAwsjson11_serializeOpListGameServers) HandleSerialize(ctx context.Co return out, metadata, &smithy.SerializationError{Err: err} } httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.ListGameServers") + httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.ListFleetDeployments") jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentListGameServersInput(input, jsonEncoder.Value); err != nil { + if err := awsAwsjson11_serializeOpDocumentListFleetDeploymentsInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -4593,14 +4837,197 @@ func (m *awsAwsjson11_serializeOpListGameServers) HandleSerialize(ctx context.Co return next.HandleSerialize(ctx, in) } -type awsAwsjson11_serializeOpListLocations struct { +type awsAwsjson11_serializeOpListFleets struct { } -func (*awsAwsjson11_serializeOpListLocations) ID() string { +func (*awsAwsjson11_serializeOpListFleets) ID() string { return "OperationSerializer" } -func (m *awsAwsjson11_serializeOpListLocations) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsAwsjson11_serializeOpListFleets) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() + defer span.End() + 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.(*ListFleetsInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + 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("GameLift.ListFleets") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentListFleetsInput(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 + + endTimer() + span.End() + return next.HandleSerialize(ctx, in) +} + +type awsAwsjson11_serializeOpListGameServerGroups struct { +} + +func (*awsAwsjson11_serializeOpListGameServerGroups) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpListGameServerGroups) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() + defer span.End() + 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.(*ListGameServerGroupsInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + 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("GameLift.ListGameServerGroups") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentListGameServerGroupsInput(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 + + endTimer() + span.End() + return next.HandleSerialize(ctx, in) +} + +type awsAwsjson11_serializeOpListGameServers struct { +} + +func (*awsAwsjson11_serializeOpListGameServers) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpListGameServers) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() + defer span.End() + 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.(*ListGameServersInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + 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("GameLift.ListGameServers") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentListGameServersInput(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 + + endTimer() + span.End() + return next.HandleSerialize(ctx, in) +} + +type awsAwsjson11_serializeOpListLocations struct { +} + +func (*awsAwsjson11_serializeOpListLocations) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpListLocations) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") @@ -5935,14 +6362,14 @@ func (m *awsAwsjson11_serializeOpUpdateBuild) HandleSerialize(ctx context.Contex return next.HandleSerialize(ctx, in) } -type awsAwsjson11_serializeOpUpdateFleetAttributes struct { +type awsAwsjson11_serializeOpUpdateContainerFleet struct { } -func (*awsAwsjson11_serializeOpUpdateFleetAttributes) ID() string { +func (*awsAwsjson11_serializeOpUpdateContainerFleet) ID() string { return "OperationSerializer" } -func (m *awsAwsjson11_serializeOpUpdateFleetAttributes) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsAwsjson11_serializeOpUpdateContainerFleet) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") @@ -5954,7 +6381,7 @@ func (m *awsAwsjson11_serializeOpUpdateFleetAttributes) HandleSerialize(ctx cont return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*UpdateFleetAttributesInput) + input, ok := in.Parameters.(*UpdateContainerFleetInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} @@ -5975,10 +6402,10 @@ func (m *awsAwsjson11_serializeOpUpdateFleetAttributes) HandleSerialize(ctx cont return out, metadata, &smithy.SerializationError{Err: err} } httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.UpdateFleetAttributes") + httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.UpdateContainerFleet") jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentUpdateFleetAttributesInput(input, jsonEncoder.Value); err != nil { + if err := awsAwsjson11_serializeOpDocumentUpdateContainerFleetInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -5996,14 +6423,14 @@ func (m *awsAwsjson11_serializeOpUpdateFleetAttributes) HandleSerialize(ctx cont return next.HandleSerialize(ctx, in) } -type awsAwsjson11_serializeOpUpdateFleetCapacity struct { +type awsAwsjson11_serializeOpUpdateContainerGroupDefinition struct { } -func (*awsAwsjson11_serializeOpUpdateFleetCapacity) ID() string { +func (*awsAwsjson11_serializeOpUpdateContainerGroupDefinition) ID() string { return "OperationSerializer" } -func (m *awsAwsjson11_serializeOpUpdateFleetCapacity) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsAwsjson11_serializeOpUpdateContainerGroupDefinition) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") @@ -6015,7 +6442,7 @@ func (m *awsAwsjson11_serializeOpUpdateFleetCapacity) HandleSerialize(ctx contex return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*UpdateFleetCapacityInput) + input, ok := in.Parameters.(*UpdateContainerGroupDefinitionInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} @@ -6036,10 +6463,10 @@ func (m *awsAwsjson11_serializeOpUpdateFleetCapacity) HandleSerialize(ctx contex return out, metadata, &smithy.SerializationError{Err: err} } httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.UpdateFleetCapacity") + httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.UpdateContainerGroupDefinition") jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentUpdateFleetCapacityInput(input, jsonEncoder.Value); err != nil { + if err := awsAwsjson11_serializeOpDocumentUpdateContainerGroupDefinitionInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -6057,14 +6484,14 @@ func (m *awsAwsjson11_serializeOpUpdateFleetCapacity) HandleSerialize(ctx contex return next.HandleSerialize(ctx, in) } -type awsAwsjson11_serializeOpUpdateFleetPortSettings struct { +type awsAwsjson11_serializeOpUpdateFleetAttributes struct { } -func (*awsAwsjson11_serializeOpUpdateFleetPortSettings) ID() string { +func (*awsAwsjson11_serializeOpUpdateFleetAttributes) ID() string { return "OperationSerializer" } -func (m *awsAwsjson11_serializeOpUpdateFleetPortSettings) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsAwsjson11_serializeOpUpdateFleetAttributes) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") @@ -6076,7 +6503,7 @@ func (m *awsAwsjson11_serializeOpUpdateFleetPortSettings) HandleSerialize(ctx co return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*UpdateFleetPortSettingsInput) + input, ok := in.Parameters.(*UpdateFleetAttributesInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} @@ -6097,10 +6524,10 @@ func (m *awsAwsjson11_serializeOpUpdateFleetPortSettings) HandleSerialize(ctx co return out, metadata, &smithy.SerializationError{Err: err} } httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.UpdateFleetPortSettings") + httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.UpdateFleetAttributes") jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentUpdateFleetPortSettingsInput(input, jsonEncoder.Value); err != nil { + if err := awsAwsjson11_serializeOpDocumentUpdateFleetAttributesInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -6118,14 +6545,14 @@ func (m *awsAwsjson11_serializeOpUpdateFleetPortSettings) HandleSerialize(ctx co return next.HandleSerialize(ctx, in) } -type awsAwsjson11_serializeOpUpdateGameServer struct { +type awsAwsjson11_serializeOpUpdateFleetCapacity struct { } -func (*awsAwsjson11_serializeOpUpdateGameServer) ID() string { +func (*awsAwsjson11_serializeOpUpdateFleetCapacity) ID() string { return "OperationSerializer" } -func (m *awsAwsjson11_serializeOpUpdateGameServer) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsAwsjson11_serializeOpUpdateFleetCapacity) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") @@ -6137,7 +6564,7 @@ func (m *awsAwsjson11_serializeOpUpdateGameServer) HandleSerialize(ctx context.C return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*UpdateGameServerInput) + input, ok := in.Parameters.(*UpdateFleetCapacityInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} @@ -6158,10 +6585,10 @@ func (m *awsAwsjson11_serializeOpUpdateGameServer) HandleSerialize(ctx context.C return out, metadata, &smithy.SerializationError{Err: err} } httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.UpdateGameServer") + httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.UpdateFleetCapacity") jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentUpdateGameServerInput(input, jsonEncoder.Value); err != nil { + if err := awsAwsjson11_serializeOpDocumentUpdateFleetCapacityInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -6179,14 +6606,14 @@ func (m *awsAwsjson11_serializeOpUpdateGameServer) HandleSerialize(ctx context.C return next.HandleSerialize(ctx, in) } -type awsAwsjson11_serializeOpUpdateGameServerGroup struct { +type awsAwsjson11_serializeOpUpdateFleetPortSettings struct { } -func (*awsAwsjson11_serializeOpUpdateGameServerGroup) ID() string { +func (*awsAwsjson11_serializeOpUpdateFleetPortSettings) ID() string { return "OperationSerializer" } -func (m *awsAwsjson11_serializeOpUpdateGameServerGroup) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsAwsjson11_serializeOpUpdateFleetPortSettings) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") @@ -6198,7 +6625,7 @@ func (m *awsAwsjson11_serializeOpUpdateGameServerGroup) HandleSerialize(ctx cont return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*UpdateGameServerGroupInput) + input, ok := in.Parameters.(*UpdateFleetPortSettingsInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} @@ -6219,10 +6646,10 @@ func (m *awsAwsjson11_serializeOpUpdateGameServerGroup) HandleSerialize(ctx cont return out, metadata, &smithy.SerializationError{Err: err} } httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.UpdateGameServerGroup") + httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.UpdateFleetPortSettings") jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentUpdateGameServerGroupInput(input, jsonEncoder.Value); err != nil { + if err := awsAwsjson11_serializeOpDocumentUpdateFleetPortSettingsInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -6240,14 +6667,14 @@ func (m *awsAwsjson11_serializeOpUpdateGameServerGroup) HandleSerialize(ctx cont return next.HandleSerialize(ctx, in) } -type awsAwsjson11_serializeOpUpdateGameSession struct { +type awsAwsjson11_serializeOpUpdateGameServer struct { } -func (*awsAwsjson11_serializeOpUpdateGameSession) ID() string { +func (*awsAwsjson11_serializeOpUpdateGameServer) ID() string { return "OperationSerializer" } -func (m *awsAwsjson11_serializeOpUpdateGameSession) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsAwsjson11_serializeOpUpdateGameServer) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") @@ -6259,7 +6686,7 @@ func (m *awsAwsjson11_serializeOpUpdateGameSession) HandleSerialize(ctx context. return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*UpdateGameSessionInput) + input, ok := in.Parameters.(*UpdateGameServerInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} @@ -6280,10 +6707,10 @@ func (m *awsAwsjson11_serializeOpUpdateGameSession) HandleSerialize(ctx context. return out, metadata, &smithy.SerializationError{Err: err} } httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.UpdateGameSession") + httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.UpdateGameServer") jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentUpdateGameSessionInput(input, jsonEncoder.Value); err != nil { + if err := awsAwsjson11_serializeOpDocumentUpdateGameServerInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -6301,14 +6728,14 @@ func (m *awsAwsjson11_serializeOpUpdateGameSession) HandleSerialize(ctx context. return next.HandleSerialize(ctx, in) } -type awsAwsjson11_serializeOpUpdateGameSessionQueue struct { +type awsAwsjson11_serializeOpUpdateGameServerGroup struct { } -func (*awsAwsjson11_serializeOpUpdateGameSessionQueue) ID() string { +func (*awsAwsjson11_serializeOpUpdateGameServerGroup) ID() string { return "OperationSerializer" } -func (m *awsAwsjson11_serializeOpUpdateGameSessionQueue) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsAwsjson11_serializeOpUpdateGameServerGroup) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { _, span := tracing.StartSpan(ctx, "OperationSerializer") @@ -6320,7 +6747,7 @@ func (m *awsAwsjson11_serializeOpUpdateGameSessionQueue) HandleSerialize(ctx con return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*UpdateGameSessionQueueInput) + input, ok := in.Parameters.(*UpdateGameServerGroupInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} @@ -6341,10 +6768,10 @@ func (m *awsAwsjson11_serializeOpUpdateGameSessionQueue) HandleSerialize(ctx con return out, metadata, &smithy.SerializationError{Err: err} } httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.UpdateGameSessionQueue") + httpBindingEncoder.SetHeader("X-Amz-Target").String("GameLift.UpdateGameServerGroup") jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentUpdateGameSessionQueueInput(input, jsonEncoder.Value); err != nil { + if err := awsAwsjson11_serializeOpDocumentUpdateGameServerGroupInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -6362,7 +6789,129 @@ func (m *awsAwsjson11_serializeOpUpdateGameSessionQueue) HandleSerialize(ctx con return next.HandleSerialize(ctx, in) } -type awsAwsjson11_serializeOpUpdateMatchmakingConfiguration struct { +type awsAwsjson11_serializeOpUpdateGameSession struct { +} + +func (*awsAwsjson11_serializeOpUpdateGameSession) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpUpdateGameSession) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() + defer span.End() + 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.(*UpdateGameSessionInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + 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("GameLift.UpdateGameSession") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentUpdateGameSessionInput(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 + + endTimer() + span.End() + return next.HandleSerialize(ctx, in) +} + +type awsAwsjson11_serializeOpUpdateGameSessionQueue struct { +} + +func (*awsAwsjson11_serializeOpUpdateGameSessionQueue) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpUpdateGameSessionQueue) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() + defer span.End() + 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.(*UpdateGameSessionQueueInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + 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("GameLift.UpdateGameSessionQueue") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentUpdateGameSessionQueueInput(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 + + endTimer() + span.End() + return next.HandleSerialize(ctx, in) +} + +type awsAwsjson11_serializeOpUpdateMatchmakingConfiguration struct { } func (*awsAwsjson11_serializeOpUpdateMatchmakingConfiguration) ID() string { @@ -6715,100 +7264,6 @@ func awsAwsjson11_serializeDocumentContainerCommandStringList(v []string, value return nil } -func awsAwsjson11_serializeDocumentContainerDefinitionInput(v *types.ContainerDefinitionInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Command != nil { - ok := object.Key("Command") - if err := awsAwsjson11_serializeDocumentContainerCommandStringList(v.Command, ok); err != nil { - return err - } - } - - if v.ContainerName != nil { - ok := object.Key("ContainerName") - ok.String(*v.ContainerName) - } - - if v.Cpu != nil { - ok := object.Key("Cpu") - ok.Integer(*v.Cpu) - } - - if v.DependsOn != nil { - ok := object.Key("DependsOn") - if err := awsAwsjson11_serializeDocumentContainerDependencyList(v.DependsOn, ok); err != nil { - return err - } - } - - if v.EntryPoint != nil { - ok := object.Key("EntryPoint") - if err := awsAwsjson11_serializeDocumentContainerEntryPointList(v.EntryPoint, ok); err != nil { - return err - } - } - - if v.Environment != nil { - ok := object.Key("Environment") - if err := awsAwsjson11_serializeDocumentContainerEnvironmentList(v.Environment, ok); err != nil { - return err - } - } - - if v.Essential != nil { - ok := object.Key("Essential") - ok.Boolean(*v.Essential) - } - - if v.HealthCheck != nil { - ok := object.Key("HealthCheck") - if err := awsAwsjson11_serializeDocumentContainerHealthCheck(v.HealthCheck, ok); err != nil { - return err - } - } - - if v.ImageUri != nil { - ok := object.Key("ImageUri") - ok.String(*v.ImageUri) - } - - if v.MemoryLimits != nil { - ok := object.Key("MemoryLimits") - if err := awsAwsjson11_serializeDocumentContainerMemoryLimits(v.MemoryLimits, ok); err != nil { - return err - } - } - - if v.PortConfiguration != nil { - ok := object.Key("PortConfiguration") - if err := awsAwsjson11_serializeDocumentContainerPortConfiguration(v.PortConfiguration, ok); err != nil { - return err - } - } - - if v.WorkingDirectory != nil { - ok := object.Key("WorkingDirectory") - ok.String(*v.WorkingDirectory) - } - - return nil -} - -func awsAwsjson11_serializeDocumentContainerDefinitionInputList(v []types.ContainerDefinitionInput, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - if err := awsAwsjson11_serializeDocumentContainerDefinitionInput(&v[i], av); err != nil { - return err - } - } - return nil -} - func awsAwsjson11_serializeDocumentContainerDependency(v *types.ContainerDependency, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -6839,17 +7294,6 @@ func awsAwsjson11_serializeDocumentContainerDependencyList(v []types.ContainerDe return nil } -func awsAwsjson11_serializeDocumentContainerEntryPointList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - func awsAwsjson11_serializeDocumentContainerEnvironment(v *types.ContainerEnvironment, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -6880,40 +7324,14 @@ func awsAwsjson11_serializeDocumentContainerEnvironmentList(v []types.ContainerE return nil } -func awsAwsjson11_serializeDocumentContainerGroupDefinitionNameOrArnLimitedList(v []string, value smithyjson.Value) error { +func awsAwsjson11_serializeDocumentContainerFleetRemoveAttributeList(v []types.ContainerFleetRemoveAttribute, value smithyjson.Value) error { array := value.Array() defer array.Close() for i := range v { av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentContainerGroupsConfiguration(v *types.ContainerGroupsConfiguration, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ConnectionPortRange != nil { - ok := object.Key("ConnectionPortRange") - if err := awsAwsjson11_serializeDocumentConnectionPortRange(v.ConnectionPortRange, ok); err != nil { - return err - } - } - - if v.ContainerGroupDefinitionNames != nil { - ok := object.Key("ContainerGroupDefinitionNames") - if err := awsAwsjson11_serializeDocumentContainerGroupDefinitionNameOrArnLimitedList(v.ContainerGroupDefinitionNames, ok); err != nil { - return err - } - } - - if v.DesiredReplicaContainerGroupsPerInstance != nil { - ok := object.Key("DesiredReplicaContainerGroupsPerInstance") - ok.Integer(*v.DesiredReplicaContainerGroupsPerInstance) + av.String(string(v[i])) } - return nil } @@ -6951,20 +7369,38 @@ func awsAwsjson11_serializeDocumentContainerHealthCheck(v *types.ContainerHealth return nil } -func awsAwsjson11_serializeDocumentContainerMemoryLimits(v *types.ContainerMemoryLimits, value smithyjson.Value) error { +func awsAwsjson11_serializeDocumentContainerMountPoint(v *types.ContainerMountPoint, value smithyjson.Value) error { object := value.Object() defer object.Close() - if v.HardLimit != nil { - ok := object.Key("HardLimit") - ok.Integer(*v.HardLimit) + if len(v.AccessLevel) > 0 { + ok := object.Key("AccessLevel") + ok.String(string(v.AccessLevel)) } - if v.SoftLimit != nil { - ok := object.Key("SoftLimit") - ok.Integer(*v.SoftLimit) + if v.ContainerPath != nil { + ok := object.Key("ContainerPath") + ok.String(*v.ContainerPath) } + if v.InstancePath != nil { + ok := object.Key("InstancePath") + ok.String(*v.InstancePath) + } + + return nil +} + +func awsAwsjson11_serializeDocumentContainerMountPointList(v []types.ContainerMountPoint, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + if err := awsAwsjson11_serializeDocumentContainerMountPoint(&v[i], av); err != nil { + return err + } + } return nil } @@ -7017,6 +7453,28 @@ func awsAwsjson11_serializeDocumentContainerPortRangeList(v []types.ContainerPor return nil } +func awsAwsjson11_serializeDocumentDeploymentConfiguration(v *types.DeploymentConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.ImpairmentStrategy) > 0 { + ok := object.Key("ImpairmentStrategy") + ok.String(string(v.ImpairmentStrategy)) + } + + if v.MinimumHealthyPercentage != nil { + ok := object.Key("MinimumHealthyPercentage") + ok.Integer(*v.MinimumHealthyPercentage) + } + + if len(v.ProtectionStrategy) > 0 { + ok := object.Key("ProtectionStrategy") + ok.String(string(v.ProtectionStrategy)) + } + + return nil +} + func awsAwsjson11_serializeDocumentDesiredPlayerSession(v *types.DesiredPlayerSession, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -7124,6 +7582,56 @@ func awsAwsjson11_serializeDocumentGamePropertyList(v []types.GameProperty, valu return nil } +func awsAwsjson11_serializeDocumentGameServerContainerDefinitionInput(v *types.GameServerContainerDefinitionInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ContainerName != nil { + ok := object.Key("ContainerName") + ok.String(*v.ContainerName) + } + + if v.DependsOn != nil { + ok := object.Key("DependsOn") + if err := awsAwsjson11_serializeDocumentContainerDependencyList(v.DependsOn, ok); err != nil { + return err + } + } + + if v.EnvironmentOverride != nil { + ok := object.Key("EnvironmentOverride") + if err := awsAwsjson11_serializeDocumentContainerEnvironmentList(v.EnvironmentOverride, ok); err != nil { + return err + } + } + + if v.ImageUri != nil { + ok := object.Key("ImageUri") + ok.String(*v.ImageUri) + } + + if v.MountPoints != nil { + ok := object.Key("MountPoints") + if err := awsAwsjson11_serializeDocumentContainerMountPointList(v.MountPoints, ok); err != nil { + return err + } + } + + if v.PortConfiguration != nil { + ok := object.Key("PortConfiguration") + if err := awsAwsjson11_serializeDocumentContainerPortConfiguration(v.PortConfiguration, ok); err != nil { + return err + } + } + + if v.ServerSdkVersion != nil { + ok := object.Key("ServerSdkVersion") + ok.String(*v.ServerSdkVersion) + } + + return nil +} + func awsAwsjson11_serializeDocumentGameServerGroupActions(v []types.GameServerGroupAction, value smithyjson.Value) error { array := value.Array() defer array.Close() @@ -7165,6 +7673,23 @@ func awsAwsjson11_serializeDocumentGameServerInstanceIds(v []string, value smith return nil } +func awsAwsjson11_serializeDocumentGameSessionCreationLimitPolicy(v *types.GameSessionCreationLimitPolicy, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.NewGameSessionsPerCreator != nil { + ok := object.Key("NewGameSessionsPerCreator") + ok.Integer(*v.NewGameSessionsPerCreator) + } + + if v.PolicyPeriodInMinutes != nil { + ok := object.Key("PolicyPeriodInMinutes") + ok.Integer(*v.PolicyPeriodInMinutes) + } + + return nil +} + func awsAwsjson11_serializeDocumentGameSessionQueueDestination(v *types.GameSessionQueueDestination, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -7351,6 +7876,28 @@ func awsAwsjson11_serializeDocumentLocationList(v []string, value smithyjson.Val return nil } +func awsAwsjson11_serializeDocumentLogConfiguration(v *types.LogConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.LogDestination) > 0 { + ok := object.Key("LogDestination") + ok.String(string(v.LogDestination)) + } + + if v.LogGroupArn != nil { + ok := object.Key("LogGroupArn") + ok.String(*v.LogGroupArn) + } + + if v.S3BucketName != nil { + ok := object.Key("S3BucketName") + ok.String(*v.S3BucketName) + } + + return nil +} + func awsAwsjson11_serializeDocumentMatchmakingConfigurationNameList(v []string, value smithyjson.Value) error { array := value.Array() defer array.Close() @@ -7778,6 +8325,99 @@ func awsAwsjson11_serializeDocumentStringList(v []string, value smithyjson.Value return nil } +func awsAwsjson11_serializeDocumentSupportContainerDefinitionInput(v *types.SupportContainerDefinitionInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ContainerName != nil { + ok := object.Key("ContainerName") + ok.String(*v.ContainerName) + } + + if v.DependsOn != nil { + ok := object.Key("DependsOn") + if err := awsAwsjson11_serializeDocumentContainerDependencyList(v.DependsOn, ok); err != nil { + return err + } + } + + if v.EnvironmentOverride != nil { + ok := object.Key("EnvironmentOverride") + if err := awsAwsjson11_serializeDocumentContainerEnvironmentList(v.EnvironmentOverride, ok); err != nil { + return err + } + } + + if v.Essential != nil { + ok := object.Key("Essential") + ok.Boolean(*v.Essential) + } + + if v.HealthCheck != nil { + ok := object.Key("HealthCheck") + if err := awsAwsjson11_serializeDocumentContainerHealthCheck(v.HealthCheck, ok); err != nil { + return err + } + } + + if v.ImageUri != nil { + ok := object.Key("ImageUri") + ok.String(*v.ImageUri) + } + + if v.MemoryHardLimitMebibytes != nil { + ok := object.Key("MemoryHardLimitMebibytes") + ok.Integer(*v.MemoryHardLimitMebibytes) + } + + if v.MountPoints != nil { + ok := object.Key("MountPoints") + if err := awsAwsjson11_serializeDocumentContainerMountPointList(v.MountPoints, ok); err != nil { + return err + } + } + + if v.PortConfiguration != nil { + ok := object.Key("PortConfiguration") + if err := awsAwsjson11_serializeDocumentContainerPortConfiguration(v.PortConfiguration, ok); err != nil { + return err + } + } + + if v.Vcpu != nil { + ok := object.Key("Vcpu") + switch { + case math.IsNaN(*v.Vcpu): + ok.String("NaN") + + case math.IsInf(*v.Vcpu, 1): + ok.String("Infinity") + + case math.IsInf(*v.Vcpu, -1): + ok.String("-Infinity") + + default: + ok.Double(*v.Vcpu) + + } + } + + return nil +} + +func awsAwsjson11_serializeDocumentSupportContainerDefinitionInputList(v []types.SupportContainerDefinitionInput, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + if err := awsAwsjson11_serializeDocumentSupportContainerDefinitionInput(&v[i], av); err != nil { + return err + } + } + return nil +} + func awsAwsjson11_serializeDocumentTag(v *types.Tag, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -7978,16 +8618,117 @@ func awsAwsjson11_serializeOpDocumentCreateBuildInput(v *CreateBuildInput, value ok.String(string(v.OperatingSystem)) } - if v.ServerSdkVersion != nil { - ok := object.Key("ServerSdkVersion") - ok.String(*v.ServerSdkVersion) + if v.ServerSdkVersion != nil { + ok := object.Key("ServerSdkVersion") + ok.String(*v.ServerSdkVersion) + } + + if v.StorageLocation != nil { + ok := object.Key("StorageLocation") + if err := awsAwsjson11_serializeDocumentS3Location(v.StorageLocation, ok); err != nil { + return err + } + } + + if v.Tags != nil { + ok := object.Key("Tags") + if err := awsAwsjson11_serializeDocumentTagList(v.Tags, ok); err != nil { + return err + } + } + + if v.Version != nil { + ok := object.Key("Version") + ok.String(*v.Version) + } + + return nil +} + +func awsAwsjson11_serializeOpDocumentCreateContainerFleetInput(v *CreateContainerFleetInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.BillingType) > 0 { + ok := object.Key("BillingType") + ok.String(string(v.BillingType)) + } + + if v.Description != nil { + ok := object.Key("Description") + ok.String(*v.Description) + } + + if v.FleetRoleArn != nil { + ok := object.Key("FleetRoleArn") + ok.String(*v.FleetRoleArn) + } + + if v.GameServerContainerGroupDefinitionName != nil { + ok := object.Key("GameServerContainerGroupDefinitionName") + ok.String(*v.GameServerContainerGroupDefinitionName) + } + + if v.GameServerContainerGroupsPerInstance != nil { + ok := object.Key("GameServerContainerGroupsPerInstance") + ok.Integer(*v.GameServerContainerGroupsPerInstance) + } + + if v.GameSessionCreationLimitPolicy != nil { + ok := object.Key("GameSessionCreationLimitPolicy") + if err := awsAwsjson11_serializeDocumentGameSessionCreationLimitPolicy(v.GameSessionCreationLimitPolicy, ok); err != nil { + return err + } + } + + if v.InstanceConnectionPortRange != nil { + ok := object.Key("InstanceConnectionPortRange") + if err := awsAwsjson11_serializeDocumentConnectionPortRange(v.InstanceConnectionPortRange, ok); err != nil { + return err + } + } + + if v.InstanceInboundPermissions != nil { + ok := object.Key("InstanceInboundPermissions") + if err := awsAwsjson11_serializeDocumentIpPermissionsList(v.InstanceInboundPermissions, ok); err != nil { + return err + } + } + + if v.InstanceType != nil { + ok := object.Key("InstanceType") + ok.String(*v.InstanceType) + } + + if v.Locations != nil { + ok := object.Key("Locations") + if err := awsAwsjson11_serializeDocumentLocationConfigurationList(v.Locations, ok); err != nil { + return err + } + } + + if v.LogConfiguration != nil { + ok := object.Key("LogConfiguration") + if err := awsAwsjson11_serializeDocumentLogConfiguration(v.LogConfiguration, ok); err != nil { + return err + } + } + + if v.MetricGroups != nil { + ok := object.Key("MetricGroups") + if err := awsAwsjson11_serializeDocumentMetricGroupList(v.MetricGroups, ok); err != nil { + return err + } + } + + if len(v.NewGameSessionProtectionPolicy) > 0 { + ok := object.Key("NewGameSessionProtectionPolicy") + ok.String(string(v.NewGameSessionProtectionPolicy)) } - if v.StorageLocation != nil { - ok := object.Key("StorageLocation") - if err := awsAwsjson11_serializeDocumentS3Location(v.StorageLocation, ok); err != nil { - return err - } + if v.PerInstanceContainerGroupDefinitionName != nil { + ok := object.Key("PerInstanceContainerGroupDefinitionName") + ok.String(*v.PerInstanceContainerGroupDefinitionName) } if v.Tags != nil { @@ -7997,11 +8738,6 @@ func awsAwsjson11_serializeOpDocumentCreateBuildInput(v *CreateBuildInput, value } } - if v.Version != nil { - ok := object.Key("Version") - ok.String(*v.Version) - } - return nil } @@ -8009,9 +8745,14 @@ func awsAwsjson11_serializeOpDocumentCreateContainerGroupDefinitionInput(v *Crea object := value.Object() defer object.Close() - if v.ContainerDefinitions != nil { - ok := object.Key("ContainerDefinitions") - if err := awsAwsjson11_serializeDocumentContainerDefinitionInputList(v.ContainerDefinitions, ok); err != nil { + if len(v.ContainerGroupType) > 0 { + ok := object.Key("ContainerGroupType") + ok.String(string(v.ContainerGroupType)) + } + + if v.GameServerContainerDefinition != nil { + ok := object.Key("GameServerContainerDefinition") + if err := awsAwsjson11_serializeDocumentGameServerContainerDefinitionInput(v.GameServerContainerDefinition, ok); err != nil { return err } } @@ -8026,9 +8767,11 @@ func awsAwsjson11_serializeOpDocumentCreateContainerGroupDefinitionInput(v *Crea ok.String(string(v.OperatingSystem)) } - if len(v.SchedulingStrategy) > 0 { - ok := object.Key("SchedulingStrategy") - ok.String(string(v.SchedulingStrategy)) + if v.SupportContainerDefinitions != nil { + ok := object.Key("SupportContainerDefinitions") + if err := awsAwsjson11_serializeDocumentSupportContainerDefinitionInputList(v.SupportContainerDefinitions, ok); err != nil { + return err + } } if v.Tags != nil { @@ -8038,14 +8781,32 @@ func awsAwsjson11_serializeOpDocumentCreateContainerGroupDefinitionInput(v *Crea } } - if v.TotalCpuLimit != nil { - ok := object.Key("TotalCpuLimit") - ok.Integer(*v.TotalCpuLimit) + if v.TotalMemoryLimitMebibytes != nil { + ok := object.Key("TotalMemoryLimitMebibytes") + ok.Integer(*v.TotalMemoryLimitMebibytes) + } + + if v.TotalVcpuLimit != nil { + ok := object.Key("TotalVcpuLimit") + switch { + case math.IsNaN(*v.TotalVcpuLimit): + ok.String("NaN") + + case math.IsInf(*v.TotalVcpuLimit, 1): + ok.String("Infinity") + + case math.IsInf(*v.TotalVcpuLimit, -1): + ok.String("-Infinity") + + default: + ok.Double(*v.TotalVcpuLimit) + + } } - if v.TotalMemoryLimit != nil { - ok := object.Key("TotalMemoryLimit") - ok.Integer(*v.TotalMemoryLimit) + if v.VersionDescription != nil { + ok := object.Key("VersionDescription") + ok.String(*v.VersionDescription) } return nil @@ -8079,13 +8840,6 @@ func awsAwsjson11_serializeOpDocumentCreateFleetInput(v *CreateFleetInput, value ok.String(string(v.ComputeType)) } - if v.ContainerGroupsConfiguration != nil { - ok := object.Key("ContainerGroupsConfiguration") - if err := awsAwsjson11_serializeDocumentContainerGroupsConfiguration(v.ContainerGroupsConfiguration, ok); err != nil { - return err - } - } - if v.Description != nil { ok := object.Key("Description") ok.String(*v.Description) @@ -8688,6 +9442,18 @@ func awsAwsjson11_serializeOpDocumentDeleteBuildInput(v *DeleteBuildInput, value return nil } +func awsAwsjson11_serializeOpDocumentDeleteContainerFleetInput(v *DeleteContainerFleetInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.FleetId != nil { + ok := object.Key("FleetId") + ok.String(*v.FleetId) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentDeleteContainerGroupDefinitionInput(v *DeleteContainerGroupDefinitionInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -8697,6 +9463,16 @@ func awsAwsjson11_serializeOpDocumentDeleteContainerGroupDefinitionInput(v *Dele ok.String(*v.Name) } + if v.VersionCountToRetain != nil { + ok := object.Key("VersionCountToRetain") + ok.Integer(*v.VersionCountToRetain) + } + + if v.VersionNumber != nil { + ok := object.Key("VersionNumber") + ok.Integer(*v.VersionNumber) + } + return nil } @@ -8934,6 +9710,18 @@ func awsAwsjson11_serializeOpDocumentDescribeComputeInput(v *DescribeComputeInpu return nil } +func awsAwsjson11_serializeOpDocumentDescribeContainerFleetInput(v *DescribeContainerFleetInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.FleetId != nil { + ok := object.Key("FleetId") + ok.String(*v.FleetId) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentDescribeContainerGroupDefinitionInput(v *DescribeContainerGroupDefinitionInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -8943,6 +9731,11 @@ func awsAwsjson11_serializeOpDocumentDescribeContainerGroupDefinitionInput(v *De ok.String(*v.Name) } + if v.VersionNumber != nil { + ok := object.Key("VersionNumber") + ok.Integer(*v.VersionNumber) + } + return nil } @@ -9011,6 +9804,23 @@ func awsAwsjson11_serializeOpDocumentDescribeFleetCapacityInput(v *DescribeFleet return nil } +func awsAwsjson11_serializeOpDocumentDescribeFleetDeploymentInput(v *DescribeFleetDeploymentInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DeploymentId != nil { + ok := object.Key("DeploymentId") + ok.String(*v.DeploymentId) + } + + if v.FleetId != nil { + ok := object.Key("FleetId") + ok.String(*v.FleetId) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentDescribeFleetEventsInput(v *DescribeFleetEventsInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -9652,6 +10462,16 @@ func awsAwsjson11_serializeOpDocumentListComputeInput(v *ListComputeInput, value object := value.Object() defer object.Close() + if len(v.ComputeStatus) > 0 { + ok := object.Key("ComputeStatus") + ok.String(string(v.ComputeStatus)) + } + + if v.ContainerGroupDefinitionName != nil { + ok := object.Key("ContainerGroupDefinitionName") + ok.String(*v.ContainerGroupDefinitionName) + } + if v.FleetId != nil { ok := object.Key("FleetId") ok.String(*v.FleetId) @@ -9675,23 +10495,89 @@ func awsAwsjson11_serializeOpDocumentListComputeInput(v *ListComputeInput, value return nil } +func awsAwsjson11_serializeOpDocumentListContainerFleetsInput(v *ListContainerFleetsInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ContainerGroupDefinitionName != nil { + ok := object.Key("ContainerGroupDefinitionName") + ok.String(*v.ContainerGroupDefinitionName) + } + + if v.Limit != nil { + ok := object.Key("Limit") + ok.Integer(*v.Limit) + } + + if v.NextToken != nil { + ok := object.Key("NextToken") + ok.String(*v.NextToken) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentListContainerGroupDefinitionsInput(v *ListContainerGroupDefinitionsInput, value smithyjson.Value) error { object := value.Object() defer object.Close() + if len(v.ContainerGroupType) > 0 { + ok := object.Key("ContainerGroupType") + ok.String(string(v.ContainerGroupType)) + } + + if v.Limit != nil { + ok := object.Key("Limit") + ok.Integer(*v.Limit) + } + + if v.NextToken != nil { + ok := object.Key("NextToken") + ok.String(*v.NextToken) + } + + return nil +} + +func awsAwsjson11_serializeOpDocumentListContainerGroupDefinitionVersionsInput(v *ListContainerGroupDefinitionVersionsInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + if v.Limit != nil { ok := object.Key("Limit") ok.Integer(*v.Limit) } + if v.Name != nil { + ok := object.Key("Name") + ok.String(*v.Name) + } + if v.NextToken != nil { ok := object.Key("NextToken") ok.String(*v.NextToken) } - if len(v.SchedulingStrategy) > 0 { - ok := object.Key("SchedulingStrategy") - ok.String(string(v.SchedulingStrategy)) + return nil +} + +func awsAwsjson11_serializeOpDocumentListFleetDeploymentsInput(v *ListFleetDeploymentsInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.FleetId != nil { + ok := object.Key("FleetId") + ok.String(*v.FleetId) + } + + if v.Limit != nil { + ok := object.Key("Limit") + ok.Integer(*v.Limit) + } + + if v.NextToken != nil { + ok := object.Key("NextToken") + ok.String(*v.NextToken) } return nil @@ -9706,11 +10592,6 @@ func awsAwsjson11_serializeOpDocumentListFleetsInput(v *ListFleetsInput, value s ok.String(*v.BuildId) } - if v.ContainerGroupDefinitionName != nil { - ok := object.Key("ContainerGroupDefinitionName") - ok.String(*v.ContainerGroupDefinitionName) - } - if v.Limit != nil { ok := object.Key("Limit") ok.Integer(*v.Limit) @@ -10338,6 +11219,163 @@ func awsAwsjson11_serializeOpDocumentUpdateBuildInput(v *UpdateBuildInput, value return nil } +func awsAwsjson11_serializeOpDocumentUpdateContainerFleetInput(v *UpdateContainerFleetInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DeploymentConfiguration != nil { + ok := object.Key("DeploymentConfiguration") + if err := awsAwsjson11_serializeDocumentDeploymentConfiguration(v.DeploymentConfiguration, ok); err != nil { + return err + } + } + + if v.Description != nil { + ok := object.Key("Description") + ok.String(*v.Description) + } + + if v.FleetId != nil { + ok := object.Key("FleetId") + ok.String(*v.FleetId) + } + + if v.GameServerContainerGroupDefinitionName != nil { + ok := object.Key("GameServerContainerGroupDefinitionName") + ok.String(*v.GameServerContainerGroupDefinitionName) + } + + if v.GameServerContainerGroupsPerInstance != nil { + ok := object.Key("GameServerContainerGroupsPerInstance") + ok.Integer(*v.GameServerContainerGroupsPerInstance) + } + + if v.GameSessionCreationLimitPolicy != nil { + ok := object.Key("GameSessionCreationLimitPolicy") + if err := awsAwsjson11_serializeDocumentGameSessionCreationLimitPolicy(v.GameSessionCreationLimitPolicy, ok); err != nil { + return err + } + } + + if v.InstanceConnectionPortRange != nil { + ok := object.Key("InstanceConnectionPortRange") + if err := awsAwsjson11_serializeDocumentConnectionPortRange(v.InstanceConnectionPortRange, ok); err != nil { + return err + } + } + + if v.InstanceInboundPermissionAuthorizations != nil { + ok := object.Key("InstanceInboundPermissionAuthorizations") + if err := awsAwsjson11_serializeDocumentIpPermissionsList(v.InstanceInboundPermissionAuthorizations, ok); err != nil { + return err + } + } + + if v.InstanceInboundPermissionRevocations != nil { + ok := object.Key("InstanceInboundPermissionRevocations") + if err := awsAwsjson11_serializeDocumentIpPermissionsList(v.InstanceInboundPermissionRevocations, ok); err != nil { + return err + } + } + + if v.LogConfiguration != nil { + ok := object.Key("LogConfiguration") + if err := awsAwsjson11_serializeDocumentLogConfiguration(v.LogConfiguration, ok); err != nil { + return err + } + } + + if v.MetricGroups != nil { + ok := object.Key("MetricGroups") + if err := awsAwsjson11_serializeDocumentMetricGroupList(v.MetricGroups, ok); err != nil { + return err + } + } + + if len(v.NewGameSessionProtectionPolicy) > 0 { + ok := object.Key("NewGameSessionProtectionPolicy") + ok.String(string(v.NewGameSessionProtectionPolicy)) + } + + if v.PerInstanceContainerGroupDefinitionName != nil { + ok := object.Key("PerInstanceContainerGroupDefinitionName") + ok.String(*v.PerInstanceContainerGroupDefinitionName) + } + + if v.RemoveAttributes != nil { + ok := object.Key("RemoveAttributes") + if err := awsAwsjson11_serializeDocumentContainerFleetRemoveAttributeList(v.RemoveAttributes, ok); err != nil { + return err + } + } + + return nil +} + +func awsAwsjson11_serializeOpDocumentUpdateContainerGroupDefinitionInput(v *UpdateContainerGroupDefinitionInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.GameServerContainerDefinition != nil { + ok := object.Key("GameServerContainerDefinition") + if err := awsAwsjson11_serializeDocumentGameServerContainerDefinitionInput(v.GameServerContainerDefinition, ok); err != nil { + return err + } + } + + if v.Name != nil { + ok := object.Key("Name") + ok.String(*v.Name) + } + + if len(v.OperatingSystem) > 0 { + ok := object.Key("OperatingSystem") + ok.String(string(v.OperatingSystem)) + } + + if v.SourceVersionNumber != nil { + ok := object.Key("SourceVersionNumber") + ok.Integer(*v.SourceVersionNumber) + } + + if v.SupportContainerDefinitions != nil { + ok := object.Key("SupportContainerDefinitions") + if err := awsAwsjson11_serializeDocumentSupportContainerDefinitionInputList(v.SupportContainerDefinitions, ok); err != nil { + return err + } + } + + if v.TotalMemoryLimitMebibytes != nil { + ok := object.Key("TotalMemoryLimitMebibytes") + ok.Integer(*v.TotalMemoryLimitMebibytes) + } + + if v.TotalVcpuLimit != nil { + ok := object.Key("TotalVcpuLimit") + switch { + case math.IsNaN(*v.TotalVcpuLimit): + ok.String("NaN") + + case math.IsInf(*v.TotalVcpuLimit, 1): + ok.String("Infinity") + + case math.IsInf(*v.TotalVcpuLimit, -1): + ok.String("-Infinity") + + default: + ok.Double(*v.TotalVcpuLimit) + + } + } + + if v.VersionDescription != nil { + ok := object.Key("VersionDescription") + ok.String(*v.VersionDescription) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentUpdateFleetAttributesInput(v *UpdateFleetAttributesInput, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/gamelift/snapshot/api_op_CreateContainerFleet.go.snap b/service/gamelift/snapshot/api_op_CreateContainerFleet.go.snap new file mode 100644 index 00000000000..98d32d7f7f6 --- /dev/null +++ b/service/gamelift/snapshot/api_op_CreateContainerFleet.go.snap @@ -0,0 +1,41 @@ +CreateContainerFleet + Initialize stack step + spanInitializeStart + RegisterServiceMetadata + legacyEndpointContextSetter + SetLogger + OperationInputValidation + spanInitializeEnd + Serialize stack step + spanBuildRequestStart + setOperationInput + ResolveEndpoint + OperationSerializer + Build stack step + ClientRequestID + ComputeContentLength + UserAgent + AddTimeOffsetMiddleware + RecursionDetection + spanBuildRequestEnd + Finalize stack step + ResolveAuthScheme + GetIdentity + ResolveEndpointV2 + disableHTTPS + ComputePayloadHash + spanRetryLoop + Retry + RetryMetricsHeader + setLegacyContextSigningOptions + Signing + Deserialize stack step + AddRawResponseToMetadata + ErrorCloseResponseBody + CloseResponseBody + ResponseErrorWrapper + RequestIDRetriever + OperationDeserializer + AddTimeOffsetMiddleware + RecordResponseTiming + RequestResponseLogger diff --git a/service/gamelift/snapshot/api_op_DeleteContainerFleet.go.snap b/service/gamelift/snapshot/api_op_DeleteContainerFleet.go.snap new file mode 100644 index 00000000000..6efc402a89c --- /dev/null +++ b/service/gamelift/snapshot/api_op_DeleteContainerFleet.go.snap @@ -0,0 +1,41 @@ +DeleteContainerFleet + Initialize stack step + spanInitializeStart + RegisterServiceMetadata + legacyEndpointContextSetter + SetLogger + OperationInputValidation + spanInitializeEnd + Serialize stack step + spanBuildRequestStart + setOperationInput + ResolveEndpoint + OperationSerializer + Build stack step + ClientRequestID + ComputeContentLength + UserAgent + AddTimeOffsetMiddleware + RecursionDetection + spanBuildRequestEnd + Finalize stack step + ResolveAuthScheme + GetIdentity + ResolveEndpointV2 + disableHTTPS + ComputePayloadHash + spanRetryLoop + Retry + RetryMetricsHeader + setLegacyContextSigningOptions + Signing + Deserialize stack step + AddRawResponseToMetadata + ErrorCloseResponseBody + CloseResponseBody + ResponseErrorWrapper + RequestIDRetriever + OperationDeserializer + AddTimeOffsetMiddleware + RecordResponseTiming + RequestResponseLogger diff --git a/service/gamelift/snapshot/api_op_DescribeContainerFleet.go.snap b/service/gamelift/snapshot/api_op_DescribeContainerFleet.go.snap new file mode 100644 index 00000000000..48d51903948 --- /dev/null +++ b/service/gamelift/snapshot/api_op_DescribeContainerFleet.go.snap @@ -0,0 +1,41 @@ +DescribeContainerFleet + Initialize stack step + spanInitializeStart + RegisterServiceMetadata + legacyEndpointContextSetter + SetLogger + OperationInputValidation + spanInitializeEnd + Serialize stack step + spanBuildRequestStart + setOperationInput + ResolveEndpoint + OperationSerializer + Build stack step + ClientRequestID + ComputeContentLength + UserAgent + AddTimeOffsetMiddleware + RecursionDetection + spanBuildRequestEnd + Finalize stack step + ResolveAuthScheme + GetIdentity + ResolveEndpointV2 + disableHTTPS + ComputePayloadHash + spanRetryLoop + Retry + RetryMetricsHeader + setLegacyContextSigningOptions + Signing + Deserialize stack step + AddRawResponseToMetadata + ErrorCloseResponseBody + CloseResponseBody + ResponseErrorWrapper + RequestIDRetriever + OperationDeserializer + AddTimeOffsetMiddleware + RecordResponseTiming + RequestResponseLogger diff --git a/service/gamelift/snapshot/api_op_DescribeFleetDeployment.go.snap b/service/gamelift/snapshot/api_op_DescribeFleetDeployment.go.snap new file mode 100644 index 00000000000..e83eff313e7 --- /dev/null +++ b/service/gamelift/snapshot/api_op_DescribeFleetDeployment.go.snap @@ -0,0 +1,41 @@ +DescribeFleetDeployment + Initialize stack step + spanInitializeStart + RegisterServiceMetadata + legacyEndpointContextSetter + SetLogger + OperationInputValidation + spanInitializeEnd + Serialize stack step + spanBuildRequestStart + setOperationInput + ResolveEndpoint + OperationSerializer + Build stack step + ClientRequestID + ComputeContentLength + UserAgent + AddTimeOffsetMiddleware + RecursionDetection + spanBuildRequestEnd + Finalize stack step + ResolveAuthScheme + GetIdentity + ResolveEndpointV2 + disableHTTPS + ComputePayloadHash + spanRetryLoop + Retry + RetryMetricsHeader + setLegacyContextSigningOptions + Signing + Deserialize stack step + AddRawResponseToMetadata + ErrorCloseResponseBody + CloseResponseBody + ResponseErrorWrapper + RequestIDRetriever + OperationDeserializer + AddTimeOffsetMiddleware + RecordResponseTiming + RequestResponseLogger diff --git a/service/gamelift/snapshot/api_op_ListContainerFleets.go.snap b/service/gamelift/snapshot/api_op_ListContainerFleets.go.snap new file mode 100644 index 00000000000..cce22ac9970 --- /dev/null +++ b/service/gamelift/snapshot/api_op_ListContainerFleets.go.snap @@ -0,0 +1,40 @@ +ListContainerFleets + Initialize stack step + spanInitializeStart + RegisterServiceMetadata + legacyEndpointContextSetter + SetLogger + spanInitializeEnd + Serialize stack step + spanBuildRequestStart + setOperationInput + ResolveEndpoint + OperationSerializer + Build stack step + ClientRequestID + ComputeContentLength + UserAgent + AddTimeOffsetMiddleware + RecursionDetection + spanBuildRequestEnd + Finalize stack step + ResolveAuthScheme + GetIdentity + ResolveEndpointV2 + disableHTTPS + ComputePayloadHash + spanRetryLoop + Retry + RetryMetricsHeader + setLegacyContextSigningOptions + Signing + Deserialize stack step + AddRawResponseToMetadata + ErrorCloseResponseBody + CloseResponseBody + ResponseErrorWrapper + RequestIDRetriever + OperationDeserializer + AddTimeOffsetMiddleware + RecordResponseTiming + RequestResponseLogger diff --git a/service/gamelift/snapshot/api_op_ListContainerGroupDefinitionVersions.go.snap b/service/gamelift/snapshot/api_op_ListContainerGroupDefinitionVersions.go.snap new file mode 100644 index 00000000000..9cb619f907a --- /dev/null +++ b/service/gamelift/snapshot/api_op_ListContainerGroupDefinitionVersions.go.snap @@ -0,0 +1,41 @@ +ListContainerGroupDefinitionVersions + Initialize stack step + spanInitializeStart + RegisterServiceMetadata + legacyEndpointContextSetter + SetLogger + OperationInputValidation + spanInitializeEnd + Serialize stack step + spanBuildRequestStart + setOperationInput + ResolveEndpoint + OperationSerializer + Build stack step + ClientRequestID + ComputeContentLength + UserAgent + AddTimeOffsetMiddleware + RecursionDetection + spanBuildRequestEnd + Finalize stack step + ResolveAuthScheme + GetIdentity + ResolveEndpointV2 + disableHTTPS + ComputePayloadHash + spanRetryLoop + Retry + RetryMetricsHeader + setLegacyContextSigningOptions + Signing + Deserialize stack step + AddRawResponseToMetadata + ErrorCloseResponseBody + CloseResponseBody + ResponseErrorWrapper + RequestIDRetriever + OperationDeserializer + AddTimeOffsetMiddleware + RecordResponseTiming + RequestResponseLogger diff --git a/service/gamelift/snapshot/api_op_ListFleetDeployments.go.snap b/service/gamelift/snapshot/api_op_ListFleetDeployments.go.snap new file mode 100644 index 00000000000..d53527f5cdc --- /dev/null +++ b/service/gamelift/snapshot/api_op_ListFleetDeployments.go.snap @@ -0,0 +1,40 @@ +ListFleetDeployments + Initialize stack step + spanInitializeStart + RegisterServiceMetadata + legacyEndpointContextSetter + SetLogger + spanInitializeEnd + Serialize stack step + spanBuildRequestStart + setOperationInput + ResolveEndpoint + OperationSerializer + Build stack step + ClientRequestID + ComputeContentLength + UserAgent + AddTimeOffsetMiddleware + RecursionDetection + spanBuildRequestEnd + Finalize stack step + ResolveAuthScheme + GetIdentity + ResolveEndpointV2 + disableHTTPS + ComputePayloadHash + spanRetryLoop + Retry + RetryMetricsHeader + setLegacyContextSigningOptions + Signing + Deserialize stack step + AddRawResponseToMetadata + ErrorCloseResponseBody + CloseResponseBody + ResponseErrorWrapper + RequestIDRetriever + OperationDeserializer + AddTimeOffsetMiddleware + RecordResponseTiming + RequestResponseLogger diff --git a/service/gamelift/snapshot/api_op_UpdateContainerFleet.go.snap b/service/gamelift/snapshot/api_op_UpdateContainerFleet.go.snap new file mode 100644 index 00000000000..52c483673f0 --- /dev/null +++ b/service/gamelift/snapshot/api_op_UpdateContainerFleet.go.snap @@ -0,0 +1,41 @@ +UpdateContainerFleet + Initialize stack step + spanInitializeStart + RegisterServiceMetadata + legacyEndpointContextSetter + SetLogger + OperationInputValidation + spanInitializeEnd + Serialize stack step + spanBuildRequestStart + setOperationInput + ResolveEndpoint + OperationSerializer + Build stack step + ClientRequestID + ComputeContentLength + UserAgent + AddTimeOffsetMiddleware + RecursionDetection + spanBuildRequestEnd + Finalize stack step + ResolveAuthScheme + GetIdentity + ResolveEndpointV2 + disableHTTPS + ComputePayloadHash + spanRetryLoop + Retry + RetryMetricsHeader + setLegacyContextSigningOptions + Signing + Deserialize stack step + AddRawResponseToMetadata + ErrorCloseResponseBody + CloseResponseBody + ResponseErrorWrapper + RequestIDRetriever + OperationDeserializer + AddTimeOffsetMiddleware + RecordResponseTiming + RequestResponseLogger diff --git a/service/gamelift/snapshot/api_op_UpdateContainerGroupDefinition.go.snap b/service/gamelift/snapshot/api_op_UpdateContainerGroupDefinition.go.snap new file mode 100644 index 00000000000..4ead4d6d640 --- /dev/null +++ b/service/gamelift/snapshot/api_op_UpdateContainerGroupDefinition.go.snap @@ -0,0 +1,41 @@ +UpdateContainerGroupDefinition + Initialize stack step + spanInitializeStart + RegisterServiceMetadata + legacyEndpointContextSetter + SetLogger + OperationInputValidation + spanInitializeEnd + Serialize stack step + spanBuildRequestStart + setOperationInput + ResolveEndpoint + OperationSerializer + Build stack step + ClientRequestID + ComputeContentLength + UserAgent + AddTimeOffsetMiddleware + RecursionDetection + spanBuildRequestEnd + Finalize stack step + ResolveAuthScheme + GetIdentity + ResolveEndpointV2 + disableHTTPS + ComputePayloadHash + spanRetryLoop + Retry + RetryMetricsHeader + setLegacyContextSigningOptions + Signing + Deserialize stack step + AddRawResponseToMetadata + ErrorCloseResponseBody + CloseResponseBody + ResponseErrorWrapper + RequestIDRetriever + OperationDeserializer + AddTimeOffsetMiddleware + RecordResponseTiming + RequestResponseLogger diff --git a/service/gamelift/snapshot_test.go b/service/gamelift/snapshot_test.go index a8cbc30f1d5..b9ad66ee798 100644 --- a/service/gamelift/snapshot_test.go +++ b/service/gamelift/snapshot_test.go @@ -110,6 +110,18 @@ func TestCheckSnapshot_CreateBuild(t *testing.T) { } } +func TestCheckSnapshot_CreateContainerFleet(t *testing.T) { + svc := New(Options{}) + _, err := svc.CreateContainerFleet(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return testSnapshot(stack, "CreateContainerFleet") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestCheckSnapshot_CreateContainerGroupDefinition(t *testing.T) { svc := New(Options{}) _, err := svc.CreateContainerGroupDefinition(context.Background(), nil, func(o *Options) { @@ -302,6 +314,18 @@ func TestCheckSnapshot_DeleteBuild(t *testing.T) { } } +func TestCheckSnapshot_DeleteContainerFleet(t *testing.T) { + svc := New(Options{}) + _, err := svc.DeleteContainerFleet(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return testSnapshot(stack, "DeleteContainerFleet") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestCheckSnapshot_DeleteContainerGroupDefinition(t *testing.T) { svc := New(Options{}) _, err := svc.DeleteContainerGroupDefinition(context.Background(), nil, func(o *Options) { @@ -506,6 +530,18 @@ func TestCheckSnapshot_DescribeCompute(t *testing.T) { } } +func TestCheckSnapshot_DescribeContainerFleet(t *testing.T) { + svc := New(Options{}) + _, err := svc.DescribeContainerFleet(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return testSnapshot(stack, "DescribeContainerFleet") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestCheckSnapshot_DescribeContainerGroupDefinition(t *testing.T) { svc := New(Options{}) _, err := svc.DescribeContainerGroupDefinition(context.Background(), nil, func(o *Options) { @@ -554,6 +590,18 @@ func TestCheckSnapshot_DescribeFleetCapacity(t *testing.T) { } } +func TestCheckSnapshot_DescribeFleetDeployment(t *testing.T) { + svc := New(Options{}) + _, err := svc.DescribeFleetDeployment(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return testSnapshot(stack, "DescribeFleetDeployment") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestCheckSnapshot_DescribeFleetEvents(t *testing.T) { svc := New(Options{}) _, err := svc.DescribeFleetEvents(context.Background(), nil, func(o *Options) { @@ -914,6 +962,18 @@ func TestCheckSnapshot_ListCompute(t *testing.T) { } } +func TestCheckSnapshot_ListContainerFleets(t *testing.T) { + svc := New(Options{}) + _, err := svc.ListContainerFleets(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return testSnapshot(stack, "ListContainerFleets") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestCheckSnapshot_ListContainerGroupDefinitions(t *testing.T) { svc := New(Options{}) _, err := svc.ListContainerGroupDefinitions(context.Background(), nil, func(o *Options) { @@ -926,6 +986,30 @@ func TestCheckSnapshot_ListContainerGroupDefinitions(t *testing.T) { } } +func TestCheckSnapshot_ListContainerGroupDefinitionVersions(t *testing.T) { + svc := New(Options{}) + _, err := svc.ListContainerGroupDefinitionVersions(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return testSnapshot(stack, "ListContainerGroupDefinitionVersions") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + +func TestCheckSnapshot_ListFleetDeployments(t *testing.T) { + svc := New(Options{}) + _, err := svc.ListFleetDeployments(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return testSnapshot(stack, "ListFleetDeployments") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestCheckSnapshot_ListFleets(t *testing.T) { svc := New(Options{}) _, err := svc.ListFleets(context.Background(), nil, func(o *Options) { @@ -1226,6 +1310,30 @@ func TestCheckSnapshot_UpdateBuild(t *testing.T) { } } +func TestCheckSnapshot_UpdateContainerFleet(t *testing.T) { + svc := New(Options{}) + _, err := svc.UpdateContainerFleet(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return testSnapshot(stack, "UpdateContainerFleet") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + +func TestCheckSnapshot_UpdateContainerGroupDefinition(t *testing.T) { + svc := New(Options{}) + _, err := svc.UpdateContainerGroupDefinition(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return testSnapshot(stack, "UpdateContainerGroupDefinition") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestCheckSnapshot_UpdateFleetAttributes(t *testing.T) { svc := New(Options{}) _, err := svc.UpdateFleetAttributes(context.Background(), nil, func(o *Options) { @@ -1405,6 +1513,18 @@ func TestUpdateSnapshot_CreateBuild(t *testing.T) { } } +func TestUpdateSnapshot_CreateContainerFleet(t *testing.T) { + svc := New(Options{}) + _, err := svc.CreateContainerFleet(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return updateSnapshot(stack, "CreateContainerFleet") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestUpdateSnapshot_CreateContainerGroupDefinition(t *testing.T) { svc := New(Options{}) _, err := svc.CreateContainerGroupDefinition(context.Background(), nil, func(o *Options) { @@ -1597,6 +1717,18 @@ func TestUpdateSnapshot_DeleteBuild(t *testing.T) { } } +func TestUpdateSnapshot_DeleteContainerFleet(t *testing.T) { + svc := New(Options{}) + _, err := svc.DeleteContainerFleet(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return updateSnapshot(stack, "DeleteContainerFleet") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestUpdateSnapshot_DeleteContainerGroupDefinition(t *testing.T) { svc := New(Options{}) _, err := svc.DeleteContainerGroupDefinition(context.Background(), nil, func(o *Options) { @@ -1801,6 +1933,18 @@ func TestUpdateSnapshot_DescribeCompute(t *testing.T) { } } +func TestUpdateSnapshot_DescribeContainerFleet(t *testing.T) { + svc := New(Options{}) + _, err := svc.DescribeContainerFleet(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return updateSnapshot(stack, "DescribeContainerFleet") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestUpdateSnapshot_DescribeContainerGroupDefinition(t *testing.T) { svc := New(Options{}) _, err := svc.DescribeContainerGroupDefinition(context.Background(), nil, func(o *Options) { @@ -1849,6 +1993,18 @@ func TestUpdateSnapshot_DescribeFleetCapacity(t *testing.T) { } } +func TestUpdateSnapshot_DescribeFleetDeployment(t *testing.T) { + svc := New(Options{}) + _, err := svc.DescribeFleetDeployment(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return updateSnapshot(stack, "DescribeFleetDeployment") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestUpdateSnapshot_DescribeFleetEvents(t *testing.T) { svc := New(Options{}) _, err := svc.DescribeFleetEvents(context.Background(), nil, func(o *Options) { @@ -2209,6 +2365,18 @@ func TestUpdateSnapshot_ListCompute(t *testing.T) { } } +func TestUpdateSnapshot_ListContainerFleets(t *testing.T) { + svc := New(Options{}) + _, err := svc.ListContainerFleets(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return updateSnapshot(stack, "ListContainerFleets") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestUpdateSnapshot_ListContainerGroupDefinitions(t *testing.T) { svc := New(Options{}) _, err := svc.ListContainerGroupDefinitions(context.Background(), nil, func(o *Options) { @@ -2221,6 +2389,30 @@ func TestUpdateSnapshot_ListContainerGroupDefinitions(t *testing.T) { } } +func TestUpdateSnapshot_ListContainerGroupDefinitionVersions(t *testing.T) { + svc := New(Options{}) + _, err := svc.ListContainerGroupDefinitionVersions(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return updateSnapshot(stack, "ListContainerGroupDefinitionVersions") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + +func TestUpdateSnapshot_ListFleetDeployments(t *testing.T) { + svc := New(Options{}) + _, err := svc.ListFleetDeployments(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return updateSnapshot(stack, "ListFleetDeployments") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestUpdateSnapshot_ListFleets(t *testing.T) { svc := New(Options{}) _, err := svc.ListFleets(context.Background(), nil, func(o *Options) { @@ -2521,6 +2713,30 @@ func TestUpdateSnapshot_UpdateBuild(t *testing.T) { } } +func TestUpdateSnapshot_UpdateContainerFleet(t *testing.T) { + svc := New(Options{}) + _, err := svc.UpdateContainerFleet(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return updateSnapshot(stack, "UpdateContainerFleet") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + +func TestUpdateSnapshot_UpdateContainerGroupDefinition(t *testing.T) { + svc := New(Options{}) + _, err := svc.UpdateContainerGroupDefinition(context.Background(), nil, func(o *Options) { + o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { + return updateSnapshot(stack, "UpdateContainerGroupDefinition") + }) + }) + if _, ok := err.(snapshotOK); !ok && err != nil { + t.Fatal(err) + } +} + func TestUpdateSnapshot_UpdateFleetAttributes(t *testing.T) { svc := New(Options{}) _, err := svc.UpdateFleetAttributes(context.Background(), nil, func(o *Options) { diff --git a/service/gamelift/types/enums.go b/service/gamelift/types/enums.go index 336fdbe0fce..9afa9ee4f9d 100644 --- a/service/gamelift/types/enums.go +++ b/service/gamelift/types/enums.go @@ -131,6 +131,7 @@ const ( ComputeStatusPending ComputeStatus = "PENDING" ComputeStatusActive ComputeStatus = "ACTIVE" ComputeStatusTerminating ComputeStatus = "TERMINATING" + ComputeStatusImpaired ComputeStatus = "IMPAIRED" ) // Values returns all known values for ComputeStatus. Note that this can be @@ -142,6 +143,7 @@ func (ComputeStatus) Values() []ComputeStatus { "PENDING", "ACTIVE", "TERMINATING", + "IMPAIRED", } } @@ -149,9 +151,8 @@ type ComputeType string // Enum values for ComputeType const ( - ComputeTypeEc2 ComputeType = "EC2" - ComputeTypeAnywhere ComputeType = "ANYWHERE" - ComputeTypeContainer ComputeType = "CONTAINER" + ComputeTypeEc2 ComputeType = "EC2" + ComputeTypeAnywhere ComputeType = "ANYWHERE" ) // Values returns all known values for ComputeType. Note that this can be expanded @@ -162,7 +163,6 @@ func (ComputeType) Values() []ComputeType { return []ComputeType{ "EC2", "ANYWHERE", - "CONTAINER", } } @@ -190,6 +190,102 @@ func (ContainerDependencyCondition) Values() []ContainerDependencyCondition { } } +type ContainerFleetBillingType string + +// Enum values for ContainerFleetBillingType +const ( + ContainerFleetBillingTypeOnDemand ContainerFleetBillingType = "ON_DEMAND" + ContainerFleetBillingTypeSpot ContainerFleetBillingType = "SPOT" +) + +// Values returns all known values for ContainerFleetBillingType. 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 (ContainerFleetBillingType) Values() []ContainerFleetBillingType { + return []ContainerFleetBillingType{ + "ON_DEMAND", + "SPOT", + } +} + +type ContainerFleetLocationStatus string + +// Enum values for ContainerFleetLocationStatus +const ( + ContainerFleetLocationStatusPending ContainerFleetLocationStatus = "PENDING" + ContainerFleetLocationStatusCreating ContainerFleetLocationStatus = "CREATING" + ContainerFleetLocationStatusCreated ContainerFleetLocationStatus = "CREATED" + ContainerFleetLocationStatusActivating ContainerFleetLocationStatus = "ACTIVATING" + ContainerFleetLocationStatusActive ContainerFleetLocationStatus = "ACTIVE" + ContainerFleetLocationStatusUpdating ContainerFleetLocationStatus = "UPDATING" + ContainerFleetLocationStatusDeleting ContainerFleetLocationStatus = "DELETING" +) + +// Values returns all known values for ContainerFleetLocationStatus. 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 (ContainerFleetLocationStatus) Values() []ContainerFleetLocationStatus { + return []ContainerFleetLocationStatus{ + "PENDING", + "CREATING", + "CREATED", + "ACTIVATING", + "ACTIVE", + "UPDATING", + "DELETING", + } +} + +type ContainerFleetRemoveAttribute string + +// Enum values for ContainerFleetRemoveAttribute +const ( + ContainerFleetRemoveAttributePerInstanceContainerGroupDefinition ContainerFleetRemoveAttribute = "PER_INSTANCE_CONTAINER_GROUP_DEFINITION" +) + +// Values returns all known values for ContainerFleetRemoveAttribute. 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 (ContainerFleetRemoveAttribute) Values() []ContainerFleetRemoveAttribute { + return []ContainerFleetRemoveAttribute{ + "PER_INSTANCE_CONTAINER_GROUP_DEFINITION", + } +} + +type ContainerFleetStatus string + +// Enum values for ContainerFleetStatus +const ( + ContainerFleetStatusPending ContainerFleetStatus = "PENDING" + ContainerFleetStatusCreating ContainerFleetStatus = "CREATING" + ContainerFleetStatusCreated ContainerFleetStatus = "CREATED" + ContainerFleetStatusActivating ContainerFleetStatus = "ACTIVATING" + ContainerFleetStatusActive ContainerFleetStatus = "ACTIVE" + ContainerFleetStatusUpdating ContainerFleetStatus = "UPDATING" + ContainerFleetStatusDeleting ContainerFleetStatus = "DELETING" +) + +// Values returns all known values for ContainerFleetStatus. 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 (ContainerFleetStatus) Values() []ContainerFleetStatus { + return []ContainerFleetStatus{ + "PENDING", + "CREATING", + "CREATED", + "ACTIVATING", + "ACTIVE", + "UPDATING", + "DELETING", + } +} + type ContainerGroupDefinitionStatus string // Enum values for ContainerGroupDefinitionStatus @@ -212,6 +308,45 @@ func (ContainerGroupDefinitionStatus) Values() []ContainerGroupDefinitionStatus } } +type ContainerGroupType string + +// Enum values for ContainerGroupType +const ( + ContainerGroupTypeGameServer ContainerGroupType = "GAME_SERVER" + ContainerGroupTypePerInstance ContainerGroupType = "PER_INSTANCE" +) + +// Values returns all known values for ContainerGroupType. 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 (ContainerGroupType) Values() []ContainerGroupType { + return []ContainerGroupType{ + "GAME_SERVER", + "PER_INSTANCE", + } +} + +type ContainerMountPointAccessLevel string + +// Enum values for ContainerMountPointAccessLevel +const ( + ContainerMountPointAccessLevelReadOnly ContainerMountPointAccessLevel = "READ_ONLY" + ContainerMountPointAccessLevelReadAndWrite ContainerMountPointAccessLevel = "READ_AND_WRITE" +) + +// Values returns all known values for ContainerMountPointAccessLevel. 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 (ContainerMountPointAccessLevel) Values() []ContainerMountPointAccessLevel { + return []ContainerMountPointAccessLevel{ + "READ_ONLY", + "READ_AND_WRITE", + } +} + type ContainerOperatingSystem string // Enum values for ContainerOperatingSystem @@ -229,22 +364,72 @@ func (ContainerOperatingSystem) Values() []ContainerOperatingSystem { } } -type ContainerSchedulingStrategy string +type DeploymentImpairmentStrategy string -// Enum values for ContainerSchedulingStrategy +// Enum values for DeploymentImpairmentStrategy const ( - ContainerSchedulingStrategyReplica ContainerSchedulingStrategy = "REPLICA" - ContainerSchedulingStrategyDaemon ContainerSchedulingStrategy = "DAEMON" + DeploymentImpairmentStrategyMaintain DeploymentImpairmentStrategy = "MAINTAIN" + DeploymentImpairmentStrategyRollback DeploymentImpairmentStrategy = "ROLLBACK" ) -// Values returns all known values for ContainerSchedulingStrategy. Note that this -// can be expanded in the future, and so it is only as up to date as the client. +// Values returns all known values for DeploymentImpairmentStrategy. 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 (ContainerSchedulingStrategy) Values() []ContainerSchedulingStrategy { - return []ContainerSchedulingStrategy{ - "REPLICA", - "DAEMON", +func (DeploymentImpairmentStrategy) Values() []DeploymentImpairmentStrategy { + return []DeploymentImpairmentStrategy{ + "MAINTAIN", + "ROLLBACK", + } +} + +type DeploymentProtectionStrategy string + +// Enum values for DeploymentProtectionStrategy +const ( + DeploymentProtectionStrategyWithProtection DeploymentProtectionStrategy = "WITH_PROTECTION" + DeploymentProtectionStrategyIgnoreProtection DeploymentProtectionStrategy = "IGNORE_PROTECTION" +) + +// Values returns all known values for DeploymentProtectionStrategy. 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 (DeploymentProtectionStrategy) Values() []DeploymentProtectionStrategy { + return []DeploymentProtectionStrategy{ + "WITH_PROTECTION", + "IGNORE_PROTECTION", + } +} + +type DeploymentStatus string + +// Enum values for DeploymentStatus +const ( + DeploymentStatusInProgress DeploymentStatus = "IN_PROGRESS" + DeploymentStatusImpaired DeploymentStatus = "IMPAIRED" + DeploymentStatusComplete DeploymentStatus = "COMPLETE" + DeploymentStatusRollbackInProgress DeploymentStatus = "ROLLBACK_IN_PROGRESS" + DeploymentStatusRollbackComplete DeploymentStatus = "ROLLBACK_COMPLETE" + DeploymentStatusCancelled DeploymentStatus = "CANCELLED" + DeploymentStatusPending DeploymentStatus = "PENDING" +) + +// Values returns all known values for DeploymentStatus. 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 (DeploymentStatus) Values() []DeploymentStatus { + return []DeploymentStatus{ + "IN_PROGRESS", + "IMPAIRED", + "COMPLETE", + "ROLLBACK_IN_PROGRESS", + "ROLLBACK_COMPLETE", + "CANCELLED", + "PENDING", } } @@ -627,6 +812,10 @@ const ( EventCodeFleetStateActivating EventCode = "FLEET_STATE_ACTIVATING" EventCodeFleetStateActive EventCode = "FLEET_STATE_ACTIVE" EventCodeFleetStateError EventCode = "FLEET_STATE_ERROR" + EventCodeFleetStatePending EventCode = "FLEET_STATE_PENDING" + EventCodeFleetStateCreating EventCode = "FLEET_STATE_CREATING" + EventCodeFleetStateCreated EventCode = "FLEET_STATE_CREATED" + EventCodeFleetStateUpdating EventCode = "FLEET_STATE_UPDATING" EventCodeFleetInitializationFailed EventCode = "FLEET_INITIALIZATION_FAILED" EventCodeFleetBinaryDownloadFailed EventCode = "FLEET_BINARY_DOWNLOAD_FAILED" EventCodeFleetValidationLaunchPathNotFound EventCode = "FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND" @@ -642,6 +831,8 @@ const ( EventCodeServerProcessTerminatedUnhealthy EventCode = "SERVER_PROCESS_TERMINATED_UNHEALTHY" EventCodeServerProcessForceTerminated EventCode = "SERVER_PROCESS_FORCE_TERMINATED" EventCodeServerProcessProcessExitTimeout EventCode = "SERVER_PROCESS_PROCESS_EXIT_TIMEOUT" + EventCodeServerProcessSdkInitializationFailed EventCode = "SERVER_PROCESS_SDK_INITIALIZATION_FAILED" + EventCodeServerProcessMisconfiguredContainerPort EventCode = "SERVER_PROCESS_MISCONFIGURED_CONTAINER_PORT" EventCodeGameSessionActivationTimeout EventCode = "GAME_SESSION_ACTIVATION_TIMEOUT" EventCodeFleetCreationExtractingBuild EventCode = "FLEET_CREATION_EXTRACTING_BUILD" EventCodeFleetCreationRunningInstaller EventCode = "FLEET_CREATION_RUNNING_INSTALLER" @@ -651,8 +842,22 @@ const ( EventCodeFleetVpcPeeringDeleted EventCode = "FLEET_VPC_PEERING_DELETED" EventCodeInstanceInterrupted EventCode = "INSTANCE_INTERRUPTED" EventCodeInstanceRecycled EventCode = "INSTANCE_RECYCLED" + EventCodeInstanceReplacedUnhealthy EventCode = "INSTANCE_REPLACED_UNHEALTHY" EventCodeFleetCreationCompletedInstaller EventCode = "FLEET_CREATION_COMPLETED_INSTALLER" EventCodeFleetCreationFailedInstaller EventCode = "FLEET_CREATION_FAILED_INSTALLER" + EventCodeComputeLogUploadFailed EventCode = "COMPUTE_LOG_UPLOAD_FAILED" + EventCodeGameServerContainerGroupCrashed EventCode = "GAME_SERVER_CONTAINER_GROUP_CRASHED" + EventCodePerInstanceContainerGroupCrashed EventCode = "PER_INSTANCE_CONTAINER_GROUP_CRASHED" + EventCodeGameServerContainerGroupReplacedUnhealthy EventCode = "GAME_SERVER_CONTAINER_GROUP_REPLACED_UNHEALTHY" + EventCodeLocationStatePending EventCode = "LOCATION_STATE_PENDING" + EventCodeLocationStateCreating EventCode = "LOCATION_STATE_CREATING" + EventCodeLocationStateCreated EventCode = "LOCATION_STATE_CREATED" + EventCodeLocationStateActivating EventCode = "LOCATION_STATE_ACTIVATING" + EventCodeLocationStateActive EventCode = "LOCATION_STATE_ACTIVE" + EventCodeLocationStateUpdating EventCode = "LOCATION_STATE_UPDATING" + EventCodeLocationStateError EventCode = "LOCATION_STATE_ERROR" + EventCodeLocationStateDeleting EventCode = "LOCATION_STATE_DELETING" + EventCodeLocationStateDeleted EventCode = "LOCATION_STATE_DELETED" ) // Values returns all known values for EventCode. Note that this can be expanded @@ -671,6 +876,10 @@ func (EventCode) Values() []EventCode { "FLEET_STATE_ACTIVATING", "FLEET_STATE_ACTIVE", "FLEET_STATE_ERROR", + "FLEET_STATE_PENDING", + "FLEET_STATE_CREATING", + "FLEET_STATE_CREATED", + "FLEET_STATE_UPDATING", "FLEET_INITIALIZATION_FAILED", "FLEET_BINARY_DOWNLOAD_FAILED", "FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND", @@ -686,6 +895,8 @@ func (EventCode) Values() []EventCode { "SERVER_PROCESS_TERMINATED_UNHEALTHY", "SERVER_PROCESS_FORCE_TERMINATED", "SERVER_PROCESS_PROCESS_EXIT_TIMEOUT", + "SERVER_PROCESS_SDK_INITIALIZATION_FAILED", + "SERVER_PROCESS_MISCONFIGURED_CONTAINER_PORT", "GAME_SESSION_ACTIVATION_TIMEOUT", "FLEET_CREATION_EXTRACTING_BUILD", "FLEET_CREATION_RUNNING_INSTALLER", @@ -695,8 +906,22 @@ func (EventCode) Values() []EventCode { "FLEET_VPC_PEERING_DELETED", "INSTANCE_INTERRUPTED", "INSTANCE_RECYCLED", + "INSTANCE_REPLACED_UNHEALTHY", "FLEET_CREATION_COMPLETED_INSTALLER", "FLEET_CREATION_FAILED_INSTALLER", + "COMPUTE_LOG_UPLOAD_FAILED", + "GAME_SERVER_CONTAINER_GROUP_CRASHED", + "PER_INSTANCE_CONTAINER_GROUP_CRASHED", + "GAME_SERVER_CONTAINER_GROUP_REPLACED_UNHEALTHY", + "LOCATION_STATE_PENDING", + "LOCATION_STATE_CREATING", + "LOCATION_STATE_CREATED", + "LOCATION_STATE_ACTIVATING", + "LOCATION_STATE_ACTIVE", + "LOCATION_STATE_UPDATING", + "LOCATION_STATE_ERROR", + "LOCATION_STATE_DELETING", + "LOCATION_STATE_DELETED", } } @@ -1285,6 +1510,25 @@ func (IpProtocol) Values() []IpProtocol { } } +type ListComputeInputStatus string + +// Enum values for ListComputeInputStatus +const ( + ListComputeInputStatusActive ListComputeInputStatus = "ACTIVE" + ListComputeInputStatusImpaired ListComputeInputStatus = "IMPAIRED" +) + +// Values returns all known values for ListComputeInputStatus. 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 (ListComputeInputStatus) Values() []ListComputeInputStatus { + return []ListComputeInputStatus{ + "ACTIVE", + "IMPAIRED", + } +} + type LocationFilter string // Enum values for LocationFilter @@ -1321,6 +1565,27 @@ func (LocationUpdateStatus) Values() []LocationUpdateStatus { } } +type LogDestination string + +// Enum values for LogDestination +const ( + LogDestinationNone LogDestination = "NONE" + LogDestinationCloudwatch LogDestination = "CLOUDWATCH" + LogDestinationS3 LogDestination = "S3" +) + +// Values returns all known values for LogDestination. 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 (LogDestination) Values() []LogDestination { + return []LogDestination{ + "NONE", + "CLOUDWATCH", + "S3", + } +} + type MatchmakingConfigurationStatus string // Enum values for MatchmakingConfigurationStatus diff --git a/service/gamelift/types/types.go b/service/gamelift/types/types.go index 5e7068aa9a4..cb1be17aced 100644 --- a/service/gamelift/types/types.go +++ b/service/gamelift/types/types.go @@ -125,9 +125,9 @@ type AwsCredentials struct { // [All APIs by task]: https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets type Build struct { - // The Amazon Resource Name ([ARN] ) assigned to a Amazon GameLift build resource and - // uniquely identifies it. ARNs are unique across all Regions. Format is - // arn:aws:gamelift:::build/build-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912 . In a + // The Amazon Resource Name ([ARN] ) that is assigned to a Amazon GameLift build + // resource and uniquely identifies it. ARNs are unique across all Regions. Format + // is arn:aws:gamelift:::build/build-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912 . In a // GameLift build ARN, the resource ID matches the BuildId value. // // [ARN]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html @@ -140,8 +140,8 @@ type Build struct { // expressed in Unix time as milliseconds (for example "1469498468.057" ). CreationTime *time.Time - // A descriptive label associated with a build. Build names don't need to be - // unique. It can be set using [CreateBuild]or [UpdateBuild]. + // A descriptive label that is associated with a build. Build names do not need to + // be unique. It can be set using [CreateBuild]or [UpdateBuild]. // // [CreateBuild]: https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateBuild.html // [UpdateBuild]: https://docs.aws.amazon.com/gamelift/latest/apireference/UpdateBuild @@ -182,17 +182,13 @@ type Build struct { // this build. Status BuildStatus - // Version information associated with a build or script. Version strings don't - // need to be unique. + // Version information that is associated with a build or script. Version strings + // do not need to be unique. Version *string noSmithyDocumentSerde } -// This data type has been expanded to use with the Amazon GameLift containers -// -// feature, which is currently in public preview. -// // Determines whether a TLS/SSL certificate is generated for a fleet. This feature // must be enabled when creating the fleet. All instances in a fleet share the same // certificate. The certificate can be retrieved by calling the [Amazon GameLift Server SDK]operation @@ -205,9 +201,9 @@ type CertificateConfiguration struct { // // Valid values include: // - // - GENERATED - Generate a TLS/SSL certificate for this fleet. + // - GENERATED -- Generate a TLS/SSL certificate for this fleet. // - // - DISABLED - (default) Do not generate a TLS/SSL certificate for this fleet. + // - DISABLED -- (default) Do not generate a TLS/SSL certificate for this fleet. // // This member is required. CertificateType CertificateType @@ -229,21 +225,14 @@ type ClaimFilterOption struct { noSmithyDocumentSerde } -// This data type has been expanded to use with the Amazon GameLift containers -// -// feature, which is currently in public preview. -// // An Amazon GameLift compute resource for hosting your game servers. Computes in // an Amazon GameLift fleet differs depending on the fleet's compute type property // as follows: // -// - For EC2 fleets, a compute is an EC2 instance. +// - For managed EC2 fleets, a compute is an EC2 instance. // -// - For ANYWHERE fleets, a compute is a computing resource that you provide and +// - For Anywhere fleets, a compute is a computing resource that you provide and // is registered to the fleet. -// -// - For CONTAINER fleets, a compute is a container that's registered to the -// fleet. type Compute struct { // The ARN that is assigned to a compute resource and uniquely identifies it. ARNs @@ -259,8 +248,8 @@ type Compute struct { // game sessions. ComputeStatus ComputeStatus - // Some attributes of a container. - ContainerAttributes *ContainerAttributes + // A set of attributes for each container in the compute. + ContainerAttributes []ContainerAttribute // A time stamp indicating when this data object was created. Format is a number // expressed in Unix time as milliseconds (for example "1469498468.057" ). @@ -284,8 +273,10 @@ type Compute struct { // connect to the Amazon GameLift service. GameLiftServiceSdkEndpoint *string - // The InstanceID of the Instance hosting the compute for Container and Managed - // EC2 fleets. + // The game server container group definition for the compute. + GameServerContainerGroupDefinitionArn *string + + // The InstanceID of the EC2 instance that is hosting the compute. InstanceId *string // The IP address of a compute resource. Amazon GameLift requires a DNS name or IP @@ -314,15 +305,9 @@ type Compute struct { noSmithyDocumentSerde } -// This operation has been expanded to use with the Amazon GameLift containers -// -// feature, which is currently in public preview. -// // The set of port numbers to open on each instance in a container fleet. // Connection ports are used by inbound traffic to connect with processes that are // running in containers on the fleet. -// -// Part of: ContainerGroupsConfiguration, ContainerGroupsAttributes type ConnectionPortRange struct { // Starting value for the port range. @@ -339,381 +324,297 @@ type ConnectionPortRange struct { noSmithyDocumentSerde } -// This data type is used with the Amazon GameLift containers feature, which is +// A unique identifier for a container in a container fleet compute. // -// currently in public preview. -// -// Describes attributes of containers that are deployed to a fleet with compute -// type CONTAINER . -type ContainerAttributes struct { +// Returned by: DescribeCompute +type ContainerAttribute struct { - // Describes how container ports map to connection ports on the fleet instance. - // Incoming traffic connects to a game via a connection port. A - // ContainerPortMapping directs the traffic from a connection port to a port on the - // container that hosts the game session. - ContainerPortMappings []ContainerPortMapping + // The identifier for a container that's running in a compute. + ContainerName *string + + // The runtime ID for the container that's running in a compute. This value is + // unique within the compute. + ContainerRuntimeId *string noSmithyDocumentSerde } -// This data type is used with the Amazon GameLift containers feature, which is -// -// currently in public preview. -// -// Describes a container in a container fleet, the resources available to the -// container, and the commands that are run when the container starts. Container -// properties can't be updated. To change a property, create a new container group -// definition. See also ContainerDefinitionInput. +// A container's dependency on another container in the same container group. The +// dependency impacts how the dependent container is able to start or shut down +// based the status of the other container. // -// Part of: ContainerGroupDefinition +// For example, ContainerA is configured with the following dependency: a START +// dependency on ContainerB. This means that ContainerA can't start until +// ContainerB has started. It also means that ContainerA must shut down before +// ContainerB. // -// Returned by: DescribeContainerGroupDefinition, ListContainerGroupDefinitions -type ContainerDefinition struct { +// eiifcbfhgrdurhnucnufkgbnbnnerrvbtjvljdetkehcPart of: GameServerContainerDefinition, GameServerContainerDefinitionInput, SupportContainerDefinition, SupportContainerDefinitionInput +type ContainerDependency struct { - // The container definition identifier. Container names are unique within a - // container group definition. + // The condition that the dependency container must reach before the dependent + // container can start. Valid conditions include: // - // This member is required. - ContainerName *string - - // The URI to the image that $short; copied and deployed to a container fleet. - // For a more specific identifier, see ResolvedImageDigest . + // - START - The dependency container must have started. + // + // - COMPLETE - The dependency container has run to completion (exits). Use this + // condition with nonessential containers, such as those that run a script and then + // exit. The dependency container can't be an essential container. + // + // - SUCCESS - The dependency container has run to completion and exited with a + // zero status. The dependency container can't be an essential container. + // + // - HEALTHY - The dependency container has passed its Docker health check. Use + // this condition with dependency containers that have health checks configured. + // This condition is confirmed at container group startup only. // // This member is required. - ImageUri *string + Condition ContainerDependencyCondition - // A command that's passed to the container on startup. Each argument for the - // command is an additional string in the array. See the [ContainerDefinition::command]parameter in the Amazon - // Elastic Container Service API reference. + // A descriptive label for the container definition that this container depends on. // - // [ContainerDefinition::command]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-command - Command []string + // This member is required. + ContainerName *string - // The number of CPU units that are reserved for the container. Note: 1 vCPU unit - // equals 1024 CPU units. If no resources are reserved, the container shares the - // total CPU limit for the container group. - // - // Related data type: ContainerGroupDefinition$TotalCpuLimit - Cpu *int32 + noSmithyDocumentSerde +} - // Indicates that the container relies on the status of other containers in the - // same container group during its startup and shutdown sequences. A container - // might have dependencies on multiple containers. - DependsOn []ContainerDependency +// An environment variable to set inside a container, in the form of a key-value +// pair. +// +// Part of: GameServerContainerDefinition, GameServerContainerDefinitionInput, SupportContainerDefinition, SupportContainerDefinitionInput +type ContainerEnvironment struct { - // The entry point that's passed to the container on startup. If there are - // multiple arguments, each argument is an additional string in the array. See the [ContainerDefinition::entryPoint] - // parameter in the Amazon Elastic Container Service API Reference. + // The environment variable name. // - // [ContainerDefinition::entryPoint]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-entryPoint - EntryPoint []string + // This member is required. + Name *string - // A set of environment variables that's passed to the container on startup. See - // the [ContainerDefinition::environment]parameter in the Amazon Elastic Container Service API Reference. + // The environment variable value. // - // [ContainerDefinition::environment]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment - Environment []ContainerEnvironment + // This member is required. + Value *string - // Indicates whether the container is vital to the container group. If an - // essential container fails, the entire container group is restarted. - Essential *bool + noSmithyDocumentSerde +} - // A configuration for a non-terminal health check. A container, which - // automatically restarts if it stops functioning, also restarts if it fails this - // health check. If an essential container in the daemon group fails a health - // check, the entire container group is restarted. The essential container in the - // replica group doesn't use this health check mechanism, because the Amazon - // GameLift Agent automatically handles the task. - HealthCheck *ContainerHealthCheck +// Describes an Amazon GameLift managed container fleet. +type ContainerFleet struct { - // The amount of memory that Amazon GameLift makes available to the container. If - // memory limits aren't set for an individual container, the container shares the - // container group's total memory allocation. + // Indicates whether the fleet uses On-Demand or Spot instances for this fleet. + // Learn more about when to use [On-Demand versus Spot Instances]. You can't update this fleet property. + // + // By default, this property is set to ON_DEMAND . // - // Related data type: ContainerGroupDefinition$TotalMemoryLimit - MemoryLimits *ContainerMemoryLimits + // [On-Demand versus Spot Instances]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot + BillingType ContainerFleetBillingType - // Defines the ports that are available to assign to processes in the container. - // For example, a game server process requires a container port to allow game - // clients to connect to it. Container ports aren't directly accessed by inbound - // traffic. Amazon GameLift maps these container ports to externally accessible - // connection ports, which are assigned as needed from the container fleet's - // ConnectionPortRange . - PortConfiguration *ContainerPortConfiguration + // A time stamp indicating when this data object was created. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057" ). + CreationTime *time.Time - // A unique and immutable identifier for the container image that is deployed to a - // container fleet. The digest is a SHA 256 hash of the container image manifest. - ResolvedImageDigest *string + // Information about the most recent deployment for the container fleet. + DeploymentDetails *DeploymentDetails - // The directory in the container where commands are run. See the [ContainerDefinition::workingDirectory] parameter in - // the Amazon Elastic Container Service API Reference. - // - // [ContainerDefinition::workingDirectory]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-workingDirectory - WorkingDirectory *string + // A meaningful description of the container fleet. + Description *string - noSmithyDocumentSerde -} + // The Amazon Resource Name ([ARN] ) that is assigned to a Amazon GameLift fleet + // resource and uniquely identifies it. ARNs are unique across all Regions. Format + // is arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912 . In a + // GameLift fleet ARN, the resource ID matches the FleetId value. + // + // [ARN]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html + FleetArn *string -// This data type is used with the Amazon GameLift containers feature, which is -// -// currently in public preview. -// -// Describes a container's configuration, resources, and start instructions. Use -// this data type to create a container group definition. For the properties of a -// container that's been deployed to a fleet, see ContainerDefinition. You can't change these -// properties after you've created the container group definition. If you need a -// container group with different properties, then you must create a new one. -// -// Used with: CreateContainerGroupDefinition -type ContainerDefinitionInput struct { + // A unique identifier for the container fleet to retrieve. + FleetId *string - // A string that uniquely identifies the container definition within a container - // group. + // The unique identifier for an Identity and Access Management (IAM) role with + // permissions to run your containers on resources that are managed by Amazon + // GameLift. See [Set up an IAM service role]. This fleet property can't be changed. // - // This member is required. - ContainerName *string + // [Set up an IAM service role]: https://docs.aws.amazon.com/gamelift/latest/developerguide/setting-up-role.html + FleetRoleArn *string - // The location of a container image that $short; will copy and deploy to a - // container fleet. Images in Amazon Elastic Container Registry private - // repositories are supported. The repository must be in the same Amazon Web - // Services account and Amazon Web Services Region where you're creating the - // container group definition. For limits on image size, see [Amazon GameLift endpoints and quotas]. You can use any of - // the following image URI formats: - // - // - Image ID only: [AWS account].dkr.ecr.[AWS region].amazonaws.com/[repository - // ID] + // The Amazon Resource Name ([ARN] ) that is assigned to the fleet's game server + // container group. The ARN value also identifies the specific container group + // definition version in use. // - // - Image ID and digest: [AWS account].dkr.ecr.[AWS - // region].amazonaws.com/[repository ID]@[digest] - // - // - Image ID and tag: [AWS account].dkr.ecr.[AWS - // region].amazonaws.com/[repository ID]:[tag] - // - // [Amazon GameLift endpoints and quotas]: https://docs.aws.amazon.com/general/latest/gr/gamelift.html - // - // This member is required. - ImageUri *string + // [ARN]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html + GameServerContainerGroupDefinitionArn *string - // A command to pass to the container on startup. Add multiple arguments as - // additional strings in the array. See the [ContainerDefinition command]parameter in the Amazon Elastic - // Container Service API reference. - // - // [ContainerDefinition command]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-command - Command []string + // The name of the fleet's game server container group definition, which describes + // how to deploy containers with your game server build and support software onto + // each fleet instance. + GameServerContainerGroupDefinitionName *string - // The number of CPU units to reserve for this container. The container can use - // more resources when needed, if available. Note: 1 vCPU unit equals 1024 CPU - // units. If you don't reserve CPU units for this container, then it shares the - // total CPU limit for the container group. This property is similar to the Amazon - // ECS container definition parameter [environment](Amazon Elastic Container Service Developer - // Guide). - // - // Related data type: ContainerGroupDefinition$TotalCpuLimit - // - // [environment]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_environment - Cpu *int32 + // The number of times to replicate the game server container group on each fleet + // instance. + GameServerContainerGroupsPerInstance *int32 - // Sets up dependencies between this container and the status of other containers - // in the same container group. A container can have dependencies on multiple - // different containers. - // - // You can use dependencies to establish a startup/shutdown sequence across the - // container group. A container startup dependency is reversed on shutdown. - // - // For example, you might specify that SideCarContainerB has a START dependency on - // SideCarContainerA. This dependency means that SideCarContainerB can't start - // until after SideCarContainerA has started. This dependency is reversed on - // shutdown, which means that SideCarContainerB must shut down before - // SideCarContainerA can shut down. - DependsOn []ContainerDependency + // A policy that limits the number of game sessions that each individual player + // can create on instances in this fleet. The limit applies for a specified span of + // time. + GameSessionCreationLimitPolicy *GameSessionCreationLimitPolicy - // An entry point to pass to the container on startup. Add multiple arguments as - // additional strings in the array. See the [ContainerDefinition::entryPoint]parameter in the Amazon Elastic - // Container Service API Reference. - // - // [ContainerDefinition::entryPoint]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-entryPoint - EntryPoint []string + // The set of port numbers to open on each instance in a container fleet. + // Connection ports are used by inbound traffic to connect with processes that are + // running in containers on the fleet. + InstanceConnectionPortRange *ConnectionPortRange - // A set of environment variables to pass to the container on startup. See the [ContainerDefinition::environment] - // parameter in the Amazon Elastic Container Service API Reference. - // - // [ContainerDefinition::environment]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment - Environment []ContainerEnvironment + // The IP address ranges and port settings that allow inbound traffic to access + // game server processes and other processes on this fleet. + InstanceInboundPermissions []IpPermission - // Specifies whether the container is vital for the container group to function - // properly. If an essential container fails, it causes the entire container group - // to restart. Each container group must have an essential container. - // - // Replica container groups - A replica group must have exactly one essential - // container. Use the following to configure an essential replica container: - // - // - Choose a container is running your game server and the Amazon GameLift - // Agent. + // The Amazon EC2 instance type to use for all instances in the fleet. Instance + // type determines the computing resources and processing power that's available to + // host your game servers. This includes including CPU, memory, storage, and + // networking capacity. You can't update this fleet property. + InstanceType *string + + // Information about the container fleet's remote locations where fleet instances + // are deployed. + LocationAttributes []ContainerFleetLocationAttributes + + // The method that is used to collect container logs for the fleet. Amazon + // GameLift saves all standard output for each container in logs, including game + // session logs. // - // - Include a port configuration. This container runs your game server - // processes, and each process requires a container port to allow access to game - // clients. + // - CLOUDWATCH -- Send logs to an Amazon CloudWatch log group that you define. + // Each container emits a log stream, which is organized in the log group. // - // - Don't configure a health check. The Agent handles this task for the - // essential replica container. + // - S3 -- Store logs in an Amazon S3 bucket that you define. // - // Daemon container groups - A daemon group must have at least one essential - // container. - Essential *bool + // - NONE -- Don't collect container logs. + LogConfiguration *LogConfiguration - // Configuration for a non-terminal health check. A container automatically - // restarts if it stops functioning. This parameter lets you define additional - // reasons to consider a container unhealthy and restart it. You can set a health - // check for any container except for the essential container in the replica - // container group. If an essential container in the daemon group fails a health - // check, the entire container group is restarted. - HealthCheck *ContainerHealthCheck + // The calculated maximum number of game server container group that can be + // deployed on each fleet instance. The calculation depends on the resource needs + // of the container group and the CPU and memory resources of the fleet's instance + // type. + MaximumGameServerContainerGroupsPerInstance *int32 - // The amount of memory to make available to the container. If you don't specify - // memory limits for this container, then it shares the container group's total - // memory allocation. - // - // Related data type: ContainerGroupDefinition$TotalMemoryLimit - MemoryLimits *ContainerMemoryLimits + // The name of an Amazon Web Services CloudWatch metric group to add this fleet + // to. Metric groups aggregate metrics for multiple fleets. + MetricGroups []string - // A set of ports that Amazon GameLift can assign to processes in the container. - // All processes that accept inbound traffic connections, including game server - // processes, must be assigned a port from this set. The set of ports must be large - // enough to assign one to each process in the container that needs one. If the - // container includes your game server, include enough ports to assign one port to - // each concurrent server process (as defined in a container fleet's RuntimeConfiguration). For more - // details, see [Networking for container fleets]. + // Determines whether Amazon GameLift can shut down game sessions on the fleet + // that are actively running and hosting players. Amazon GameLift might prompt an + // instance shutdown when scaling down fleet capacity or when retiring unhealthy + // instances. You can also set game session protection for individual game sessions + // using UpdateGameSession. // - // Container ports aren't directly accessed by inbound traffic. Amazon GameLift - // maps these container ports to externally accessible connection ports, which are - // assigned as needed from the container fleet's ConnectionPortRange . + // - NoProtection -- Game sessions can be shut down during active gameplay. // - // [Networking for container fleets]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-network - PortConfiguration *ContainerPortConfiguration + // - FullProtection -- Game sessions in ACTIVE status can't be shut down. + NewGameSessionProtectionPolicy ProtectionPolicy - // The directory in the container where commands are run. See the [ContainerDefinition::workingDirectory parameter] in the Amazon - // Elastic Container Service API Reference. + // The Amazon Resource Name ([ARN] ) that is assigned to the fleet's per-instance + // container group. The ARN value also identifies the specific container group + // definition version in use. // - // [ContainerDefinition::workingDirectory parameter]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-workingDirectory - WorkingDirectory *string - - noSmithyDocumentSerde -} + // [ARN]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html + PerInstanceContainerGroupDefinitionArn *string -// This data type is used with the Amazon GameLift containers feature, which is -// -// currently in public preview. -// -// A container's dependency on another container in the same container group. The -// dependency impacts how the dependent container is able to start or shut down -// based the status of the other container. -// -// For example, ContainerA is configured with the following dependency: a START -// dependency on ContainerB. This means that ContainerA can't start until -// ContainerB has started. It also means that ContainerA must shut down before -// ContainerB. -// -// Part of: ContainerDefinition -type ContainerDependency struct { + // The name of the fleet's per-instance container group definition. + PerInstanceContainerGroupDefinitionName *string - // The condition that the dependency container must reach before the dependent - // container can start. Valid conditions include: + // The current status of the container fleet. // - // - START - The dependency container must have started. + // - PENDING -- A new container fleet has been requested. // - // - COMPLETE - The dependency container has run to completion (exits). Use this - // condition with nonessential containers, such as those that run a script and then - // exit. The dependency container can't be an essential container. + // - CREATING -- A new container fleet resource is being created. // - // - SUCCESS - The dependency container has run to completion and exited with a - // zero status. The dependency container can't be an essential container. + // - CREATED -- A new container fleet resource has been created. No fleet + // instances have been deployed. // - // - HEALTHY - The dependency container has passed its Docker health check. Use - // this condition with dependency containers that have health checks configured. - // This condition is confirmed at container group startup only. + // - ACTIVATING -- New container fleet instances are being deployed. // - // This member is required. - Condition ContainerDependencyCondition - - // A descriptive label for the container definition that this container depends on. + // - ACTIVE -- The container fleet has been deployed and is ready to host game + // sessions. // - // This member is required. - ContainerName *string + // - UPDATING -- Updates to the container fleet is being updated. A deployment is + // in progress. + Status ContainerFleetStatus noSmithyDocumentSerde } -// This data type is used with the Amazon GameLift containers feature, which is -// -// currently in public preview. -// -// An environment variable to set inside a container, in the form of a key-value -// pair. -// -// Related data type: ContainerDefinition$Environment -type ContainerEnvironment struct { +// Details about a location in a multi-location container fleet. +type ContainerFleetLocationAttributes struct { - // The environment variable name. - // - // This member is required. - Name *string + // A location identifier. + Location *string - // The environment variable value. + // The status of fleet activity in the location. // - // This member is required. - Value *string + // - PENDING -- A new container fleet has been requested. + // + // - CREATING -- A new container fleet resource is being created. + // + // - CREATED -- A new container fleet resource has been created. No fleet + // instances have been deployed. + // + // - ACTIVATING -- New container fleet instances are being deployed. + // + // - ACTIVE -- The container fleet has been deployed and is ready to host game + // sessions. + // + // - UPDATING -- Updates to the container fleet is being updated. A deployment is + // in progress. + Status ContainerFleetLocationStatus noSmithyDocumentSerde } -// This data type is used with the Amazon GameLift containers feature, which is -// -// currently in public preview. -// -// The properties that describe a container group resource. Container group -// definition properties can't be updated. To change a property, create a new -// container group definition. +// The properties that describe a container group resource. You can update all +// properties of a container group definition properties. Updates to a container +// group definition are saved as new versions. // // Used with: CreateContainerGroupDefinition // -// Returned by: DescribeContainerGroupDefinition, ListContainerGroupDefinitions +// Returned by: DescribeContainerGroupDefinition, ListContainerGroupDefinitions, UpdateContainerGroupDefinition type ContainerGroupDefinition struct { - // The set of container definitions that are included in the container group. - ContainerDefinitions []ContainerDefinition + // A descriptive identifier for the container group definition. The name value is + // unique in an Amazon Web Services Region. + // + // This member is required. + Name *string // The Amazon Resource Name ([ARN] ) that is assigned to an Amazon GameLift // ContainerGroupDefinition resource. It uniquely identifies the resource across // all Amazon Web Services Regions. Format is - // arn:aws:gamelift:::containergroupdefinition/[container group definition name] . + // arn:aws:gamelift:[region]::containergroupdefinition/[container group definition + // name]:[version] . // // [ARN]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ContainerGroupDefinitionArn *string + // The type of container group. Container group type determines how Amazon + // GameLift deploys the container group on each fleet instance. + ContainerGroupType ContainerGroupType + // A time stamp indicating when this data object was created. Format is a number // expressed in Unix time as milliseconds (for example "1469498468.057" ). CreationTime *time.Time - // A descriptive identifier for the container group definition. The name value is - // unique in an Amazon Web Services Region. - Name *string + // The definition for the game server container in this group. This property is + // used only when the container group type is GAME_SERVER . This container + // definition specifies a container image with the game server build. + GameServerContainerDefinition *GameServerContainerDefinition - // The platform required for all containers in the container group definition. + // The platform that all containers in the container group definition run on. // // Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See more details // in the [Amazon Linux 2 FAQs]. For game servers that are hosted on AL2 and use Amazon GameLift server - // SDK 4.x., first update the game server build to server SDK 5.x, and then deploy + // SDK 4.x, first update the game server build to server SDK 5.x, and then deploy // to AL2023 instances. See [Migrate to Amazon GameLift server SDK version 5.] // // [Amazon Linux 2 FAQs]: https://aws.amazon.com/amazon-linux-2/faqs/ // [Migrate to Amazon GameLift server SDK version 5.]: https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk5-migration.html OperatingSystem ContainerOperatingSystem - // The method for deploying the container group across fleet instances. A replica - // container group might have multiple copies on each fleet instance. A daemon - // container group maintains only one copy per fleet instance. - SchedulingStrategy ContainerSchedulingStrategy - // Current status of the container group definition resource. Values include: // // - COPYING -- Amazon GameLift is in the process of making copies of all @@ -754,186 +655,56 @@ type ContainerGroupDefinition struct { // [Amazon GameLift endpoints and quotas]: https://docs.aws.amazon.com/general/latest/gr/gamelift.html StatusReason *string - // The amount of CPU units on a fleet instance to allocate for the container - // group. All containers in the group share these resources. This property is an - // integer value in CPU units (1 vCPU is equal to 1024 CPU units). - // - // You can set additional limits for each ContainerDefinition in the group. If individual containers - // have limits, this value must be equal to or greater than the sum of all - // container-specific CPU limits in the group. - // - // For more details on memory allocation, see the [Container fleet design guide]. - // - // [Container fleet design guide]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet - TotalCpuLimit *int32 + // The set of definitions for support containers in this group. A container group + // definition might have zero support container definitions. Support container can + // be used in any type of container group. + SupportContainerDefinitions []SupportContainerDefinition // The amount of memory (in MiB) on a fleet instance to allocate for the container // group. All containers in the group share these resources. // - // You can set additional limits for each ContainerDefinition in the group. If individual containers - // have limits, this value must meet the following requirements: - // - // - Equal to or greater than the sum of all container-specific soft memory - // limits in the group. - // - // - Equal to or greater than any container-specific hard limits in the group. - // - // For more details on memory allocation, see the [Container fleet design guide]. - // - // [Container fleet design guide]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet - TotalMemoryLimit *int32 - - noSmithyDocumentSerde -} - -// This data type is used with the Amazon GameLift containers feature, which is -// -// currently in public preview. -// -// The properties of a container group that is deployed to a container fleet. -// -// Part of: ContainerGroupsAttributes -// -// Returned by: DescribeFleetAttributes -type ContainerGroupDefinitionProperty struct { - - // The unique identifier for the container group definition. - ContainerGroupDefinitionName *string - - // The method for scheduling and maintaining copies of the container group across - // a container fleet. - SchedulingStrategy ContainerSchedulingStrategy - - noSmithyDocumentSerde -} - -// This data type is used with the Amazon GameLift containers feature, which is -// -// currently in public preview. -// -// The properties of container groups that are running on a container fleet. -// Container group properties for a fleet can't be changed. -// -// Returned by: DescribeFleetAttributes, CreateFleet -type ContainerGroupsAttributes struct { - - // A set of ports that allow inbound traffic to connect to processes running in - // the fleet's container groups. Amazon GameLift maps each connection port to a - // container port, which is assigned to a specific container process. A fleet's - // connection port range can't be changed, but you can control access to connection - // ports by updating a fleet's EC2InboundPermissions with UpdateFleetPortSettings. - ConnectionPortRange *ConnectionPortRange - - // A collection of properties that describe each container group in the fleet. A - // container fleet is deployed with one or more ContainerGroupDefinitionresources, which is where these - // properties are set. - ContainerGroupDefinitionProperties []ContainerGroupDefinitionProperty - - // Details about the number of replica container groups that Amazon GameLift - // deploys to each instance in the container fleet. - ContainerGroupsPerInstance *ContainerGroupsPerInstance - - noSmithyDocumentSerde -} - -// This data type is used with the Amazon GameLift containers feature, which is -// -// currently in public preview. -// -// Configuration details for a set of container groups, for use when creating a -// fleet with compute type CONTAINER . -// -// Used with: CreateFleet -type ContainerGroupsConfiguration struct { - - // A set of ports to allow inbound traffic, including game clients, to connect to - // processes running in the container fleet. - // - // Connection ports are dynamically mapped to container ports, which are assigned - // to individual processes running in a container. The connection port range must - // have enough ports to map to all container ports across a fleet instance. To - // calculate the minimum connection ports needed, use the following formula: - // - // [Total number of container ports as defined for containers in the replica - // container group] * [Desired or calculated number of replica container groups per - // instance] + [Total number of container ports as defined for containers in the - // daemon container group] - // - // As a best practice, double the minimum number of connection ports. - // - // Use the fleet's EC2InboundPermissions property to control external access to - // connection ports. Set this property to the connection port numbers that you want - // to open access to. See IpPermissionfor more details. - // - // This member is required. - ConnectionPortRange *ConnectionPortRange - - // The list of container group definition names to deploy to a new container fleet. - // - // This member is required. - ContainerGroupDefinitionNames []string - - // The number of times to replicate the replica container group on each instance - // in a container fleet. By default, Amazon GameLift calculates the maximum number - // of replica container groups that can fit on a fleet instance (based on CPU and - // memory resources). Leave this parameter empty if you want to use the maximum - // number, or specify a desired number to override the maximum. The desired number - // is used if it's less than the maximum number. - DesiredReplicaContainerGroupsPerInstance *int32 + // You can set a limit for each container definition in the group. If individual + // containers have limits, this total value must be greater than any individual + // container's memory limit. + TotalMemoryLimitMebibytes *int32 - noSmithyDocumentSerde -} - -// This data type is used with the Amazon GameLift containers feature, which is -// -// currently in public preview. -// -// Determines how many replica container groups that Amazon GameLift deploys to -// each instance in a container fleet. -// -// Amazon GameLift calculates the maximum possible replica groups per instance -// based on the instance 's CPU and memory resources. When deploying a fleet, -// Amazon GameLift places replica container groups on each fleet instance based on -// the following: -// -// - If no desired value is set, Amazon GameLift places the calculated maximum. -// -// - If a desired number is set to a value higher than the calculated maximum, -// fleet creation fails.. -// -// - If a desired number is set to a value lower than the calculated maximum, -// Amazon GameLift places the desired number. -// -// Part of: ContainerGroupsConfiguration, ContainerGroupsAttributes -// -// Returned by: DescribeFleetAttributes, CreateFleet -type ContainerGroupsPerInstance struct { + // The amount of vCPU units on a fleet instance to allocate for the container + // group (1 vCPU is equal to 1024 CPU units). All containers in the group share + // these resources. You can set a limit for each container definition in the group. + // If individual containers have limits, this total value must be equal to or + // greater than the sum of the limits for each container in the group. + TotalVcpuLimit *float64 - // The desired number of replica container groups to place on each fleet instance. - DesiredReplicaContainerGroupsPerInstance *int32 + // An optional description that was provided for a container group definition + // update. Each version can have a unique description. + VersionDescription *string - // The maximum possible number of replica container groups that each fleet - // instance can have. - MaxReplicaContainerGroupsPerInstance *int32 + // Indicates the version of a particular container group definition. This number + // is incremented automatically when you update a container group definition. You + // can view, update, or delete individual versions or the entire container group + // definition. + VersionNumber *int32 noSmithyDocumentSerde } -// Instructions on when and how to check the health of a container in a container -// fleet. When health check properties are set in a container definition, they -// override any Docker health checks in the container image. For more information -// on container health checks, see [HealthCheck command]in the Amazon Elastic Container Service API. +// Instructions on when and how to check the health of a support container in a +// container fleet. These properties override any Docker health checks that are set +// in the container image. For more information on container health checks, see [HealthCheck command]in +// the Amazon Elastic Container Service API. Game server containers don't have a +// health check parameter; Amazon GameLift automatically handles health checks for +// these containers. // -// The following example instructions tell the container to wait 100 seconds after -// launch before counting failed health checks, then initiate the health check -// command every 60 seconds. After issuing the health check command, wait 10 -// seconds for it to succeed. If it fails, retry the command 3 times before -// considering the container to be unhealthy. +// The following example instructs the container to initiate a health check +// command every 60 seconds and wait 10 seconds for it to succeed. If it fails, +// retry the command 3 times before flagging the container as unhealthy. It also +// tells the container to wait 100 seconds after launch before counting failed +// health checks. // // {"Command": [ "CMD-SHELL", "ps cax | grep "processmanager" || exit 1" ], -// "Interval": 300, "Timeout": 30, "Retries": 5, "StartPeriod": 100 } +// "Interval": 60, "Timeout": 10, "Retries": 3, "StartPeriod": 100 } // -// Part of: ContainerDefinition$HealthCheck +// Part of: SupportContainerDefinition, SupportContainerDefinitionInput // // [HealthCheck command]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html#ECS-Type-HealthCheck-command type ContainerHealthCheck struct { @@ -947,92 +718,76 @@ type ContainerHealthCheck struct { // The time period (in seconds) between each health check. Interval *int32 - // The number of times to retry a failed health check before the container is - // considered unhealthy. The first run of the command does not count as a retry. + // The number of times to retry a failed health check before flagging the + // container unhealthy. The first run of the command does not count as a retry. Retries *int32 // The optional grace period (in seconds) to give a container time to bootstrap // before the first failed health check counts toward the number of retries. StartPeriod *int32 - // The time period (in seconds) to wait for a health check to succeed before a - // failed health check is counted. + // The time period (in seconds) to wait for a health check to succeed before + // counting a failed health check. Timeout *int32 noSmithyDocumentSerde } -// Specifies how much memory is available to a container. You can't change this -// value after you create this object. +// A unique identifier for a container in a compute on a managed container fleet +// instance. This information makes it possible to remotely connect to a specific +// container on a fleet instance. // -// Part of: ContainerDefinition$MemoryLimits -type ContainerMemoryLimits struct { +// Related to: ContainerAttribute +// +// Use with: GetComputeAccess +type ContainerIdentifier struct { - // The maximum amount of memory that the container can use. If a container - // attempts to exceed this limit, the container is stopped. This property is - // similar to the Amazon ECS container definition parameter [memory]in the Amazon Elastic - // Container Service Developer Guide. - // - // [memory]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_memory - HardLimit *int32 + // The identifier for a container that's running in a compute. + ContainerName *string - // The amount of memory that is reserved for a container. When the container - // group's shared memory is under contention, the system attempts to maintain the - // container memory usage at this soft limit. However, the container can use more - // memory when needed, if available. This property is similar to the Amazon ECS - // container definition parameter [memoryreservation](Amazon Elastic Container Service Developer - // Guide). - // - // [memoryreservation]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#ContainerDefinition-memoryReservation - SoftLimit *int32 + // The runtime ID for the container that's running in a compute. This value is + // unique within the compute. It is returned as a ContainerAttribute value in a + // Compute object. + ContainerRuntimeId *string noSmithyDocumentSerde } -// Defines ranges of ports that server processes can connect to. +// A mount point that binds a container to a file or directory on the host system. // -// Part of: ContainerDefinition$PortConfiguration -type ContainerPortConfiguration struct { +// Part of: GameServerContainerDefinition, GameServerContainerDefinitionInput, SupportContainerDefinition, SupportContainerDefinitionInput +type ContainerMountPoint struct { - // Specifies one or more ranges of ports on a container. These ranges must not - // overlap. + // The path to the source file or directory. // // This member is required. - ContainerPortRanges []ContainerPortRange + InstancePath *string + + // The type of access for the container. + AccessLevel ContainerMountPointAccessLevel + + // The mount path on the container. If this property isn't set, the instance path + // is used. + ContainerPath *string noSmithyDocumentSerde } -// This data type is used with the Amazon GameLift containers feature, which is -// -// currently in public preview. -// -// Defines how an internal-facing container port is mapped to an external-facing -// connection port on a fleet instance of compute type CONTAINER . Incoming -// traffic, such as a game client, uses a connection port to connect to a process -// in the container fleet. Amazon GameLift directs the inbound traffic to the -// container port that is assigned to the process, such as a game session, running -// on a container. +// A set of port ranges that can be opened on the container. A process that's +// running in the container can bind to a port number, making it accessible to +// inbound traffic. Container ports map to a container fleet's connection ports. // -// Part of: ContainerAttributes -type ContainerPortMapping struct { - - // The port opened on the fleet instance. This is also called the "host port". - ConnectionPort *int32 - - // The port opened on the container. - ContainerPort *int32 +// Part of: GameServerContainerDefinition, GameServerContainerDefinitionInput, SupportContainerDefinition, SupportContainerDefinitionInput +type ContainerPortConfiguration struct { - // The network protocol that this mapping supports. - Protocol IpProtocol + // A set of one or more container port number ranges. The ranges can't overlap. + // + // This member is required. + ContainerPortRanges []ContainerPortRange noSmithyDocumentSerde } -// This data type is used with the Amazon GameLift containers feature, which is -// -// currently in public preview. -// // A set of one or more port numbers that can be opened on the container. // // Part of: ContainerPortConfiguration @@ -1057,6 +812,39 @@ type ContainerPortRange struct { noSmithyDocumentSerde } +// Set of rules for processing a deployment for a container fleet update. +type DeploymentConfiguration struct { + + // Determines what actions to take if a deployment fails. If the fleet is + // multi-location, this strategy applies across all fleet locations. With a + // rollback strategy, updated fleet instances are rolled back to the last + // successful deployment. Alternatively, you can maintain a few impaired containers + // for the purpose of debugging, while all other tasks return to the last + // successful deployment. + ImpairmentStrategy DeploymentImpairmentStrategy + + // Sets a minimum level of healthy tasks to maintain during deployment activity. + MinimumHealthyPercentage *int32 + + // Determines how fleet deployment activity affects active game sessions on the + // fleet. With protection, a deployment honors game session protection, and delays + // actions that would interrupt a protected active game session until the game + // session ends. Without protection, deployment activity can shut down all running + // tasks, including active game sessions, regardless of game session protection. + ProtectionStrategy DeploymentProtectionStrategy + + noSmithyDocumentSerde +} + +// Information about the most recent deployment for the container fleet. +type DeploymentDetails struct { + + // A unique identifier for a fleet deployment. + LatestDeploymentId *string + + noSmithyDocumentSerde +} + // Player information for use when creating player sessions using a game session // placement request. type DesiredPlayerSession struct { @@ -1240,6 +1028,14 @@ type Event struct { // - FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully // deleted. // + // Container group events: + // + // - CONTAINER_GROUP_REGISTRATION_FAILED – A game server container group + // started, but timed out before calling RegisterCompute . + // + // - CONTAINER_GROUP_CRASHED A game server container group started and + // terminated without calling RegisterCompute . + // // Spot instance events: // // - INSTANCE_INTERRUPTED -- A spot instance was interrupted by EC2 with a @@ -1338,19 +1134,12 @@ type FilterConfiguration struct { noSmithyDocumentSerde } -// This operation has been expanded to use with the Amazon GameLift containers -// -// feature, which is currently in public preview. -// // Describes an Amazon GameLift fleet of game hosting resources. Attributes differ // based on the fleet's compute type, as follows: // // - EC2 fleet attributes identify a Build resource (for fleets with customer // game server builds) or a Script resource (for Realtime Servers fleets). // -// - Container fleets have ContainerGroupsAttributes , which identify the fleet's -// ContainerGroupDefinition resources. -// // - Amazon GameLift Anywhere fleets have an abbreviated set of attributes, // because most fleet configurations are set directly on the fleet's computes. // Attributes include fleet identifiers and descriptive properties, @@ -1359,11 +1148,7 @@ type FilterConfiguration struct { // Returned by: DescribeFleetAttributes type FleetAttributes struct { - // This property is used with the Amazon GameLift containers feature, which is - // currently in public preview. A set of attributes that describe the container - // groups that are deployed on the fleet. These attributes are included for fleets - // with compute type CONTAINER only. This attribute is used with fleets where - // ComputeType is "Container". + // Amazon GameLift Anywhere configuration options. AnywhereConfiguration *AnywhereConfiguration // The Amazon Resource Name ([ARN] ) associated with the Amazon GameLift build resource @@ -1388,10 +1173,6 @@ type FleetAttributes struct { // with managed Amazon GameLift. ComputeType ComputeType - // A set of properties that describe the container groups that are deployed to the - // fleet. These attributes are included for fleets with compute type CONTAINER . - ContainerGroupsAttributes *ContainerGroupsAttributes - // A time stamp indicating when this data object was created. Format is a number // expressed in Unix time as milliseconds (for example "1469498468.057" ). CreationTime *time.Time @@ -1417,15 +1198,16 @@ type FleetAttributes struct { // [On-Demand versus Spot Instances]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot FleetType FleetType - // A unique identifier for an IAM role with access permissions to other Amazon Web - // Services services. Any application that runs on an instance in the - // fleet--including install scripts, server processes, and other processes--can use - // these permissions to interact with Amazon Web Services resources that you own or - // have access to. For more information about using the role with your game server - // builds, see [Communicate with other Amazon Web Services resources from your fleets]. This attribute is used with fleets where ComputeType is "EC2" or - // "Container". + // A unique identifier for an IAM role that manages access to your Amazon Web + // Services services. With an instance role ARN set, any application that runs on + // an instance in this fleet can assume the role, including install scripts, server + // processes, and daemons (background processes). Create a role or look up a role's + // ARN by using the [IAM dashboard]in the Amazon Web Services Management Console. Learn more + // about using on-box credentials for your game servers at [Access external resources from a game server]. This attribute is + // used with fleets where ComputeType is "EC2". // - // [Communicate with other Amazon Web Services resources from your fleets]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html + // [IAM dashboard]: https://console.aws.amazon.com/iam/ + // [Access external resources from a game server]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html InstanceRoleArn *string // Indicates that fleet instances maintain a shared credentials file for the IAM @@ -1434,7 +1216,7 @@ type FleetAttributes struct { // Services resources. This property is used only when the game server is // integrated with the server SDK version 5.x. For more information about using // shared credentials, see [Communicate with other Amazon Web Services resources from your fleets]. This attribute is used with fleets where ComputeType - // is "EC2" or "Container". + // is "EC2". // // [Communicate with other Amazon Web Services resources from your fleets]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html InstanceRoleCredentialsProvider InstanceRoleCredentialsProvider @@ -1442,7 +1224,7 @@ type FleetAttributes struct { // The Amazon EC2 instance type that the fleet uses. Instance type determines the // computing resources of each instance in the fleet, including CPU, memory, // storage, and networking capacity. See [Amazon Elastic Compute Cloud Instance Types]for detailed descriptions. This attribute - // is used with fleets where ComputeType is "EC2" or "Container". + // is used with fleets where ComputeType is "EC2". // // [Amazon Elastic Compute Cloud Instance Types]: http://aws.amazon.com/ec2/instance-types/ InstanceType EC2InstanceType @@ -1457,7 +1239,7 @@ type FleetAttributes struct { // Name of a metric group that metrics for this fleet are added to. In Amazon // CloudWatch, you can view aggregated metrics for fleets that are in a metric // group. A fleet can be included in only one metric group at a time. This - // attribute is used with fleets where ComputeType is "EC2" or "Container". + // attribute is used with fleets where ComputeType is "EC2". MetricGroups []string // A descriptive label that is associated with a fleet. Fleet names do not need to @@ -1466,7 +1248,7 @@ type FleetAttributes struct { // The type of game session protection to set on all new instances that are // started in the fleet. This attribute is used with fleets where ComputeType is - // "EC2" or "Container". + // "EC2". // // - NoProtection -- The game session can be terminated during a scale-down // event. @@ -1477,12 +1259,11 @@ type FleetAttributes struct { // The operating system of the fleet's computing resources. A fleet's operating // system is determined by the OS of the build or script that is deployed on this - // fleet. This attribute is used with fleets where ComputeType is "EC2" or - // "Container". + // fleet. This attribute is used with fleets where ComputeType is "EC2". // // Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See more details // in the [Amazon Linux 2 FAQs]. For game servers that are hosted on AL2 and use Amazon GameLift server - // SDK 4.x., first update the game server build to server SDK 5.x, and then deploy + // SDK 4.x, first update the game server build to server SDK 5.x, and then deploy // to AL2023 instances. See [Migrate to Amazon GameLift server SDK version 5.] // // [Amazon Linux 2 FAQs]: https://aws.amazon.com/amazon-linux-2/faqs/ @@ -1545,8 +1326,7 @@ type FleetAttributes struct { Status FleetStatus // A list of fleet activity that has been suspended using [StopFleetActions]. This includes fleet - // auto-scaling. This attribute is used with fleets where ComputeType is "EC2" or - // "Container". + // auto-scaling. This attribute is used with fleets where ComputeType is "EC2". // // [StopFleetActions]: https://docs.aws.amazon.com/gamelift/latest/apireference/API_StopFleetActions.html StoppedActions []FleetAction @@ -1558,9 +1338,9 @@ type FleetAttributes struct { noSmithyDocumentSerde } -// Current resource capacity settings for managed EC2 fleets and container fleets. -// For multi-location fleets, location values might refer to a fleet's remote -// location or its home Region. +// Current resource capacity settings for managed EC2 fleets and managed container +// fleets. For multi-location fleets, location values might refer to a fleet's +// remote location or its home Region. // // Returned by: [DescribeFleetCapacity], [DescribeFleetLocationCapacity], [UpdateFleetCapacity] // @@ -1579,6 +1359,10 @@ type FleetCapacity struct { // A unique identifier for the fleet associated with the location. FleetId *string + // The number and status of game server container groups deployed in a container + // fleet. + GameServerContainerGroupCounts *GameServerContainerGroupCounts + // The current number of instances in the fleet, listed by instance status. Counts // for pending and terminating instances might be non-zero if the fleet is // adjusting to a scaling event or if access to resources is temporarily affected. @@ -1595,10 +1379,59 @@ type FleetCapacity struct { // Web Services Region code, such as us-west-2 . Location *string - // This property is used with the Amazon GameLift containers feature, which is - // currently in public preview. The number and status of replica container groups - // in a container fleet. - ReplicaContainerGroupCounts *ReplicaContainerGroupCounts + noSmithyDocumentSerde +} + +// Describes a container fleet deployment with updates to the fleet. +type FleetDeployment struct { + + // A time stamp indicating when this data object was created. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057" ). + CreationTime *time.Time + + // Instructions for how to deploy updates to a container fleet and what actions to + // take if the deployment fails. + DeploymentConfiguration *DeploymentConfiguration + + // A unique identifier for the deployment. + DeploymentId *string + + // The status of fleet deployment activity in the location. + // + // - IN_PROGRESS -- The deployment is in progress. + // + // - IMPAIRED -- The deployment failed and the fleet has some impaired + // containers. + // + // - COMPLETE -- The deployment has completed successfully. + // + // - ROLLBACK_IN_PROGRESS -- The deployment failed and rollback has been + // initiated. + // + // - ROLLBACK_IN_COMPLETE -- The deployment failed and rollback has been + // completed. + // + // - CANCELLED -- The deployment was cancelled. + DeploymentStatus DeploymentStatus + + // A unique identifier for the container fleet. + FleetId *string + + // The unique identifier for the version of the game server container group + // definition that is being deployed. + GameServerBinaryArn *string + + // The unique identifier for the version of the per-instance container group + // definition that is being deployed. + PerInstanceBinaryArn *string + + // The unique identifier for the version of the game server container group + // definition to roll back to if deployment fails. + RollbackGameServerBinaryArn *string + + // The unique identifier for the version of the per-instance container group + // definition to roll back to if deployment fails. + RollbackPerInstanceBinaryArn *string noSmithyDocumentSerde } @@ -1655,88 +1488,247 @@ type FleetUtilization struct { // [Create a game session with properties]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#game-properties type GameProperty struct { - // The game property identifier. + // The game property identifier. + // + // This member is required. + Key *string + + // The game property value. + // + // This member is required. + Value *string + + noSmithyDocumentSerde +} + +// This data type is used with the Amazon GameLift FleetIQ and game server +// +// groups. +// +// Properties describing a game server that is running on an instance in a game +// server group. +// +// A game server is created by a successful call to RegisterGameServer and deleted +// by calling DeregisterGameServer . A game server is claimed to host a game +// session by calling ClaimGameServer . +type GameServer struct { + + // Indicates when an available game server has been reserved for gameplay but has + // not yet started hosting a game. Once it is claimed, the game server remains in + // CLAIMED status for a maximum of one minute. During this time, game clients + // connect to the game server to start the game and trigger the game server to + // update its utilization status. After one minute, the game server claim status + // reverts to null. + ClaimStatus GameServerClaimStatus + + // The port and IP address that must be used to establish a client connection to + // the game server. + ConnectionInfo *string + + // A set of custom game server properties, formatted as a single string value. + // This data is passed to a game client or service when it requests information on + // game servers. + GameServerData *string + + // The ARN identifier for the game server group where the game server is located. + GameServerGroupArn *string + + // A unique identifier for the game server group where the game server is running. + GameServerGroupName *string + + // A custom string that uniquely identifies the game server. Game server IDs are + // developer-defined and are unique across all game server groups in an Amazon Web + // Services account. + GameServerId *string + + // The unique identifier for the instance where the game server is running. This + // ID is available in the instance metadata. EC2 instance IDs use a 17-character + // format, for example: i-1234567890abcdef0 . + InstanceId *string + + // Timestamp that indicates the last time the game server was claimed. The format + // is a number expressed in Unix time as milliseconds (for example "1469498468.057" + // ). This value is used to calculate when a claimed game server's status should + // revert to null. + LastClaimTime *time.Time + + // Timestamp that indicates the last time the game server was updated with health + // status. The format is a number expressed in Unix time as milliseconds (for + // example "1469498468.057" ). After game server registration, this property is + // only changed when a game server update specifies a health check value. + LastHealthCheckTime *time.Time + + // Timestamp that indicates when the game server registered. The format is a + // number expressed in Unix time as milliseconds (for example "1469498468.057" ). + RegistrationTime *time.Time + + // Indicates whether the game server is currently available for new games or is + // busy. Possible statuses include: + // + // - AVAILABLE - The game server is available to be claimed. A game server that + // has been claimed remains in this status until it reports game hosting activity. + // + // - UTILIZED - The game server is currently hosting a game session with players. + UtilizationStatus GameServerUtilizationStatus + + noSmithyDocumentSerde +} + +// Describes the game server container in an existing game server container group. +// A game server container identifies a container image with your game server +// build. A game server container is automatically considered essential; if an +// essential container fails, the entire container group restarts. +// +// You can update a container definition and deploy the updates to an existing +// fleet. When creating or updating a game server container group definition, use +// the property GameServerContainerDefinitionInput. +// +// Part of: ContainerGroupDefinition +// +// Returned by: DescribeContainerGroupDefinition, ListContainerGroupDefinitions, UpdateContainerGroupDefinition +type GameServerContainerDefinition struct { + + // The container definition identifier. Container names are unique within a + // container group definition. + ContainerName *string + + // Indicates that the container relies on the status of other containers in the + // same container group during startup and shutdown sequences. A container might + // have dependencies on multiple containers. + DependsOn []ContainerDependency + + // A set of environment variables that's passed to the container on startup. See + // the [ContainerDefinition::environment]parameter in the Amazon Elastic Container Service API Reference. + // + // [ContainerDefinition::environment]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment + EnvironmentOverride []ContainerEnvironment + + // The URI to the image that Amazon GameLift uses when deploying this container to + // a container fleet. For a more specific identifier, see ResolvedImageDigest . + ImageUri *string + + // A mount point that binds a path inside the container to a file or directory on + // the host system and lets it access the file or directory. + MountPoints []ContainerMountPoint + + // The set of ports that are available to bind to processes in the container. For + // example, a game server process requires a container port to allow game clients + // to connect to it. Container ports aren't directly accessed by inbound traffic. + // Amazon GameLift maps these container ports to externally accessible connection + // ports, which are assigned as needed from the container fleet's + // ConnectionPortRange . + PortConfiguration *ContainerPortConfiguration + + // A unique and immutable identifier for the container image. The digest is a SHA + // 256 hash of the container image manifest. + ResolvedImageDigest *string + + // The Amazon GameLift server SDK version that the game server is integrated with. + // Only game servers using 5.2.0 or higher are compatible with container fleets. + ServerSdkVersion *string + + noSmithyDocumentSerde +} + +// Describes the configuration for a container that runs your game server +// executable. This definition includes container configuration, resources, and +// start instructions. Use this data type when creating or updating a game server +// container group definition. For properties of a deployed container, see GameServerContainerDefinition. A +// game server container is automatically considered essential; if an essential +// container fails, the entire container group restarts. +// +// Use with: CreateContainerGroupDefinition, UpdateContainerGroupDefinition +type GameServerContainerDefinitionInput struct { + + // A string that uniquely identifies the container definition within a container + // group. + // + // This member is required. + ContainerName *string + + // The location of the container image to deploy to a container fleet. Provide an + // image in an Amazon Elastic Container Registry public or private repository. The + // repository must be in the same Amazon Web Services account and Amazon Web + // Services Region where you're creating the container group definition. For limits + // on image size, see [Amazon GameLift endpoints and quotas]. You can use any of the following image URI formats: + // + // - Image ID only: [AWS account].dkr.ecr.[AWS region].amazonaws.com/[repository + // ID] + // + // - Image ID and digest: [AWS account].dkr.ecr.[AWS + // region].amazonaws.com/[repository ID]@[digest] + // + // - Image ID and tag: [AWS account].dkr.ecr.[AWS + // region].amazonaws.com/[repository ID]:[tag] + // + // [Amazon GameLift endpoints and quotas]: https://docs.aws.amazon.com/general/latest/gr/gamelift.html + // + // This member is required. + ImageUri *string + + // A set of ports that Amazon GameLift can assign to processes in the container. + // Processes, must be assigned a container port to accept inbound traffic + // connections. For example, a game server process requires a container port to + // allow game clients to connect to it. Container ports aren't directly accessed by + // inbound traffic. Instead, Amazon GameLift maps container ports to externally + // accessible connection ports (see the container fleet property + // ConnectionPortRange ). + // + // This member is required. + PortConfiguration *ContainerPortConfiguration + + // The Amazon GameLift server SDK version that the game server is integrated with. + // Only game servers using 5.2.0 or higher are compatible with container fleets. // // This member is required. - Key *string + ServerSdkVersion *string - // The game property value. + // Establishes dependencies between this container and the status of other + // containers in the same container group. A container can have dependencies on + // multiple different containers. // - // This member is required. - Value *string + // You can use dependencies to establish a startup/shutdown sequence across the + // container group. For example, you might specify that ContainerB has a START + // dependency on ContainerA. This dependency means that ContainerB can't start + // until after ContainerA has started. This dependency is reversed on shutdown, + // which means that ContainerB must shut down before ContainerA can shut down. + DependsOn []ContainerDependency + + // A set of environment variables to pass to the container on startup. See the [ContainerDefinition::environment] + // parameter in the Amazon Elastic Container Service API Reference. + // + // [ContainerDefinition::environment]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment + EnvironmentOverride []ContainerEnvironment + + // A mount point that binds a path inside the container to a file or directory on + // the host system and lets it access the file or directory. + MountPoints []ContainerMountPoint noSmithyDocumentSerde } -// This data type is used with the Amazon GameLift FleetIQ and game server -// -// groups. -// -// Properties describing a game server that is running on an instance in a game -// server group. +// The number and status of game server container groups that are deployed across +// a container fleet. Combine this count with the number of server processes that +// each game server container group runs to learn how many game sessions the fleet +// is capable of hosting concurrently. For example, if a fleet has 50 game server +// container groups, and the game server container in each group runs 1 game server +// process, then the fleet has the capacity to run host 50 game sessions at a time. // -// A game server is created by a successful call to RegisterGameServer and deleted -// by calling DeregisterGameServer . A game server is claimed to host a game -// session by calling ClaimGameServer . -type GameServer struct { - - // Indicates when an available game server has been reserved for gameplay but has - // not yet started hosting a game. Once it is claimed, the game server remains in - // CLAIMED status for a maximum of one minute. During this time, game clients - // connect to the game server to start the game and trigger the game server to - // update its utilization status. After one minute, the game server claim status - // reverts to null. - ClaimStatus GameServerClaimStatus - - // The port and IP address that must be used to establish a client connection to - // the game server. - ConnectionInfo *string - - // A set of custom game server properties, formatted as a single string value. - // This data is passed to a game client or service when it requests information on - // game servers. - GameServerData *string - - // The ARN identifier for the game server group where the game server is located. - GameServerGroupArn *string - - // A unique identifier for the game server group where the game server is running. - GameServerGroupName *string - - // A custom string that uniquely identifies the game server. Game server IDs are - // developer-defined and are unique across all game server groups in an Amazon Web - // Services account. - GameServerId *string - - // The unique identifier for the instance where the game server is running. This - // ID is available in the instance metadata. EC2 instance IDs use a 17-character - // format, for example: i-1234567890abcdef0 . - InstanceId *string +// Returned by: DescribeFleetCapacity, DescribeFleetLocationCapacity +type GameServerContainerGroupCounts struct { - // Timestamp that indicates the last time the game server was claimed. The format - // is a number expressed in Unix time as milliseconds (for example "1469498468.057" - // ). This value is used to calculate when a claimed game server's status should - // revert to null. - LastClaimTime *time.Time + // The number of container groups that have active game sessions. + ACTIVE *int32 - // Timestamp that indicates the last time the game server was updated with health - // status. The format is a number expressed in Unix time as milliseconds (for - // example "1469498468.057" ). After game server registration, this property is - // only changed when a game server update specifies a health check value. - LastHealthCheckTime *time.Time + // The number of container groups that have no active game sessions. + IDLE *int32 - // Timestamp that indicates when the game server registered. The format is a - // number expressed in Unix time as milliseconds (for example "1469498468.057" ). - RegistrationTime *time.Time + // The number of container groups that are starting up but haven't yet + // registered. + PENDING *int32 - // Indicates whether the game server is currently available for new games or is - // busy. Possible statuses include: - // - // - AVAILABLE - The game server is available to be claimed. A game server that - // has been claimed remains in this status until it reports game hosting activity. - // - // - UTILIZED - The game server is currently hosting a game session with players. - UtilizationStatus GameServerUtilizationStatus + // The number of container groups that are in the process of shutting down. + TERMINATING *int32 noSmithyDocumentSerde } @@ -1966,9 +1958,9 @@ type GameSession struct { // A set of custom game session properties, formatted as a single string value. // This data is passed to a game server process with a request to start a new game - // session (see [Start a Game Session]). + // session. For more information, see [Start a game session]. // - // [Start a Game Session]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession + // [Start a game session]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession GameSessionData *string // A unique identifier for the game session. A game session ARN has the following @@ -2063,6 +2055,32 @@ type GameSessionConnectionInfo struct { noSmithyDocumentSerde } +// A policy that puts limits on the number of game sessions that a player can +// create within a specified span of time. With this policy, you can control +// players' ability to consume available resources. +// +// The policy is evaluated when a player tries to create a new game session. On +// receiving a CreateGameSession request, Amazon GameLift checks that the player +// (identified by CreatorId ) has created fewer than game session limit in the +// specified time period. +type GameSessionCreationLimitPolicy struct { + + // A policy that puts limits on the number of game sessions that a player can + // create within a specified span of time. With this policy, you can control + // players' ability to consume available resources. + // + // The policy evaluates when a player tries to create a new game session. On + // receiving a CreateGameSession request, Amazon GameLift checks that the player + // (identified by CreatorId ) has created fewer than game session limit in the + // specified time period. + NewGameSessionsPerCreator *int32 + + // The time span used in evaluating the resource creation limit policy. + PolicyPeriodInMinutes *int32 + + noSmithyDocumentSerde +} + // A game session's properties plus the protection policy currently in force. type GameSessionDetail struct { @@ -2118,10 +2136,10 @@ type GameSessionPlacement struct { GameSessionArn *string // A set of custom game session properties, formatted as a single string value. - // This data is passed to a game server process in the GameSession object with a - // request to start a new game session (see [Start a Game Session]). + // This data is passed to a game server process with a request to start a new game + // session. For more information, see [Start a game session]. // - // [Start a Game Session]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession + // [Start a game session]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession GameSessionData *string // A unique identifier for the game session. This value isn't final until @@ -2169,7 +2187,7 @@ type GameSessionPlacement struct { PlacementId *string // A set of values, expressed in milliseconds, that indicates the amount of - // latency that a player experiences when connected to Amazon Web Services Regions. + // latency that a player experiences when connected to @aws; Regions. PlayerLatencies []PlayerLatency // The port number for the game session. To connect to a Amazon GameLift game @@ -2192,7 +2210,7 @@ type GameSessionPlacement struct { // - CANCELLED -- The placement request was canceled. // // - TIMED_OUT -- A new game session was not successfully created before the - // time limit expired. You can resubmit the placement request as needed. + // time limit expired. You can resubmit as a new placement request as needed. // // - FAILED -- Amazon GameLift is not able to complete the process of placing // the game session. Common reasons are the game session terminated before the @@ -2240,12 +2258,10 @@ type GameSessionQueue struct { // [Setting up notifications for game session placement]: https://docs.aws.amazon.com/gamelift/latest/developerguide/queue-notification.html NotificationTarget *string - // A set of policies that act as a sliding cap on player latency. FleetIQ works to - // deliver low latency for most players in a game session. These policies ensure - // that no individual player can be placed into a game with unreasonably high - // latency. Use multiple policies to gradually relax latency requirements a step at - // a time. Multiple policies are applied based on their maximum allowed latency, - // starting with the lowest value. + // A set of policies that enforce a sliding cap on player latency when processing + // game sessions placement requests. Use multiple policies to gradually relax the + // cap over time if Amazon GameLift can't make a placement. Policies are evaluated + // in order starting with the lowest maximum latency value. PlayerLatencyPolicies []PlayerLatencyPolicy // Custom settings to use when prioritizing destinations and locations for game @@ -2256,7 +2272,7 @@ type GameSessionQueue struct { // The maximum time, in seconds, that a new game session placement request remains // in the queue. When a request exceeds this time, the game session placement - // changes to a TIMED_OUT status. By default, this property is set to 600 . + // changes to a TIMED_OUT status. TimeoutInSeconds *int32 noSmithyDocumentSerde @@ -2289,12 +2305,12 @@ type Instance struct { // // - TLS-enabled fleets: ..amazongamelift.com . // - // - Non-TLS-enabled fleets: ec2-.compute.amazonaws.com . (See [Amazon Elastic Compute Cloud Instance IP Addressing].) + // - Non-TLS-enabled fleets: ec2-.compute.amazonaws.com . (See [Amazon EC2 Instance IP Addressing].) // // When connecting to a game session that is running on a TLS-enabled fleet, you // must use the DNS name, not the IP address. // - // [Amazon Elastic Compute Cloud Instance IP Addressing]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses + // [Amazon EC2 Instance IP Addressing]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses DnsName *string // The Amazon Resource Name ([ARN] ) that is assigned to a Amazon GameLift fleet @@ -2419,8 +2435,8 @@ type InstanceDefinition struct { // A range of IP addresses and port settings that allow inbound traffic to connect // to processes on an instance in a fleet. Processes are assigned an IP // address/port number combination, which must fall into the fleet's allowed -// ranges. For container fleets, the port settings must use the same port numbers -// as the fleet's connection ports. +// ranges. For managed container fleets, the port settings must use the same port +// numbers as the fleet's connection ports. // // For Realtime Servers fleets, Amazon GameLift automatically opens two port // ranges, one for TCP messaging and one for UDP. @@ -2484,6 +2500,31 @@ type LaunchTemplateSpecification struct { noSmithyDocumentSerde } +// For a multi-location container fleet, describes the progress of a deployment +// across all fleet locations. +type LocationalDeployment struct { + + // The status of fleet deployment activity in the location. + // + // - IN_PROGRESS -- The deployment is in progress. + // + // - IMPAIRED -- The deployment failed and the fleet has some impaired + // containers. + // + // - COMPLETE -- The deployment has completed successfully. + // + // - ROLLBACK_IN_PROGRESS -- The deployment failed and rollback has been + // initiated. + // + // - ROLLBACK_IN_COMPLETE -- The deployment failed and rollback has been + // completed. + // + // - CANCELLED -- The deployment was cancelled. + DeploymentStatus DeploymentStatus + + noSmithyDocumentSerde +} + // Details about a location in a multi-location fleet. type LocationAttributes struct { @@ -2501,10 +2542,6 @@ type LocationAttributes struct { noSmithyDocumentSerde } -// This data type has been expanded to use with the Amazon GameLift containers -// -// feature, which is currently in public preview. -// // A remote location where a multi-location fleet can deploy game servers for game // hosting. type LocationConfiguration struct { @@ -2573,6 +2610,32 @@ type LocationState struct { noSmithyDocumentSerde } +// A method for collecting container logs for the fleet. Amazon GameLift saves all +// standard output for each container in logs, including game session logs. You can +// select from the following methods: +type LogConfiguration struct { + + // The type of log collection to use for a fleet. + // + // - CLOUDWATCH -- (default value) Send logs to an Amazon CloudWatch log group + // that you define. Each container emits a log stream, which is organized in the + // log group. + // + // - S3 -- Store logs in an Amazon S3 bucket that you define. + // + // - NONE -- Don't collect container logs. + LogDestination LogDestination + + // If log destination is CLOUDWATCH , logs are sent to the specified log group in + // Amazon CloudWatch. + LogGroupArn *string + + // If log destination is S3 , logs are sent to the specified Amazon S3 bucket name. + S3BucketName *string + + noSmithyDocumentSerde +} + // Represents a new player session that is created as a result of a successful // FlexMatch match. A successful match automatically creates new player sessions // for every player ID in the original matchmaking request. @@ -2608,9 +2671,9 @@ type MatchmakingConfiguration struct { // The number of player slots in a match to keep open for future players. For // example, if the configuration's rule set specifies a match for a single - // 10-person team, and the additional player count is set to 2, 10 players will be - // selected for the match and 2 more player slots will be open for future players. - // This parameter is not used when FlexMatchMode is set to STANDALONE . + // 12-person team, and the additional player count is set to 2, only 10 players are + // selected for the match. This parameter is not used when FlexMatchMode is set to + // STANDALONE . AdditionalPlayerCount *int32 // The method used to backfill game sessions created with this matchmaking @@ -2661,11 +2724,11 @@ type MatchmakingConfiguration struct { // A set of custom game session properties, formatted as a single string value. // This data is passed to a game server process with a request to start a new game - // session (see [Start a Game Session]). This information is added to the new GameSession object that is - // created for a successful match. This parameter is not used when FlexMatchMode - // is set to STANDALONE . + // session. For more information, see [Start a game session]. This information is added to the new + // GameSession object that is created for a successful match. This parameter is not + // used when FlexMatchMode is set to STANDALONE . // - // [Start a Game Session]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession + // [Start a game session]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession GameSessionData *string // The Amazon Resource Name ([ARN] ) that is assigned to a Amazon GameLift game session @@ -3072,35 +3135,6 @@ type PriorityConfiguration struct { noSmithyDocumentSerde } -// This data type is used with the Amazon GameLift containers feature, which is -// -// currently in public preview. -// -// The number and status of replica container groups that are deployed across a -// fleet with compute type CONTAINER . This information, combined with the number -// of server processes being hosted per container group (see RuntimeConfiguration -// ), tells you how many game sessions the fleet is currently capable of hosting -// concurrently. -// -// Returned by: DescribeFleetCapacity, DescribeFleetLocationCapacity -type ReplicaContainerGroupCounts struct { - - // The number of container groups that have active game sessions. - ACTIVE *int32 - - // The number of container groups that have no active game sessions. - IDLE *int32 - - // The number of container groups that are starting up but have not yet - // registered. - PENDING *int32 - - // The number of container groups that are in the process of shutting down. - TERMINATING *int32 - - noSmithyDocumentSerde -} - // A policy that puts limits on the number of game sessions that a player can // create within a specified span of time. With this policy, you can control // players' ability to consume available resources. @@ -3158,19 +3192,12 @@ type RoutingStrategy struct { noSmithyDocumentSerde } -// This data type has been expanded to use with the Amazon GameLift containers -// -// feature, which is currently in public preview. -// // A set of instructions that define the set of server processes to run on // computes in a fleet. Server processes run either an executable in a custom game // build or a Realtime Servers script. Amazon GameLift launches the processes, // manages their life cycle, and replaces them as needed. Computes check regularly // for an updated runtime configuration. // -// On a container fleet, the Amazon GameLift Agent uses the runtime configuration -// to manage the lifecycle of server processes in a replica container group. -// // An Amazon GameLift instance is limited to 50 processes running concurrently. To // calculate the total number of processes defined in a runtime configuration, add // the values of the ConcurrentExecutions parameter for each server process. Learn @@ -3185,9 +3212,9 @@ type RuntimeConfiguration struct { // timeout, it is ended and the game session status is changed to TERMINATED . GameSessionActivationTimeoutSeconds *int32 - // The number of game sessions in status ACTIVATING to allow on an instance or - // container. This setting limits the instance resources that can be used for new - // game activations at any one time. + // The number of game sessions in status ACTIVATING to allow on an instance. This + // setting limits the instance resources that can be used for new game activations + // at any one time. MaxConcurrentGameSessionActivations *int32 // A collection of server process configurations that identify what server @@ -3365,7 +3392,7 @@ type Script struct { // expressed in Unix time as milliseconds (for example "1469498468.057" ). CreationTime *time.Time - // A descriptive label that is associated with a script. Script names don't need + // A descriptive label that is associated with a script. Script names do not need // to be unique. Name *string @@ -3393,8 +3420,8 @@ type Script struct { // version. StorageLocation *S3Location - // Version information associated with a build or script. Version strings don't - // need to be unique. + // Version information that is associated with a build or script. Version strings + // do not need to be unique. Version *string noSmithyDocumentSerde @@ -3407,7 +3434,7 @@ type Script struct { type ServerProcess struct { // The number of server processes using this configuration that run concurrently - // on each instance or container.. + // on each instance or compute. // // This member is required. ConcurrentExecutions *int32 @@ -3435,6 +3462,177 @@ type ServerProcess struct { noSmithyDocumentSerde } +// Describes a support container in a container group. A support container might +// be in a game server container group or a per-instance container group. Support +// containers don't run game server processes. +// +// You can update a support container definition and deploy the updates to an +// existing fleet. When creating or updating a game server container group +// definition, use the property GameServerContainerDefinitionInput. +// +// Part of: ContainerGroupDefinition +// +// Returned by: DescribeContainerGroupDefinition, ListContainerGroupDefinitions, UpdateContainerGroupDefinition +type SupportContainerDefinition struct { + + // The container definition identifier. Container names are unique within a + // container group definition. + ContainerName *string + + // Indicates that the container relies on the status of other containers in the + // same container group during its startup and shutdown sequences. A container + // might have dependencies on multiple containers. + DependsOn []ContainerDependency + + // A set of environment variables that's passed to the container on startup. See + // the [ContainerDefinition::environment]parameter in the Amazon Elastic Container Service API Reference. + // + // [ContainerDefinition::environment]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment + EnvironmentOverride []ContainerEnvironment + + // Indicates whether the container is vital to the container group. If an + // essential container fails, the entire container group restarts. + Essential *bool + + // A configuration for a non-terminal health check. A support container + // automatically restarts if it stops functioning or if it fails this health check. + HealthCheck *ContainerHealthCheck + + // The URI to the image that Amazon GameLift deploys to a container fleet. For a + // more specific identifier, see ResolvedImageDigest . + ImageUri *string + + // The amount of memory that Amazon GameLift makes available to the container. If + // memory limits aren't set for an individual container, the container shares the + // container group's total memory allocation. + // + // Related data type: ContainerGroupDefinition$TotalMemoryLimitMebibytes + MemoryHardLimitMebibytes *int32 + + // A mount point that binds a path inside the container to a file or directory on + // the host system and lets it access the file or directory. + MountPoints []ContainerMountPoint + + // A set of ports that allow access to the container from external users. + // Processes running in the container can bind to a one of these ports. Container + // ports aren't directly accessed by inbound traffic. Amazon GameLift maps these + // container ports to externally accessible connection ports, which are assigned as + // needed from the container fleet's ConnectionPortRange . + PortConfiguration *ContainerPortConfiguration + + // A unique and immutable identifier for the container image. The digest is a SHA + // 256 hash of the container image manifest. + ResolvedImageDigest *string + + // The number of vCPU units that are reserved for the container. If no resources + // are reserved, the container shares the total vCPU limit for the container group. + // + // Related data type: ContainerGroupDefinition$TotalVcpuLimit + Vcpu *float64 + + noSmithyDocumentSerde +} + +// Describes a support container in a container group. You can define a support +// container in either a game server container group or a per-instance container +// group. Support containers don't run game server processes. +// +// This definition includes container configuration, resources, and start +// instructions. Use this data type when creating or updating a container group +// definition. For properties of a deployed support container, see SupportContainerDefinition. +// +// Use with: CreateContainerGroupDefinition, UpdateContainerGroupDefinition +type SupportContainerDefinitionInput struct { + + // A string that uniquely identifies the container definition within a container + // group. + // + // This member is required. + ContainerName *string + + // The location of the container image to deploy to a container fleet. Provide an + // image in an Amazon Elastic Container Registry public or private repository. The + // repository must be in the same Amazon Web Services account and Amazon Web + // Services Region where you're creating the container group definition. For limits + // on image size, see [Amazon GameLift endpoints and quotas]. You can use any of the following image URI formats: + // + // - Image ID only: [AWS account].dkr.ecr.[AWS region].amazonaws.com/[repository + // ID] + // + // - Image ID and digest: [AWS account].dkr.ecr.[AWS + // region].amazonaws.com/[repository ID]@[digest] + // + // - Image ID and tag: [AWS account].dkr.ecr.[AWS + // region].amazonaws.com/[repository ID]:[tag] + // + // [Amazon GameLift endpoints and quotas]: https://docs.aws.amazon.com/general/latest/gr/gamelift.html + // + // This member is required. + ImageUri *string + + // Establishes dependencies between this container and the status of other + // containers in the same container group. A container can have dependencies on + // multiple different containers. + // + // . + // + // You can use dependencies to establish a startup/shutdown sequence across the + // container group. For example, you might specify that ContainerB has a START + // dependency on ContainerA. This dependency means that ContainerB can't start + // until after ContainerA has started. This dependency is reversed on shutdown, + // which means that ContainerB must shut down before ContainerA can shut down. + DependsOn []ContainerDependency + + // A set of environment variables to pass to the container on startup. See the [ContainerDefinition::environment] + // parameter in the Amazon Elastic Container Service API Reference. + // + // [ContainerDefinition::environment]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment + EnvironmentOverride []ContainerEnvironment + + // Flags the container as vital for the container group to function properly. If + // an essential container fails, the entire container group restarts. At least one + // support container in a per-instance container group must be essential. When + // flagging a container as essential, also configure a health check so that the + // container can signal that it's healthy. + Essential *bool + + // Configuration for a non-terminal health check. A container automatically + // restarts if it stops functioning. With a health check, you can define additional + // reasons to flag a container as unhealthy and restart it. If an essential + // container fails a health check, the entire container group restarts. + HealthCheck *ContainerHealthCheck + + // A specified amount of memory (in MiB) to reserve for this container. If you + // don't specify a container-specific memory limit, the container shares the + // container group's total memory allocation. + // + // Related data type: ContainerGroupDefinition TotalMemoryLimitMebibytes + MemoryHardLimitMebibytes *int32 + + // A mount point that binds a path inside the container to a file or directory on + // the host system and lets it access the file or directory. + MountPoints []ContainerMountPoint + + // A set of ports that Amazon GameLift can assign to processes in the container. + // Any processes that accept inbound traffic connections must be assigned a port + // from this set. The container port range must be large enough to assign one to + // each process in the container that needs one. + // + // Container ports aren't directly accessed by inbound traffic. Amazon GameLift + // maps these container ports to externally accessible connection ports, which are + // assigned as needed from the container fleet's ConnectionPortRange . + PortConfiguration *ContainerPortConfiguration + + // The number of vCPU units to reserve for this container. The container can use + // more resources when needed, if available. If you don't reserve CPU units for + // this container, it shares the container group's total vCPU limit. + // + // Related data type: ContainerGroupDefinition TotalCpuLimit + Vcpu *float64 + + noSmithyDocumentSerde +} + // A label that you can assign to a Amazon GameLift resource. // // # Learn more diff --git a/service/gamelift/validators.go b/service/gamelift/validators.go index 330e3965ff4..e10c4b1ca5c 100644 --- a/service/gamelift/validators.go +++ b/service/gamelift/validators.go @@ -90,6 +90,26 @@ func (m *validateOpCreateBuild) HandleInitialize(ctx context.Context, in middlew return next.HandleInitialize(ctx, in) } +type validateOpCreateContainerFleet struct { +} + +func (*validateOpCreateContainerFleet) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpCreateContainerFleet) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*CreateContainerFleetInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpCreateContainerFleetInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpCreateContainerGroupDefinition struct { } @@ -410,6 +430,26 @@ func (m *validateOpDeleteBuild) HandleInitialize(ctx context.Context, in middlew return next.HandleInitialize(ctx, in) } +type validateOpDeleteContainerFleet struct { +} + +func (*validateOpDeleteContainerFleet) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDeleteContainerFleet) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DeleteContainerFleetInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDeleteContainerFleetInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDeleteContainerGroupDefinition struct { } @@ -750,6 +790,26 @@ func (m *validateOpDescribeCompute) HandleInitialize(ctx context.Context, in mid return next.HandleInitialize(ctx, in) } +type validateOpDescribeContainerFleet struct { +} + +func (*validateOpDescribeContainerFleet) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDescribeContainerFleet) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DescribeContainerFleetInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDescribeContainerFleetInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDescribeContainerGroupDefinition struct { } @@ -770,6 +830,26 @@ func (m *validateOpDescribeContainerGroupDefinition) HandleInitialize(ctx contex return next.HandleInitialize(ctx, in) } +type validateOpDescribeFleetDeployment struct { +} + +func (*validateOpDescribeFleetDeployment) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDescribeFleetDeployment) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DescribeFleetDeploymentInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDescribeFleetDeploymentInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDescribeFleetEvents struct { } @@ -1150,6 +1230,26 @@ func (m *validateOpListCompute) HandleInitialize(ctx context.Context, in middlew return next.HandleInitialize(ctx, in) } +type validateOpListContainerGroupDefinitionVersions struct { +} + +func (*validateOpListContainerGroupDefinitionVersions) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpListContainerGroupDefinitionVersions) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*ListContainerGroupDefinitionVersionsInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpListContainerGroupDefinitionVersionsInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpListGameServers struct { } @@ -1550,6 +1650,46 @@ func (m *validateOpUpdateBuild) HandleInitialize(ctx context.Context, in middlew return next.HandleInitialize(ctx, in) } +type validateOpUpdateContainerFleet struct { +} + +func (*validateOpUpdateContainerFleet) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpUpdateContainerFleet) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*UpdateContainerFleetInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpUpdateContainerFleetInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + +type validateOpUpdateContainerGroupDefinition struct { +} + +func (*validateOpUpdateContainerGroupDefinition) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpUpdateContainerGroupDefinition) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*UpdateContainerGroupDefinitionInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpUpdateContainerGroupDefinitionInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpUpdateFleetAttributes struct { } @@ -1786,6 +1926,10 @@ func addOpCreateBuildValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpCreateBuild{}, middleware.After) } +func addOpCreateContainerFleetValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpCreateContainerFleet{}, middleware.After) +} + func addOpCreateContainerGroupDefinitionValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpCreateContainerGroupDefinition{}, middleware.After) } @@ -1850,6 +1994,10 @@ func addOpDeleteBuildValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDeleteBuild{}, middleware.After) } +func addOpDeleteContainerFleetValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDeleteContainerFleet{}, middleware.After) +} + func addOpDeleteContainerGroupDefinitionValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDeleteContainerGroupDefinition{}, middleware.After) } @@ -1918,10 +2066,18 @@ func addOpDescribeComputeValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeCompute{}, middleware.After) } +func addOpDescribeContainerFleetValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDescribeContainerFleet{}, middleware.After) +} + func addOpDescribeContainerGroupDefinitionValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeContainerGroupDefinition{}, middleware.After) } +func addOpDescribeFleetDeploymentValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDescribeFleetDeployment{}, middleware.After) +} + func addOpDescribeFleetEventsValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeFleetEvents{}, middleware.After) } @@ -1998,6 +2154,10 @@ func addOpListComputeValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpListCompute{}, middleware.After) } +func addOpListContainerGroupDefinitionVersionsValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpListContainerGroupDefinitionVersions{}, middleware.After) +} + func addOpListGameServersValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpListGameServers{}, middleware.After) } @@ -2078,6 +2238,14 @@ func addOpUpdateBuildValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdateBuild{}, middleware.After) } +func addOpUpdateContainerFleetValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpUpdateContainerFleet{}, middleware.After) +} + +func addOpUpdateContainerGroupDefinitionValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpUpdateContainerGroupDefinition{}, middleware.After) +} + func addOpUpdateFleetAttributesValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdateFleetAttributes{}, middleware.After) } @@ -2170,61 +2338,6 @@ func validateConnectionPortRange(v *types.ConnectionPortRange) error { } } -func validateContainerDefinitionInput(v *types.ContainerDefinitionInput) error { - if v == nil { - return nil - } - invalidParams := smithy.InvalidParamsError{Context: "ContainerDefinitionInput"} - if v.ContainerName == nil { - invalidParams.Add(smithy.NewErrParamRequired("ContainerName")) - } - if v.ImageUri == nil { - invalidParams.Add(smithy.NewErrParamRequired("ImageUri")) - } - if v.PortConfiguration != nil { - if err := validateContainerPortConfiguration(v.PortConfiguration); err != nil { - invalidParams.AddNested("PortConfiguration", err.(smithy.InvalidParamsError)) - } - } - if v.HealthCheck != nil { - if err := validateContainerHealthCheck(v.HealthCheck); err != nil { - invalidParams.AddNested("HealthCheck", err.(smithy.InvalidParamsError)) - } - } - if v.Environment != nil { - if err := validateContainerEnvironmentList(v.Environment); err != nil { - invalidParams.AddNested("Environment", err.(smithy.InvalidParamsError)) - } - } - if v.DependsOn != nil { - if err := validateContainerDependencyList(v.DependsOn); err != nil { - invalidParams.AddNested("DependsOn", err.(smithy.InvalidParamsError)) - } - } - if invalidParams.Len() > 0 { - return invalidParams - } else { - return nil - } -} - -func validateContainerDefinitionInputList(v []types.ContainerDefinitionInput) error { - if v == nil { - return nil - } - invalidParams := smithy.InvalidParamsError{Context: "ContainerDefinitionInputList"} - for i := range v { - if err := validateContainerDefinitionInput(&v[i]); err != nil { - invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError)) - } - } - if invalidParams.Len() > 0 { - return invalidParams - } else { - return nil - } -} - func validateContainerDependency(v *types.ContainerDependency) error { if v == nil { return nil @@ -2295,20 +2408,28 @@ func validateContainerEnvironmentList(v []types.ContainerEnvironment) error { } } -func validateContainerGroupsConfiguration(v *types.ContainerGroupsConfiguration) error { +func validateContainerHealthCheck(v *types.ContainerHealthCheck) error { if v == nil { return nil } - invalidParams := smithy.InvalidParamsError{Context: "ContainerGroupsConfiguration"} - if v.ContainerGroupDefinitionNames == nil { - invalidParams.Add(smithy.NewErrParamRequired("ContainerGroupDefinitionNames")) + invalidParams := smithy.InvalidParamsError{Context: "ContainerHealthCheck"} + if v.Command == nil { + invalidParams.Add(smithy.NewErrParamRequired("Command")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateContainerMountPoint(v *types.ContainerMountPoint) error { + if v == nil { + return nil } - if v.ConnectionPortRange == nil { - invalidParams.Add(smithy.NewErrParamRequired("ConnectionPortRange")) - } else if v.ConnectionPortRange != nil { - if err := validateConnectionPortRange(v.ConnectionPortRange); err != nil { - invalidParams.AddNested("ConnectionPortRange", err.(smithy.InvalidParamsError)) - } + invalidParams := smithy.InvalidParamsError{Context: "ContainerMountPoint"} + if v.InstancePath == nil { + invalidParams.Add(smithy.NewErrParamRequired("InstancePath")) } if invalidParams.Len() > 0 { return invalidParams @@ -2317,13 +2438,15 @@ func validateContainerGroupsConfiguration(v *types.ContainerGroupsConfiguration) } } -func validateContainerHealthCheck(v *types.ContainerHealthCheck) error { +func validateContainerMountPointList(v []types.ContainerMountPoint) error { if v == nil { return nil } - invalidParams := smithy.InvalidParamsError{Context: "ContainerHealthCheck"} - if v.Command == nil { - invalidParams.Add(smithy.NewErrParamRequired("Command")) + invalidParams := smithy.InvalidParamsError{Context: "ContainerMountPointList"} + for i := range v { + if err := validateContainerMountPoint(&v[i]); err != nil { + invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError)) + } } if invalidParams.Len() > 0 { return invalidParams @@ -2424,6 +2547,49 @@ func validateGamePropertyList(v []types.GameProperty) error { } } +func validateGameServerContainerDefinitionInput(v *types.GameServerContainerDefinitionInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GameServerContainerDefinitionInput"} + if v.ContainerName == nil { + invalidParams.Add(smithy.NewErrParamRequired("ContainerName")) + } + if v.DependsOn != nil { + if err := validateContainerDependencyList(v.DependsOn); err != nil { + invalidParams.AddNested("DependsOn", err.(smithy.InvalidParamsError)) + } + } + if v.MountPoints != nil { + if err := validateContainerMountPointList(v.MountPoints); err != nil { + invalidParams.AddNested("MountPoints", err.(smithy.InvalidParamsError)) + } + } + if v.EnvironmentOverride != nil { + if err := validateContainerEnvironmentList(v.EnvironmentOverride); err != nil { + invalidParams.AddNested("EnvironmentOverride", err.(smithy.InvalidParamsError)) + } + } + if v.ImageUri == nil { + invalidParams.Add(smithy.NewErrParamRequired("ImageUri")) + } + if v.PortConfiguration == nil { + invalidParams.Add(smithy.NewErrParamRequired("PortConfiguration")) + } else if v.PortConfiguration != nil { + if err := validateContainerPortConfiguration(v.PortConfiguration); err != nil { + invalidParams.AddNested("PortConfiguration", err.(smithy.InvalidParamsError)) + } + } + if v.ServerSdkVersion == nil { + invalidParams.Add(smithy.NewErrParamRequired("ServerSdkVersion")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateGameServerGroupAutoScalingPolicy(v *types.GameServerGroupAutoScalingPolicy) error { if v == nil { return nil @@ -2600,6 +2766,66 @@ func validateServerProcessList(v []types.ServerProcess) error { } } +func validateSupportContainerDefinitionInput(v *types.SupportContainerDefinitionInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "SupportContainerDefinitionInput"} + if v.ContainerName == nil { + invalidParams.Add(smithy.NewErrParamRequired("ContainerName")) + } + if v.DependsOn != nil { + if err := validateContainerDependencyList(v.DependsOn); err != nil { + invalidParams.AddNested("DependsOn", err.(smithy.InvalidParamsError)) + } + } + if v.MountPoints != nil { + if err := validateContainerMountPointList(v.MountPoints); err != nil { + invalidParams.AddNested("MountPoints", err.(smithy.InvalidParamsError)) + } + } + if v.EnvironmentOverride != nil { + if err := validateContainerEnvironmentList(v.EnvironmentOverride); err != nil { + invalidParams.AddNested("EnvironmentOverride", err.(smithy.InvalidParamsError)) + } + } + if v.HealthCheck != nil { + if err := validateContainerHealthCheck(v.HealthCheck); err != nil { + invalidParams.AddNested("HealthCheck", err.(smithy.InvalidParamsError)) + } + } + if v.ImageUri == nil { + invalidParams.Add(smithy.NewErrParamRequired("ImageUri")) + } + if v.PortConfiguration != nil { + if err := validateContainerPortConfiguration(v.PortConfiguration); err != nil { + invalidParams.AddNested("PortConfiguration", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateSupportContainerDefinitionInputList(v []types.SupportContainerDefinitionInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "SupportContainerDefinitionInputList"} + for i := range v { + if err := validateSupportContainerDefinitionInput(&v[i]); err != nil { + invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateTag(v *types.Tag) error { if v == nil { return nil @@ -2741,6 +2967,41 @@ func validateOpCreateBuildInput(v *CreateBuildInput) error { } } +func validateOpCreateContainerFleetInput(v *CreateContainerFleetInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "CreateContainerFleetInput"} + if v.FleetRoleArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("FleetRoleArn")) + } + if v.InstanceConnectionPortRange != nil { + if err := validateConnectionPortRange(v.InstanceConnectionPortRange); err != nil { + invalidParams.AddNested("InstanceConnectionPortRange", err.(smithy.InvalidParamsError)) + } + } + if v.InstanceInboundPermissions != nil { + if err := validateIpPermissionsList(v.InstanceInboundPermissions); err != nil { + invalidParams.AddNested("InstanceInboundPermissions", err.(smithy.InvalidParamsError)) + } + } + if v.Locations != nil { + if err := validateLocationConfigurationList(v.Locations); err != nil { + invalidParams.AddNested("Locations", err.(smithy.InvalidParamsError)) + } + } + if v.Tags != nil { + if err := validateTagList(v.Tags); err != nil { + invalidParams.AddNested("Tags", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpCreateContainerGroupDefinitionInput(v *CreateContainerGroupDefinitionInput) error { if v == nil { return nil @@ -2749,17 +3010,20 @@ func validateOpCreateContainerGroupDefinitionInput(v *CreateContainerGroupDefini if v.Name == nil { invalidParams.Add(smithy.NewErrParamRequired("Name")) } - if v.TotalMemoryLimit == nil { - invalidParams.Add(smithy.NewErrParamRequired("TotalMemoryLimit")) + if v.TotalMemoryLimitMebibytes == nil { + invalidParams.Add(smithy.NewErrParamRequired("TotalMemoryLimitMebibytes")) + } + if v.TotalVcpuLimit == nil { + invalidParams.Add(smithy.NewErrParamRequired("TotalVcpuLimit")) } - if v.TotalCpuLimit == nil { - invalidParams.Add(smithy.NewErrParamRequired("TotalCpuLimit")) + if v.GameServerContainerDefinition != nil { + if err := validateGameServerContainerDefinitionInput(v.GameServerContainerDefinition); err != nil { + invalidParams.AddNested("GameServerContainerDefinition", err.(smithy.InvalidParamsError)) + } } - if v.ContainerDefinitions == nil { - invalidParams.Add(smithy.NewErrParamRequired("ContainerDefinitions")) - } else if v.ContainerDefinitions != nil { - if err := validateContainerDefinitionInputList(v.ContainerDefinitions); err != nil { - invalidParams.AddNested("ContainerDefinitions", err.(smithy.InvalidParamsError)) + if v.SupportContainerDefinitions != nil { + if err := validateSupportContainerDefinitionInputList(v.SupportContainerDefinitions); err != nil { + invalidParams.AddNested("SupportContainerDefinitions", err.(smithy.InvalidParamsError)) } } if len(v.OperatingSystem) == 0 { @@ -2815,11 +3079,6 @@ func validateOpCreateFleetInput(v *CreateFleetInput) error { invalidParams.AddNested("AnywhereConfiguration", err.(smithy.InvalidParamsError)) } } - if v.ContainerGroupsConfiguration != nil { - if err := validateContainerGroupsConfiguration(v.ContainerGroupsConfiguration); err != nil { - invalidParams.AddNested("ContainerGroupsConfiguration", err.(smithy.InvalidParamsError)) - } - } if invalidParams.Len() > 0 { return invalidParams } else { @@ -3132,6 +3391,21 @@ func validateOpDeleteBuildInput(v *DeleteBuildInput) error { } } +func validateOpDeleteContainerFleetInput(v *DeleteContainerFleetInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DeleteContainerFleetInput"} + if v.FleetId == nil { + invalidParams.Add(smithy.NewErrParamRequired("FleetId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDeleteContainerGroupDefinitionInput(v *DeleteContainerGroupDefinitionInput) error { if v == nil { return nil @@ -3408,6 +3682,21 @@ func validateOpDescribeComputeInput(v *DescribeComputeInput) error { } } +func validateOpDescribeContainerFleetInput(v *DescribeContainerFleetInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DescribeContainerFleetInput"} + if v.FleetId == nil { + invalidParams.Add(smithy.NewErrParamRequired("FleetId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDescribeContainerGroupDefinitionInput(v *DescribeContainerGroupDefinitionInput) error { if v == nil { return nil @@ -3423,6 +3712,21 @@ func validateOpDescribeContainerGroupDefinitionInput(v *DescribeContainerGroupDe } } +func validateOpDescribeFleetDeploymentInput(v *DescribeFleetDeploymentInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DescribeFleetDeploymentInput"} + if v.FleetId == nil { + invalidParams.Add(smithy.NewErrParamRequired("FleetId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDescribeFleetEventsInput(v *DescribeFleetEventsInput) error { if v == nil { return nil @@ -3726,6 +4030,21 @@ func validateOpListComputeInput(v *ListComputeInput) error { } } +func validateOpListContainerGroupDefinitionVersionsInput(v *ListContainerGroupDefinitionVersionsInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ListContainerGroupDefinitionVersionsInput"} + if v.Name == nil { + invalidParams.Add(smithy.NewErrParamRequired("Name")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpListGameServersInput(v *ListGameServersInput) error { if v == nil { return nil @@ -4085,6 +4404,61 @@ func validateOpUpdateBuildInput(v *UpdateBuildInput) error { } } +func validateOpUpdateContainerFleetInput(v *UpdateContainerFleetInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "UpdateContainerFleetInput"} + if v.FleetId == nil { + invalidParams.Add(smithy.NewErrParamRequired("FleetId")) + } + if v.InstanceConnectionPortRange != nil { + if err := validateConnectionPortRange(v.InstanceConnectionPortRange); err != nil { + invalidParams.AddNested("InstanceConnectionPortRange", err.(smithy.InvalidParamsError)) + } + } + if v.InstanceInboundPermissionAuthorizations != nil { + if err := validateIpPermissionsList(v.InstanceInboundPermissionAuthorizations); err != nil { + invalidParams.AddNested("InstanceInboundPermissionAuthorizations", err.(smithy.InvalidParamsError)) + } + } + if v.InstanceInboundPermissionRevocations != nil { + if err := validateIpPermissionsList(v.InstanceInboundPermissionRevocations); err != nil { + invalidParams.AddNested("InstanceInboundPermissionRevocations", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateOpUpdateContainerGroupDefinitionInput(v *UpdateContainerGroupDefinitionInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "UpdateContainerGroupDefinitionInput"} + if v.Name == nil { + invalidParams.Add(smithy.NewErrParamRequired("Name")) + } + if v.GameServerContainerDefinition != nil { + if err := validateGameServerContainerDefinitionInput(v.GameServerContainerDefinition); err != nil { + invalidParams.AddNested("GameServerContainerDefinition", err.(smithy.InvalidParamsError)) + } + } + if v.SupportContainerDefinitions != nil { + if err := validateSupportContainerDefinitionInputList(v.SupportContainerDefinitions); err != nil { + invalidParams.AddNested("SupportContainerDefinitions", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpUpdateFleetAttributesInput(v *UpdateFleetAttributesInput) error { if v == nil { return nil diff --git a/service/kinesisanalytics/internal/endpoints/endpoints.go b/service/kinesisanalytics/internal/endpoints/endpoints.go index ed2055e1ff7..2ee2b7b7a76 100644 --- a/service/kinesisanalytics/internal/endpoints/endpoints.go +++ b/service/kinesisanalytics/internal/endpoints/endpoints.go @@ -172,6 +172,9 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "ap-southeast-4", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-5", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "ca-central-1", }: endpoints.Endpoint{}, diff --git a/service/kinesisanalyticsv2/internal/endpoints/endpoints.go b/service/kinesisanalyticsv2/internal/endpoints/endpoints.go index 305e7dd3d2d..d01316aa3e7 100644 --- a/service/kinesisanalyticsv2/internal/endpoints/endpoints.go +++ b/service/kinesisanalyticsv2/internal/endpoints/endpoints.go @@ -172,6 +172,9 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "ap-southeast-4", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-5", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "ca-central-1", }: endpoints.Endpoint{}, diff --git a/service/paymentcryptography/api_op_ListAliases.go b/service/paymentcryptography/api_op_ListAliases.go index b2a19b42f8d..fcbb245873f 100644 --- a/service/paymentcryptography/api_op_ListAliases.go +++ b/service/paymentcryptography/api_op_ListAliases.go @@ -12,7 +12,7 @@ import ( ) // Lists the aliases for all keys in the caller's Amazon Web Services account and -// Amazon Web Services Region. You can filter the list of aliases. For more +// Amazon Web Services Region. You can filter the aliases by keyARN . For more // information, see [Using aliases]in the Amazon Web Services Payment Cryptography User Guide. // // This is a paginated operation, which means that each response might contain @@ -57,6 +57,9 @@ func (c *Client) ListAliases(ctx context.Context, params *ListAliasesInput, optF type ListAliasesInput struct { + // The keyARN for which you want to list all aliases. + KeyArn *string + // Use this parameter to specify the maximum number of items to return. When this // value is present, Amazon Web Services Payment Cryptography does not return more // than the specified number of items, but it might return fewer. diff --git a/service/paymentcryptography/serializers.go b/service/paymentcryptography/serializers.go index 49b91095f90..e2d8de3c5f4 100644 --- a/service/paymentcryptography/serializers.go +++ b/service/paymentcryptography/serializers.go @@ -1926,6 +1926,11 @@ func awsAwsjson10_serializeOpDocumentListAliasesInput(v *ListAliasesInput, value object := value.Object() defer object.Close() + if v.KeyArn != nil { + ok := object.Key("KeyArn") + ok.String(*v.KeyArn) + } + if v.MaxResults != nil { ok := object.Key("MaxResults") ok.Integer(*v.MaxResults) diff --git a/service/paymentcryptography/types/types.go b/service/paymentcryptography/types/types.go index 1ef6868d06a..63541457c46 100644 --- a/service/paymentcryptography/types/types.go +++ b/service/paymentcryptography/types/types.go @@ -615,6 +615,8 @@ type Tag struct { Key *string // The value of the tag. + // + // This member is required. Value *string noSmithyDocumentSerde diff --git a/service/paymentcryptography/validators.go b/service/paymentcryptography/validators.go index 2edac7b1474..0da36a950e5 100644 --- a/service/paymentcryptography/validators.go +++ b/service/paymentcryptography/validators.go @@ -726,6 +726,9 @@ func validateTag(v *types.Tag) error { if v.Key == nil { invalidParams.Add(smithy.NewErrParamRequired("Key")) } + if v.Value == nil { + invalidParams.Add(smithy.NewErrParamRequired("Value")) + } if invalidParams.Len() > 0 { return invalidParams } else { diff --git a/service/rds/api_op_CreateDBCluster.go b/service/rds/api_op_CreateDBCluster.go index 4897c02913f..2731dc27afe 100644 --- a/service/rds/api_op_CreateDBCluster.go +++ b/service/rds/api_op_CreateDBCluster.go @@ -353,7 +353,7 @@ type CreateDBClusterInput struct { // version on your DB cluster past the end of standard support for that engine // version. For more information, see the following sections: // - // - Amazon Aurora (PostgreSQL only) - [Using Amazon RDS Extended Support]in the Amazon Aurora User Guide + // - Amazon Aurora - [Using Amazon RDS Extended Support]in the Amazon Aurora User Guide // // - Amazon RDS - [Using Amazon RDS Extended Support]in the Amazon RDS User Guide // diff --git a/service/rds/api_op_RestoreDBClusterFromS3.go b/service/rds/api_op_RestoreDBClusterFromS3.go index 0434d30ff2e..0ea3b0259a2 100644 --- a/service/rds/api_op_RestoreDBClusterFromS3.go +++ b/service/rds/api_op_RestoreDBClusterFromS3.go @@ -221,7 +221,7 @@ type RestoreDBClusterFromS3Input struct { // version on your DB cluster past the end of standard support for that engine // version. For more information, see the following sections: // - // - Amazon Aurora (PostgreSQL only) - [Using Amazon RDS Extended Support]in the Amazon Aurora User Guide + // - Amazon Aurora - [Using Amazon RDS Extended Support]in the Amazon Aurora User Guide // // - Amazon RDS - [Using Amazon RDS Extended Support]in the Amazon RDS User Guide // diff --git a/service/rds/api_op_RestoreDBClusterFromSnapshot.go b/service/rds/api_op_RestoreDBClusterFromSnapshot.go index 7719803c435..9e8d5ecbceb 100644 --- a/service/rds/api_op_RestoreDBClusterFromSnapshot.go +++ b/service/rds/api_op_RestoreDBClusterFromSnapshot.go @@ -248,7 +248,7 @@ type RestoreDBClusterFromSnapshotInput struct { // version on your DB cluster past the end of standard support for that engine // version. For more information, see the following sections: // - // - Amazon Aurora (PostgreSQL only) - [Using Amazon RDS Extended Support]in the Amazon Aurora User Guide + // - Amazon Aurora - [Using Amazon RDS Extended Support]in the Amazon Aurora User Guide // // - Amazon RDS - [Using Amazon RDS Extended Support]in the Amazon RDS User Guide // diff --git a/service/rds/api_op_RestoreDBClusterToPointInTime.go b/service/rds/api_op_RestoreDBClusterToPointInTime.go index 40102b17c20..b34bcbdcdbe 100644 --- a/service/rds/api_op_RestoreDBClusterToPointInTime.go +++ b/service/rds/api_op_RestoreDBClusterToPointInTime.go @@ -209,7 +209,7 @@ type RestoreDBClusterToPointInTimeInput struct { // version on your DB cluster past the end of standard support for that engine // version. For more information, see the following sections: // - // - Amazon Aurora (PostgreSQL only) - [Using Amazon RDS Extended Support]in the Amazon Aurora User Guide + // - Amazon Aurora - [Using Amazon RDS Extended Support]in the Amazon Aurora User Guide // // - Amazon RDS - [Using Amazon RDS Extended Support]in the Amazon RDS User Guide //