From c190249cc55e8153f6214652fe6d5114082d8fa0 Mon Sep 17 00:00:00 2001 From: AWS SDK for Go v2 automation user Date: Thu, 14 Apr 2022 18:09:33 +0000 Subject: [PATCH] Regenerated Clients --- .../34bde945d50446b8a08c4db0db609320.json | 8 + .../60b5eed148404f858fe5c29e288db39f.json | 8 + .../8f385384d3324c02be9b887e3ec0f2a7.json | 8 + .../b8609b84f3f248a1a1ddf53813fb3f76.json | 8 + .../bf53329ec73e4c18a188492d5d430113.json | 8 + .../f7a57ed340e346b5ab432977ffdcc670.json | 8 + service/appflow/deserializers.go | 170 ++++++++ service/appflow/serializers.go | 18 + service/appflow/types/enums.go | 18 + service/appflow/types/types.go | 36 ++ service/appstream/api_op_CreateFleet.go | 4 + service/appstream/api_op_UpdateFleet.go | 4 + service/appstream/deserializers.go | 5 + service/appstream/serializers.go | 14 + service/appstream/types/enums.go | 2 + service/appstream/types/types.go | 4 + service/appstream/validators.go | 10 + service/batch/api_op_CreateJobQueue.go | 10 +- .../batch/api_op_CreateSchedulingPolicy.go | 1 + .../batch/api_op_DeleteSchedulingPolicy.go | 1 + .../api_op_DescribeComputeEnvironments.go | 4 +- .../api_op_DescribeSchedulingPolicies.go | 1 + .../batch/api_op_ListSchedulingPolicies.go | 1 + service/batch/api_op_ListTagsForResource.go | 1 + service/batch/api_op_SubmitJob.go | 10 +- service/batch/api_op_TagResource.go | 1 + service/batch/api_op_UntagResource.go | 1 + .../batch/api_op_UpdateComputeEnvironment.go | 35 +- service/batch/api_op_UpdateJobQueue.go | 18 +- .../batch/api_op_UpdateSchedulingPolicy.go | 1 + service/batch/deserializers.go | 58 +++ service/batch/serializers.go | 92 +++++ service/batch/types/enums.go | 18 + service/batch/types/types.go | 381 ++++++++++++++---- service/batch/validators.go | 22 + service/cloudwatch/api_op_GetMetricStream.go | 4 +- service/cloudwatch/api_op_PutMetricAlarm.go | 5 +- service/cloudwatch/api_op_PutMetricStream.go | 16 +- service/cloudwatch/types/types.go | 29 +- service/ec2/api_op_CreateCustomerGateway.go | 28 +- service/ec2/api_op_CreateImage.go | 39 +- service/ec2/api_op_CreateIpam.go | 2 +- service/ec2/api_op_CreateKeyPair.go | 2 +- service/ec2/api_op_CreateLaunchTemplate.go | 6 + service/ec2/api_op_CreateVpcEndpoint.go | 17 +- ...p_CreateVpcEndpointServiceConfiguration.go | 31 +- service/ec2/api_op_DeleteIpam.go | 9 +- service/ec2/api_op_DescribeImages.go | 103 ++--- ...p_DescribeLocalGatewayVirtualInterfaces.go | 11 +- service/ec2/api_op_ModifyVolume.go | 8 +- service/ec2/api_op_ModifyVpcEndpoint.go | 5 +- ...p_ModifyVpcEndpointServiceConfiguration.go | 3 - ..._op_ModifyVpcEndpointServicePermissions.go | 14 +- service/ec2/api_op_RunInstances.go | 4 +- ...pcEndpointServicePrivateDnsVerification.go | 5 +- service/ec2/types/types.go | 13 +- service/glue/deserializers.go | 34 ++ service/glue/types/types.go | 9 + .../internal/endpoints/endpoints.go | 37 ++ 59 files changed, 1127 insertions(+), 296 deletions(-) create mode 100644 .changelog/34bde945d50446b8a08c4db0db609320.json create mode 100644 .changelog/60b5eed148404f858fe5c29e288db39f.json create mode 100644 .changelog/8f385384d3324c02be9b887e3ec0f2a7.json create mode 100644 .changelog/b8609b84f3f248a1a1ddf53813fb3f76.json create mode 100644 .changelog/bf53329ec73e4c18a188492d5d430113.json create mode 100644 .changelog/f7a57ed340e346b5ab432977ffdcc670.json diff --git a/.changelog/34bde945d50446b8a08c4db0db609320.json b/.changelog/34bde945d50446b8a08c4db0db609320.json new file mode 100644 index 00000000000..36ae049c760 --- /dev/null +++ b/.changelog/34bde945d50446b8a08c4db0db609320.json @@ -0,0 +1,8 @@ +{ + "id": "34bde945-d504-46b8-a08c-4db0db609320", + "type": "feature", + "description": "Enables users to pass custom token URL parameters for Oauth2 authentication during create connector profile", + "modules": [ + "service/appflow" + ] +} \ No newline at end of file diff --git a/.changelog/60b5eed148404f858fe5c29e288db39f.json b/.changelog/60b5eed148404f858fe5c29e288db39f.json new file mode 100644 index 00000000000..3c25f4e9e09 --- /dev/null +++ b/.changelog/60b5eed148404f858fe5c29e288db39f.json @@ -0,0 +1,8 @@ +{ + "id": "60b5eed1-4840-4f85-8fe5-c29e288db39f", + "type": "documentation", + "description": "Updates documentation for additional statistics in CloudWatch Metric Streams.", + "modules": [ + "service/cloudwatch" + ] +} \ No newline at end of file diff --git a/.changelog/8f385384d3324c02be9b887e3ec0f2a7.json b/.changelog/8f385384d3324c02be9b887e3ec0f2a7.json new file mode 100644 index 00000000000..0899478616e --- /dev/null +++ b/.changelog/8f385384d3324c02be9b887e3ec0f2a7.json @@ -0,0 +1,8 @@ +{ + "id": "8f385384-d332-4c02-be9b-887e3ec0f2a7", + "type": "documentation", + "description": "Documentation updates for Amazon EC2.", + "modules": [ + "service/ec2" + ] +} \ No newline at end of file diff --git a/.changelog/b8609b84f3f248a1a1ddf53813fb3f76.json b/.changelog/b8609b84f3f248a1a1ddf53813fb3f76.json new file mode 100644 index 00000000000..d8d60fed788 --- /dev/null +++ b/.changelog/b8609b84f3f248a1a1ddf53813fb3f76.json @@ -0,0 +1,8 @@ +{ + "id": "b8609b84-f3f2-48a1-a1dd-f53813fb3f76", + "type": "feature", + "description": "Enables configuration updates for compute environments with BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED allocation strategies.", + "modules": [ + "service/batch" + ] +} \ No newline at end of file diff --git a/.changelog/bf53329ec73e4c18a188492d5d430113.json b/.changelog/bf53329ec73e4c18a188492d5d430113.json new file mode 100644 index 00000000000..51b131a98d0 --- /dev/null +++ b/.changelog/bf53329ec73e4c18a188492d5d430113.json @@ -0,0 +1,8 @@ +{ + "id": "bf53329e-c73e-4c18-a188-492d5d430113", + "type": "feature", + "description": "Includes updates for create and update fleet APIs to manage the session scripts locations for Elastic fleets.", + "modules": [ + "service/appstream" + ] +} \ No newline at end of file diff --git a/.changelog/f7a57ed340e346b5ab432977ffdcc670.json b/.changelog/f7a57ed340e346b5ab432977ffdcc670.json new file mode 100644 index 00000000000..741b72be21a --- /dev/null +++ b/.changelog/f7a57ed340e346b5ab432977ffdcc670.json @@ -0,0 +1,8 @@ +{ + "id": "f7a57ed3-40e3-46b5-ab43-2977ffdcc670", + "type": "feature", + "description": "Auto Scaling for Glue version 3.0 and later jobs to dynamically scale compute resources. This SDK change provides customers with the auto-scaled DPU usage", + "modules": [ + "service/glue" + ] +} \ No newline at end of file diff --git a/service/appflow/deserializers.go b/service/appflow/deserializers.go index c1cecadba20..647c5844531 100644 --- a/service/appflow/deserializers.go +++ b/service/appflow/deserializers.go @@ -8170,6 +8170,130 @@ func awsRestjson1_deserializeDocumentMarketoSourceProperties(v **types.MarketoSo return nil } +func awsRestjson1_deserializeDocumentOAuth2CustomParameter(v **types.OAuth2CustomParameter, 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.OAuth2CustomParameter + if *v == nil { + sv = &types.OAuth2CustomParameter{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "connectorSuppliedValues": + if err := awsRestjson1_deserializeDocumentConnectorSuppliedValueList(&sv.ConnectorSuppliedValues, value); err != nil { + return err + } + + case "description": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Description to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "isRequired": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsRequired = jtv + } + + case "isSensitiveField": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsSensitiveField = jtv + } + + case "key": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Key to be of type string, got %T instead", value) + } + sv.Key = ptr.String(jtv) + } + + case "label": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Label to be of type string, got %T instead", value) + } + sv.Label = ptr.String(jtv) + } + + case "type": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected OAuth2CustomPropType to be of type string, got %T instead", value) + } + sv.Type = types.OAuth2CustomPropType(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentOAuth2CustomPropertiesList(v *[]types.OAuth2CustomParameter, 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.OAuth2CustomParameter + if *v == nil { + cv = []types.OAuth2CustomParameter{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.OAuth2CustomParameter + destAddr := &col + if err := awsRestjson1_deserializeDocumentOAuth2CustomParameter(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsRestjson1_deserializeDocumentOAuth2Defaults(v **types.OAuth2Defaults, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -8197,6 +8321,11 @@ func awsRestjson1_deserializeDocumentOAuth2Defaults(v **types.OAuth2Defaults, va return err } + case "oauth2CustomProperties": + if err := awsRestjson1_deserializeDocumentOAuth2CustomPropertiesList(&sv.Oauth2CustomProperties, value); err != nil { + return err + } + case "oauth2GrantTypesSupported": if err := awsRestjson1_deserializeDocumentOAuth2GrantTypeSupportedList(&sv.Oauth2GrantTypesSupported, value); err != nil { return err @@ -8297,6 +8426,11 @@ func awsRestjson1_deserializeDocumentOAuth2Properties(v **types.OAuth2Properties sv.TokenUrl = ptr.String(jtv) } + case "tokenUrlCustomProperties": + if err := awsRestjson1_deserializeDocumentTokenUrlCustomProperties(&sv.TokenUrlCustomProperties, value); err != nil { + return err + } + default: _, _ = key, value @@ -10964,6 +11098,42 @@ func awsRestjson1_deserializeDocumentThrottlingException(v **types.ThrottlingExc return nil } +func awsRestjson1_deserializeDocumentTokenUrlCustomProperties(v *map[string]string, 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]string + if *v == nil { + mv = map[string]string{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected CustomPropertyValue to be of type string, got %T instead", value) + } + parsedVal = jtv + } + mv[key] = parsedVal + + } + *v = mv + return nil +} + func awsRestjson1_deserializeDocumentTokenUrlList(v *[]string, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/appflow/serializers.go b/service/appflow/serializers.go index 105758d8714..5b9c420e8d8 100644 --- a/service/appflow/serializers.go +++ b/service/appflow/serializers.go @@ -3009,6 +3009,13 @@ func awsRestjson1_serializeDocumentOAuth2Properties(v *types.OAuth2Properties, v ok.String(*v.TokenUrl) } + if v.TokenUrlCustomProperties != nil { + ok := object.Key("tokenUrlCustomProperties") + if err := awsRestjson1_serializeDocumentTokenUrlCustomProperties(v.TokenUrlCustomProperties, ok); err != nil { + return err + } + } + return nil } @@ -3993,6 +4000,17 @@ func awsRestjson1_serializeDocumentTasks(v []types.Task, value smithyjson.Value) return nil } +func awsRestjson1_serializeDocumentTokenUrlCustomProperties(v map[string]string, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + for key := range v { + om := object.Key(key) + om.String(v[key]) + } + return nil +} + func awsRestjson1_serializeDocumentTrendmicroConnectorProfileCredentials(v *types.TrendmicroConnectorProfileCredentials, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/appflow/types/enums.go b/service/appflow/types/enums.go index fdf90b2e956..fc57c2298eb 100644 --- a/service/appflow/types/enums.go +++ b/service/appflow/types/enums.go @@ -433,6 +433,24 @@ func (MarketoConnectorOperator) Values() []MarketoConnectorOperator { } } +type OAuth2CustomPropType string + +// Enum values for OAuth2CustomPropType +const ( + OAuth2CustomPropTypeTokenUrl OAuth2CustomPropType = "TOKEN_URL" + OAuth2CustomPropTypeAuthUrl OAuth2CustomPropType = "AUTH_URL" +) + +// Values returns all known values for OAuth2CustomPropType. 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 (OAuth2CustomPropType) Values() []OAuth2CustomPropType { + return []OAuth2CustomPropType{ + "TOKEN_URL", + "AUTH_URL", + } +} + type OAuth2GrantType string // Enum values for OAuth2GrantType diff --git a/service/appflow/types/types.go b/service/appflow/types/types.go index 3a75522d1a6..6c690608d8c 100644 --- a/service/appflow/types/types.go +++ b/service/appflow/types/types.go @@ -1481,12 +1481,43 @@ type OAuth2Credentials struct { noSmithyDocumentSerde } +// Custom parameter required for OAuth 2.0 authentication. +type OAuth2CustomParameter struct { + + // Contains default values for this authentication parameter that are supplied by + // the connector. + ConnectorSuppliedValues []string + + // A description about the custom parameter used for OAuth 2.0 authentication. + Description *string + + // Indicates whether the custom parameter for OAuth 2.0 authentication is required. + IsRequired bool + + // Indicates whether this authentication custom parameter is a sensitive field. + IsSensitiveField bool + + // The key of the custom parameter required for OAuth 2.0 authentication. + Key *string + + // The label of the custom parameter used for OAuth 2.0 authentication. + Label *string + + // Indicates whether custom parameter is used with TokenUrl or AuthUrl. + Type OAuth2CustomPropType + + noSmithyDocumentSerde +} + // Contains the default values required for OAuth 2.0 authentication. type OAuth2Defaults struct { // Auth code URLs that can be used for OAuth 2.0 authentication. AuthCodeUrls []string + // List of custom parameters required for OAuth 2.0 authentication. + Oauth2CustomProperties []OAuth2CustomParameter + // OAuth 2.0 grant types supported by the connector. Oauth2GrantTypesSupported []OAuth2GrantType @@ -1512,6 +1543,11 @@ type OAuth2Properties struct { // This member is required. TokenUrl *string + // Associates your token URL with a map of properties that you define. Use this + // parameter to provide any additional details that the connector requires to + // authenticate your request. + TokenUrlCustomProperties map[string]string + noSmithyDocumentSerde } diff --git a/service/appstream/api_op_CreateFleet.go b/service/appstream/api_op_CreateFleet.go index 9e310155e71..8d1d8e969b6 100644 --- a/service/appstream/api_op_CreateFleet.go +++ b/service/appstream/api_op_CreateFleet.go @@ -213,6 +213,10 @@ type CreateFleetInput struct { // Elastic fleets. Platform types.PlatformType + // The S3 location of the session scripts configuration zip file. This only applies + // to Elastic fleets. + SessionScriptS3Location *types.S3Location + // The AppStream 2.0 view that is displayed to your users when they stream from the // fleet. When APP is specified, only the windows of applications opened by users // display. When DESKTOP is specified, the standard desktop that is provided by the diff --git a/service/appstream/api_op_UpdateFleet.go b/service/appstream/api_op_UpdateFleet.go index 7ccc22b3a38..3df5320d1db 100644 --- a/service/appstream/api_op_UpdateFleet.go +++ b/service/appstream/api_op_UpdateFleet.go @@ -220,6 +220,10 @@ type UpdateFleetInput struct { // for Elastic fleets. Platform types.PlatformType + // The S3 location of the session scripts configuration zip file. This only applies + // to Elastic fleets. + SessionScriptS3Location *types.S3Location + // The AppStream 2.0 view that is displayed to your users when they stream from the // fleet. When APP is specified, only the windows of applications opened by users // display. When DESKTOP is specified, the standard desktop that is provided by the diff --git a/service/appstream/deserializers.go b/service/appstream/deserializers.go index e4c2c665e9b..b133196f170 100644 --- a/service/appstream/deserializers.go +++ b/service/appstream/deserializers.go @@ -9666,6 +9666,11 @@ func awsAwsjson11_deserializeDocumentFleet(v **types.Fleet, value interface{}) e sv.Platform = types.PlatformType(jtv) } + case "SessionScriptS3Location": + if err := awsAwsjson11_deserializeDocumentS3Location(&sv.SessionScriptS3Location, value); err != nil { + return err + } + case "State": if value != nil { jtv, ok := value.(string) diff --git a/service/appstream/serializers.go b/service/appstream/serializers.go index 5496fd48aeb..8ed3185b1ed 100644 --- a/service/appstream/serializers.go +++ b/service/appstream/serializers.go @@ -4451,6 +4451,13 @@ func awsAwsjson11_serializeOpDocumentCreateFleetInput(v *CreateFleetInput, value ok.String(string(v.Platform)) } + if v.SessionScriptS3Location != nil { + ok := object.Key("SessionScriptS3Location") + if err := awsAwsjson11_serializeDocumentS3Location(v.SessionScriptS3Location, ok); err != nil { + return err + } + } + if len(v.StreamView) > 0 { ok := object.Key("StreamView") ok.String(string(v.StreamView)) @@ -5746,6 +5753,13 @@ func awsAwsjson11_serializeOpDocumentUpdateFleetInput(v *UpdateFleetInput, value ok.String(string(v.Platform)) } + if v.SessionScriptS3Location != nil { + ok := object.Key("SessionScriptS3Location") + if err := awsAwsjson11_serializeDocumentS3Location(v.SessionScriptS3Location, ok); err != nil { + return err + } + } + if len(v.StreamView) > 0 { ok := object.Key("StreamView") ok.String(string(v.StreamView)) diff --git a/service/appstream/types/enums.go b/service/appstream/types/enums.go index 7467cdb1b49..b7c34deb730 100644 --- a/service/appstream/types/enums.go +++ b/service/appstream/types/enums.go @@ -111,6 +111,7 @@ const ( FleetAttributeDomainJoinInfo FleetAttribute = "DOMAIN_JOIN_INFO" FleetAttributeIamRoleArn FleetAttribute = "IAM_ROLE_ARN" FleetAttributeUsbDeviceFilterStrings FleetAttribute = "USB_DEVICE_FILTER_STRINGS" + FleetAttributeSessionScriptS3Location FleetAttribute = "SESSION_SCRIPT_S3_LOCATION" ) // Values returns all known values for FleetAttribute. Note that this can be @@ -123,6 +124,7 @@ func (FleetAttribute) Values() []FleetAttribute { "DOMAIN_JOIN_INFO", "IAM_ROLE_ARN", "USB_DEVICE_FILTER_STRINGS", + "SESSION_SCRIPT_S3_LOCATION", } } diff --git a/service/appstream/types/types.go b/service/appstream/types/types.go index 4095fc55c13..4e5fc74be0b 100644 --- a/service/appstream/types/types.go +++ b/service/appstream/types/types.go @@ -516,6 +516,10 @@ type Fleet struct { // The platform of the fleet. Platform PlatformType + // The S3 location of the session scripts configuration zip file. This only applies + // to Elastic fleets. + SessionScriptS3Location *S3Location + // The AppStream 2.0 view that is displayed to your users when they stream from the // fleet. When APP is specified, only the windows of applications opened by users // display. When DESKTOP is specified, the standard desktop that is provided by the diff --git a/service/appstream/validators.go b/service/appstream/validators.go index 0189c5eec43..bb16d495fca 100644 --- a/service/appstream/validators.go +++ b/service/appstream/validators.go @@ -1788,6 +1788,11 @@ func validateOpCreateFleetInput(v *CreateFleetInput) error { invalidParams.AddNested("ComputeCapacity", err.(smithy.InvalidParamsError)) } } + if v.SessionScriptS3Location != nil { + if err := validateS3Location(v.SessionScriptS3Location); err != nil { + invalidParams.AddNested("SessionScriptS3Location", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -2487,6 +2492,11 @@ func validateOpUpdateFleetInput(v *UpdateFleetInput) error { invalidParams.AddNested("ComputeCapacity", err.(smithy.InvalidParamsError)) } } + if v.SessionScriptS3Location != nil { + if err := validateS3Location(v.SessionScriptS3Location); err != nil { + invalidParams.AddNested("SessionScriptS3Location", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { diff --git a/service/batch/api_op_CreateJobQueue.go b/service/batch/api_op_CreateJobQueue.go index d93b97078d7..747e2a8d1d9 100644 --- a/service/batch/api_op_CreateJobQueue.go +++ b/service/batch/api_op_CreateJobQueue.go @@ -38,11 +38,11 @@ type CreateJobQueueInput struct { // The set of compute environments mapped to a job queue and their order relative // to each other. The job scheduler uses this parameter to determine which compute - // environment should run a specific job. Compute environments must be in the VALID - // state before you can associate them with a job queue. You can associate up to - // three compute environments with a job queue. All of the compute environments - // must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); EC2 and - // Fargate compute environments can't be mixed. All compute environments that are + // environment runs a specific job. Compute environments must be in the VALID state + // before you can associate them with a job queue. You can associate up to three + // compute environments with a job queue. All of the compute environments must be + // either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); EC2 and Fargate + // compute environments can't be mixed. All compute environments that are // associated with a job queue must share the same architecture. Batch doesn't // support mixing compute environment architecture types in a single job queue. // diff --git a/service/batch/api_op_CreateSchedulingPolicy.go b/service/batch/api_op_CreateSchedulingPolicy.go index 9d68cfb8f79..bf2a38a64b9 100644 --- a/service/batch/api_op_CreateSchedulingPolicy.go +++ b/service/batch/api_op_CreateSchedulingPolicy.go @@ -27,6 +27,7 @@ func (c *Client) CreateSchedulingPolicy(ctx context.Context, params *CreateSched return out, nil } +// Contains the parameters for CreateSchedulingPolicy. type CreateSchedulingPolicyInput struct { // The name of the scheduling policy. It can be up to 128 letters long. It can diff --git a/service/batch/api_op_DeleteSchedulingPolicy.go b/service/batch/api_op_DeleteSchedulingPolicy.go index 36831d914f4..4fb6a6049a9 100644 --- a/service/batch/api_op_DeleteSchedulingPolicy.go +++ b/service/batch/api_op_DeleteSchedulingPolicy.go @@ -27,6 +27,7 @@ func (c *Client) DeleteSchedulingPolicy(ctx context.Context, params *DeleteSched return out, nil } +// Contains the parameters for DeleteSchedulingPolicy. type DeleteSchedulingPolicyInput struct { // The Amazon Resource Name (ARN) of the scheduling policy to delete. diff --git a/service/batch/api_op_DescribeComputeEnvironments.go b/service/batch/api_op_DescribeComputeEnvironments.go index 3240db6200d..9f0d46ddbee 100644 --- a/service/batch/api_op_DescribeComputeEnvironments.go +++ b/service/batch/api_op_DescribeComputeEnvironments.go @@ -14,8 +14,8 @@ import ( // Describes one or more of your compute environments. If you're using an unmanaged // compute environment, you can use the DescribeComputeEnvironment operation to -// determine the ecsClusterArn that you should launch your Amazon ECS container -// instances into. +// determine the ecsClusterArn that you launch your Amazon ECS container instances +// into. func (c *Client) DescribeComputeEnvironments(ctx context.Context, params *DescribeComputeEnvironmentsInput, optFns ...func(*Options)) (*DescribeComputeEnvironmentsOutput, error) { if params == nil { params = &DescribeComputeEnvironmentsInput{} diff --git a/service/batch/api_op_DescribeSchedulingPolicies.go b/service/batch/api_op_DescribeSchedulingPolicies.go index fdb2eb82f62..c1390d52f69 100644 --- a/service/batch/api_op_DescribeSchedulingPolicies.go +++ b/service/batch/api_op_DescribeSchedulingPolicies.go @@ -27,6 +27,7 @@ func (c *Client) DescribeSchedulingPolicies(ctx context.Context, params *Describ return out, nil } +// Contains the parameters for DescribeSchedulingPolicies. type DescribeSchedulingPoliciesInput struct { // A list of up to 100 scheduling policy Amazon Resource Name (ARN) entries. diff --git a/service/batch/api_op_ListSchedulingPolicies.go b/service/batch/api_op_ListSchedulingPolicies.go index 2980a54967d..45207b40567 100644 --- a/service/batch/api_op_ListSchedulingPolicies.go +++ b/service/batch/api_op_ListSchedulingPolicies.go @@ -28,6 +28,7 @@ func (c *Client) ListSchedulingPolicies(ctx context.Context, params *ListSchedul return out, nil } +// Contains the parameters for ListSchedulingPolicies. type ListSchedulingPoliciesInput struct { // The maximum number of results that's returned by ListSchedulingPolicies in diff --git a/service/batch/api_op_ListTagsForResource.go b/service/batch/api_op_ListTagsForResource.go index eed97946a72..6372718519e 100644 --- a/service/batch/api_op_ListTagsForResource.go +++ b/service/batch/api_op_ListTagsForResource.go @@ -29,6 +29,7 @@ func (c *Client) ListTagsForResource(ctx context.Context, params *ListTagsForRes return out, nil } +// Contains the parameters for ListTagsForResource. type ListTagsForResourceInput struct { // The Amazon Resource Name (ARN) that identifies the resource that tags are listed diff --git a/service/batch/api_op_SubmitJob.go b/service/batch/api_op_SubmitJob.go index 543c23348bc..9d62a9395a0 100644 --- a/service/batch/api_op_SubmitJob.go +++ b/service/batch/api_op_SubmitJob.go @@ -67,11 +67,11 @@ type SubmitJobInput struct { ArrayProperties *types.ArrayProperties // A list of container overrides in the JSON format that specify the name of a - // container in the specified job definition and the overrides it should receive. - // You can override the default command for a container, which is specified in the - // job definition or the Docker image, with a command override. You can also - // override existing environment variables on a container or add new environment - // variables to it with an environment override. + // container in the specified job definition and the overrides it receives. You can + // override the default command for a container, which is specified in the job + // definition or the Docker image, with a command override. You can also override + // existing environment variables on a container or add new environment variables + // to it with an environment override. ContainerOverrides *types.ContainerOverrides // A list of dependencies for the job. A job can depend upon a maximum of 20 jobs. diff --git a/service/batch/api_op_TagResource.go b/service/batch/api_op_TagResource.go index b443a2f1450..5cb02c12fe3 100644 --- a/service/batch/api_op_TagResource.go +++ b/service/batch/api_op_TagResource.go @@ -31,6 +31,7 @@ func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optF return out, nil } +// Contains the parameters for TagResource. type TagResourceInput struct { // The Amazon Resource Name (ARN) of the resource that tags are added to. Batch diff --git a/service/batch/api_op_UntagResource.go b/service/batch/api_op_UntagResource.go index 352e216fb08..8f7e093d86a 100644 --- a/service/batch/api_op_UntagResource.go +++ b/service/batch/api_op_UntagResource.go @@ -26,6 +26,7 @@ func (c *Client) UntagResource(ctx context.Context, params *UntagResourceInput, return out, nil } +// Contains the parameters for UntagResource. type UntagResourceInput struct { // The Amazon Resource Name (ARN) of the resource from which to delete tags. Batch diff --git a/service/batch/api_op_UpdateComputeEnvironment.go b/service/batch/api_op_UpdateComputeEnvironment.go index 7b022add769..3c88ef34b19 100644 --- a/service/batch/api_op_UpdateComputeEnvironment.go +++ b/service/batch/api_op_UpdateComputeEnvironment.go @@ -49,14 +49,18 @@ type UpdateComputeEnvironmentInput struct { // (https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html) in // the Batch User Guide. If the compute environment has a service-linked role, it // can't be changed to use a regular IAM role. Likewise, if the compute environment - // has a regular IAM role, it can't be changed to use a service-linked role. If - // your specified role has a path other than /, then you must either specify the - // full role ARN (this is recommended) or prefix the role name with the path. - // Depending on how you created your Batch service role, its ARN might contain the - // service-role path prefix. When you only specify the name of the service role, - // Batch assumes that your ARN doesn't use the service-role path prefix. Because of - // this, we recommend that you specify the full ARN of your service role when you - // create compute environments. + // has a regular IAM role, it can't be changed to use a service-linked role. To + // update the parameters for the compute environment that require an infrastructure + // update to change, the AWSServiceRoleForBatch service-linked role must be used. + // For more information, see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. If your specified role has a path other than /, then + // you must either specify the full role ARN (recommended) or prefix the role name + // with the path. Depending on how you created your Batch service role, its ARN + // might contain the service-role path prefix. When you only specify the name of + // the service role, Batch assumes that your ARN doesn't use the service-role path + // prefix. Because of this, we recommend that you specify the full ARN of your + // service role when you create compute environments. ServiceRole *string // The state of the compute environment. Compute environments in the ENABLED state @@ -72,12 +76,19 @@ type UpdateComputeEnvironmentInput struct { State types.CEState // The maximum number of vCPUs expected to be used for an unmanaged compute - // environment. This parameter should not be specified for a managed compute - // environment. This parameter is only used for fair share scheduling to reserve - // vCPU capacity for new share identifiers. If this parameter is not provided for a - // fair share job queue, no vCPU capacity will be reserved. + // environment. Do not specify this parameter for a managed compute environment. + // This parameter is only used for fair share scheduling to reserve vCPU capacity + // for new share identifiers. If this parameter is not provided for a fair share + // job queue, no vCPU capacity will be reserved. UnmanagedvCpus *int32 + // Specifies the updated infrastructure update policy for the compute environment. + // For more information about infrastructure updates, see Updating compute + // environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. + UpdatePolicy *types.UpdatePolicy + noSmithyDocumentSerde } diff --git a/service/batch/api_op_UpdateJobQueue.go b/service/batch/api_op_UpdateJobQueue.go index 67a668e90aa..9524dca1c97 100644 --- a/service/batch/api_op_UpdateJobQueue.go +++ b/service/batch/api_op_UpdateJobQueue.go @@ -37,19 +37,19 @@ type UpdateJobQueueInput struct { // Details the set of compute environments mapped to a job queue and their order // relative to each other. This is one of the parameters used by the job scheduler - // to determine which compute environment should run a given job. Compute - // environments must be in the VALID state before you can associate them with a job - // queue. All of the compute environments must be either EC2 (EC2 or SPOT) or - // Fargate (FARGATE or FARGATE_SPOT). EC2 and Fargate compute environments can't be - // mixed. All compute environments that are associated with a job queue must share - // the same architecture. Batch doesn't support mixing compute environment - // architecture types in a single job queue. + // to determine which compute environment runs a given job. Compute environments + // must be in the VALID state before you can associate them with a job queue. All + // of the compute environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE + // or FARGATE_SPOT). EC2 and Fargate compute environments can't be mixed. All + // compute environments that are associated with a job queue must share the same + // architecture. Batch doesn't support mixing compute environment architecture + // types in a single job queue. ComputeEnvironmentOrder []types.ComputeEnvironmentOrder // The priority of the job queue. Job queues with a higher priority (or a higher // integer value for the priority parameter) are evaluated first when associated - // with the same compute environment. Priority is determined in descending order, - // for example, a job queue with a priority value of 10 is given scheduling + // with the same compute environment. Priority is determined in descending order. + // For example, a job queue with a priority value of 10 is given scheduling // preference over a job queue with a priority value of 1. All of the compute // environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or // FARGATE_SPOT). EC2 and Fargate compute environments can't be mixed. diff --git a/service/batch/api_op_UpdateSchedulingPolicy.go b/service/batch/api_op_UpdateSchedulingPolicy.go index 07b79a5d04d..277d9c72939 100644 --- a/service/batch/api_op_UpdateSchedulingPolicy.go +++ b/service/batch/api_op_UpdateSchedulingPolicy.go @@ -27,6 +27,7 @@ func (c *Client) UpdateSchedulingPolicy(ctx context.Context, params *UpdateSched return out, nil } +// Contains the parameters for UpdateSchedulingPolicy. type UpdateSchedulingPolicyInput struct { // The Amazon Resource Name (ARN) of the scheduling policy to update. diff --git a/service/batch/deserializers.go b/service/batch/deserializers.go index 5c36b7a074a..5d65ae0cc75 100644 --- a/service/batch/deserializers.go +++ b/service/batch/deserializers.go @@ -3779,6 +3779,11 @@ func awsRestjson1_deserializeDocumentComputeEnvironmentDetail(v **types.ComputeE sv.UnmanagedvCpus = ptr.Int32(int32(i64)) } + case "updatePolicy": + if err := awsRestjson1_deserializeDocumentUpdatePolicy(&sv.UpdatePolicy, value); err != nil { + return err + } + default: _, _ = key, value @@ -7685,6 +7690,59 @@ func awsRestjson1_deserializeDocumentUlimits(v *[]types.Ulimit, value interface{ return nil } +func awsRestjson1_deserializeDocumentUpdatePolicy(v **types.UpdatePolicy, 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.UpdatePolicy + if *v == nil { + sv = &types.UpdatePolicy{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "jobExecutionTimeoutMinutes": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected JobExecutionTimeoutMinutes to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.JobExecutionTimeoutMinutes = i64 + } + + case "terminateJobsOnUpdate": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.TerminateJobsOnUpdate = ptr.Bool(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentVolume(v **types.Volume, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/batch/serializers.go b/service/batch/serializers.go index 66bfb91b10f..4302d9cf853 100644 --- a/service/batch/serializers.go +++ b/service/batch/serializers.go @@ -1850,6 +1850,13 @@ func awsRestjson1_serializeOpDocumentUpdateComputeEnvironmentInput(v *UpdateComp ok.Integer(*v.UnmanagedvCpus) } + if v.UpdatePolicy != nil { + ok := object.Key("updatePolicy") + if err := awsRestjson1_serializeDocumentUpdatePolicy(v.UpdatePolicy, ok); err != nil { + return err + } + } + return nil } @@ -2168,11 +2175,57 @@ func awsRestjson1_serializeDocumentComputeResourceUpdate(v *types.ComputeResourc object := value.Object() defer object.Close() + if len(v.AllocationStrategy) > 0 { + ok := object.Key("allocationStrategy") + ok.String(string(v.AllocationStrategy)) + } + + if v.BidPercentage != nil { + ok := object.Key("bidPercentage") + ok.Integer(*v.BidPercentage) + } + if v.DesiredvCpus != nil { ok := object.Key("desiredvCpus") ok.Integer(*v.DesiredvCpus) } + if v.Ec2Configuration != nil { + ok := object.Key("ec2Configuration") + if err := awsRestjson1_serializeDocumentEc2ConfigurationList(v.Ec2Configuration, ok); err != nil { + return err + } + } + + if v.Ec2KeyPair != nil { + ok := object.Key("ec2KeyPair") + ok.String(*v.Ec2KeyPair) + } + + if v.ImageId != nil { + ok := object.Key("imageId") + ok.String(*v.ImageId) + } + + if v.InstanceRole != nil { + ok := object.Key("instanceRole") + ok.String(*v.InstanceRole) + } + + if v.InstanceTypes != nil { + ok := object.Key("instanceTypes") + if err := awsRestjson1_serializeDocumentStringList(v.InstanceTypes, ok); err != nil { + return err + } + } + + if v.LaunchTemplate != nil { + ok := object.Key("launchTemplate") + if err := awsRestjson1_serializeDocumentLaunchTemplateSpecification(v.LaunchTemplate, ok); err != nil { + return err + } + } + if v.MaxvCpus != nil { ok := object.Key("maxvCpus") ok.Integer(*v.MaxvCpus) @@ -2183,6 +2236,11 @@ func awsRestjson1_serializeDocumentComputeResourceUpdate(v *types.ComputeResourc ok.Integer(*v.MinvCpus) } + if v.PlacementGroup != nil { + ok := object.Key("placementGroup") + ok.String(*v.PlacementGroup) + } + if v.SecurityGroupIds != nil { ok := object.Key("securityGroupIds") if err := awsRestjson1_serializeDocumentStringList(v.SecurityGroupIds, ok); err != nil { @@ -2197,6 +2255,23 @@ func awsRestjson1_serializeDocumentComputeResourceUpdate(v *types.ComputeResourc } } + if v.Tags != nil { + ok := object.Key("tags") + if err := awsRestjson1_serializeDocumentTagsMap(v.Tags, ok); err != nil { + return err + } + } + + if len(v.Type) > 0 { + ok := object.Key("type") + ok.String(string(v.Type)) + } + + if v.UpdateToLatestImageVersion != nil { + ok := object.Key("updateToLatestImageVersion") + ok.Boolean(*v.UpdateToLatestImageVersion) + } + return nil } @@ -3196,6 +3271,23 @@ func awsRestjson1_serializeDocumentUlimits(v []types.Ulimit, value smithyjson.Va return nil } +func awsRestjson1_serializeDocumentUpdatePolicy(v *types.UpdatePolicy, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.JobExecutionTimeoutMinutes != 0 { + ok := object.Key("jobExecutionTimeoutMinutes") + ok.Long(v.JobExecutionTimeoutMinutes) + } + + if v.TerminateJobsOnUpdate != nil { + ok := object.Key("terminateJobsOnUpdate") + ok.Boolean(*v.TerminateJobsOnUpdate) + } + + return nil +} + func awsRestjson1_serializeDocumentVolume(v *types.Volume, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/batch/types/enums.go b/service/batch/types/enums.go index b9bd1188ac9..2989f017f3d 100644 --- a/service/batch/types/enums.go +++ b/service/batch/types/enums.go @@ -142,6 +142,24 @@ func (CRType) Values() []CRType { } } +type CRUpdateAllocationStrategy string + +// Enum values for CRUpdateAllocationStrategy +const ( + CRUpdateAllocationStrategyBestFitProgressive CRUpdateAllocationStrategy = "BEST_FIT_PROGRESSIVE" + CRUpdateAllocationStrategySpotCapacityOptimized CRUpdateAllocationStrategy = "SPOT_CAPACITY_OPTIMIZED" +) + +// Values returns all known values for CRUpdateAllocationStrategy. 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 (CRUpdateAllocationStrategy) Values() []CRUpdateAllocationStrategy { + return []CRUpdateAllocationStrategy{ + "BEST_FIT_PROGRESSIVE", + "SPOT_CAPACITY_OPTIMIZED", + } +} + type DeviceCgroupPermission string // Enum values for DeviceCgroupPermission diff --git a/service/batch/types/types.go b/service/batch/types/types.go index c5baea95b10..eab572414e8 100644 --- a/service/batch/types/types.go +++ b/service/batch/types/types.go @@ -112,18 +112,16 @@ type ComputeEnvironmentDetail struct { // This member is required. ComputeEnvironmentName *string - // The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by the - // compute environment. - // - // This member is required. - EcsClusterArn *string - // The compute resources defined for the compute environment. For more information, - // see Compute Environments + // see Compute environments // (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) // in the Batch User Guide. ComputeResources *ComputeResource + // The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by the + // compute environment. + EcsClusterArn *string + // The service role associated with the compute environment that allows Batch to // make calls to Amazon Web Services API operations on your behalf. For more // information, see Batch service IAM role @@ -153,7 +151,7 @@ type ComputeEnvironmentDetail struct { Tags map[string]string // The type of the compute environment: MANAGED or UNMANAGED. For more information, - // see Compute Environments + // see Compute environments // (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) // in the Batch User Guide. Type CEType @@ -162,6 +160,12 @@ type ComputeEnvironmentDetail struct { // environment. UnmanagedvCpus *int32 + // Specifies the infrastructure update policy for the compute environment. For more + // information about infrastructure updates, see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. + UpdatePolicy *UpdatePolicy + noSmithyDocumentSerde } @@ -194,7 +198,7 @@ type ComputeEnvironmentOrder struct { } // An object representing an Batch compute resource. For more information, see -// Compute Environments +// Compute environments // (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) // in the Batch User Guide. type ComputeResource struct { @@ -211,7 +215,7 @@ type ComputeResource struct { // The VPC subnets where the compute resources are launched. These subnets must be // within the same VPC. Fargate compute resources can contain up to 16 subnets. For - // more information, see VPCs and Subnets + // more information, see VPCs and subnets // (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) in the // Amazon VPC User Guide. // @@ -219,11 +223,11 @@ type ComputeResource struct { Subnets []string // The type of compute environment: EC2, SPOT, FARGATE, or FARGATE_SPOT. For more - // information, see Compute Environments + // information, see Compute environments // (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) // in the Batch User Guide. If you choose SPOT, you must also specify an Amazon EC2 // Spot Fleet role with the spotIamFleetRole parameter. For more information, see - // Amazon EC2 Spot Fleet role + // Amazon EC2 spot fleet role // (https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html) in // the Batch User Guide. // @@ -234,7 +238,7 @@ type ComputeResource struct { // of the best fitting instance type can be allocated. This might be because of // availability of the instance type in the Region or Amazon EC2 service limits // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html). - // For more information, see Allocation Strategies + // For more information, see Allocation strategies // (https://docs.aws.amazon.com/batch/latest/userguide/allocation-strategies.html) // in the Batch User Guide. This parameter isn't applicable to jobs that are // running on Fargate resources, and shouldn't be specified. BEST_FIT (default) @@ -247,17 +251,22 @@ type ComputeResource struct { // then additional jobs aren't run until the currently running jobs have completed. // This allocation strategy keeps costs lower but can limit scaling. If you are // using Spot Fleets with BEST_FIT then the Spot Fleet IAM Role must be specified. - // BEST_FIT_PROGRESSIVE Batch will select additional instance types that are large - // enough to meet the requirements of the jobs in the queue, with a preference for - // instance types with a lower cost per unit vCPU. If additional instances of the - // previously selected instance types aren't available, Batch will select new - // instance types. SPOT_CAPACITY_OPTIMIZED Batch will select one or more instance - // types that are large enough to meet the requirements of the jobs in the queue, - // with a preference for instance types that are less likely to be interrupted. - // This allocation strategy is only available for Spot Instance compute resources. - // With both BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED strategies, Batch - // might need to go above maxvCpus to meet your capacity requirements. In this - // event, Batch never exceeds maxvCpus by more than a single instance. + // Compute resources that use a BEST_FIT allocation strategy don't support + // infrastructure updates and can't update some parameters. For more information, + // see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. BEST_FIT_PROGRESSIVE Batch will select additional + // instance types that are large enough to meet the requirements of the jobs in the + // queue, with a preference for instance types with a lower cost per unit vCPU. If + // additional instances of the previously selected instance types aren't available, + // Batch will select new instance types. SPOT_CAPACITY_OPTIMIZED Batch will select + // one or more instance types that are large enough to meet the requirements of the + // jobs in the queue, with a preference for instance types that are less likely to + // be interrupted. This allocation strategy is only available for Spot Instance + // compute resources. With both BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED + // strategies, Batch might need to go above maxvCpus to meet your capacity + // requirements. In this event, Batch never exceeds maxvCpus by more than a single + // instance. AllocationStrategy CRAllocationStrategy // The maximum percentage that a Spot Instance price can be when compared with the @@ -310,7 +319,7 @@ type ComputeResource struct { // environment. You can specify the short name or full Amazon Resource Name (ARN) // of an instance profile. For example, ecsInstanceRole or // arn:aws:iam:::instance-profile/ecsInstanceRole . For more information, see - // Amazon ECS Instance Role + // Amazon ECS instance role // (https://docs.aws.amazon.com/batch/latest/userguide/instance_IAM_role.html) in // the Batch User Guide. This parameter isn't applicable to jobs that are running // on Fargate resources, and shouldn't be specified. @@ -334,7 +343,7 @@ type ComputeResource struct { // resource parameters that you specify in a CreateComputeEnvironment API operation // override the same parameters in the launch template. You must specify either the // launch template ID or launch template name in the request, but not both. For - // more information, see Launch Template Support + // more information, see Launch template support // (https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) in // the Batch User Guide. This parameter isn't applicable to jobs that are running // on Fargate resources, and shouldn't be specified. @@ -350,7 +359,7 @@ type ComputeResource struct { // should consider creating a cluster placement group and associate it with your // compute resources. This keeps your multi-node parallel job on a logical grouping // of instances within a single Availability Zone with high network flow potential. - // For more information, see Placement Groups + // For more information, see Placement groups // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in // the Amazon EC2 User Guide for Linux Instances. This parameter isn't applicable // to jobs that are running on Fargate resources, and shouldn't be specified. @@ -368,14 +377,14 @@ type ComputeResource struct { // The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied to // a SPOT compute environment. This role is required if the allocation strategy set // to BEST_FIT or if the allocation strategy isn't specified. For more information, - // see Amazon EC2 Spot Fleet Role + // see Amazon EC2 spot fleet role // (https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html) in // the Batch User Guide. This parameter isn't applicable to jobs that are running // on Fargate resources, and shouldn't be specified. To tag your Spot Instances on // creation, the Spot Fleet IAM role specified here must use the newer // AmazonEC2SpotFleetTaggingRole managed policy. The previously recommended // AmazonEC2SpotFleetRole managed policy doesn't have the required permissions to - // tag Spot Instances. For more information, see Spot Instances not tagged on + // tag Spot Instances. For more information, see Spot instances not tagged on // creation // (https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#spot-instance-no-tag) // in the Batch User Guide. @@ -397,16 +406,148 @@ type ComputeResource struct { } // An object representing the attributes of a compute environment that can be -// updated. For more information, see Compute Environments -// (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) +// updated. For more information, see Updating compute environments +// (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) // in the Batch User Guide. type ComputeResourceUpdate struct { - // The desired number of Amazon EC2 vCPUS in the compute environment. This - // parameter isn't applicable to jobs that are running on Fargate resources, and - // shouldn't be specified. + // The allocation strategy to use for the compute resource if not enough instances + // of the best fitting instance type can be allocated. This might be because of + // availability of the instance type in the Region or Amazon EC2 service limits + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html). + // For more information, see Allocation strategies + // (https://docs.aws.amazon.com/batch/latest/userguide/allocation-strategies.html) + // in the Batch User Guide. When updating a compute environment, changing the + // allocation strategy requires an infrastructure update of the compute + // environment. For more information, see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. BEST_FIT isn't supported when updating a compute + // environment. This parameter isn't applicable to jobs that are running on Fargate + // resources, and shouldn't be specified. BEST_FIT_PROGRESSIVE Batch will select + // additional instance types that are large enough to meet the requirements of the + // jobs in the queue, with a preference for instance types with a lower cost per + // unit vCPU. If additional instances of the previously selected instance types + // aren't available, Batch will select new instance types. SPOT_CAPACITY_OPTIMIZED + // Batch will select one or more instance types that are large enough to meet the + // requirements of the jobs in the queue, with a preference for instance types that + // are less likely to be interrupted. This allocation strategy is only available + // for Spot Instance compute resources. With both BEST_FIT_PROGRESSIVE and + // SPOT_CAPACITY_OPTIMIZED strategies, Batch might need to go above maxvCpus to + // meet your capacity requirements. In this event, Batch never exceeds maxvCpus by + // more than a single instance. + AllocationStrategy CRUpdateAllocationStrategy + + // The maximum percentage that a Spot Instance price can be when compared with the + // On-Demand price for that instance type before instances are launched. For + // example, if your maximum percentage is 20%, then the Spot price must be less + // than 20% of the current On-Demand price for that Amazon EC2 instance. You always + // pay the lowest (market) price and never more than your maximum percentage. When + // updating a compute environment, changing the bid percentage requires an + // infrastructure update of the compute environment. For more information, see + // Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. This parameter isn't applicable to jobs that are + // running on Fargate resources, and shouldn't be specified. + BidPercentage *int32 + + // The desired number of Amazon EC2 vCPUS in the compute environment. Batch + // modifies this value between the minimum and maximum values based on job queue + // demand. This parameter isn't applicable to jobs that are running on Fargate + // resources, and shouldn't be specified. DesiredvCpus *int32 + // Provides information used to select Amazon Machine Images (AMIs) for EC2 + // instances in the compute environment. If Ec2Configuration isn't specified, the + // default is ECS_AL2. When updating a compute environment, changing this setting + // requires an infrastructure update of the compute environment. For more + // information, see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. To remove the EC2 configuration and any custom AMI ID + // specified in imageIdOverride, set this value to an empty string. One or two + // values can be provided. This parameter isn't applicable to jobs that are running + // on Fargate resources, and shouldn't be specified. + Ec2Configuration []Ec2Configuration + + // The Amazon EC2 key pair that's used for instances launched in the compute + // environment. You can use this key pair to log in to your instances with SSH. To + // remove the Amazon EC2 key pair, set this value to an empty string. When updating + // a compute environment, changing the EC2 key pair requires an infrastructure + // update of the compute environment. For more information, see Updating compute + // environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. This parameter isn't applicable to jobs that are + // running on Fargate resources, and shouldn't be specified. + Ec2KeyPair *string + + // The Amazon Machine Image (AMI) ID used for instances launched in the compute + // environment. This parameter is overridden by the imageIdOverride member of the + // Ec2Configuration structure. To remove the custom AMI ID and use the default AMI + // ID, set this value to an empty string. When updating a compute environment, + // changing the AMI ID requires an infrastructure update of the compute + // environment. For more information, see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. This parameter isn't applicable to jobs that are + // running on Fargate resources, and shouldn't be specified. The AMI that you + // choose for a compute environment must match the architecture of the instance + // types that you intend to use for that compute environment. For example, if your + // compute environment uses A1 instance types, the compute resource AMI that you + // choose must support ARM instances. Amazon ECS vends both x86 and ARM versions of + // the Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see Amazon + // ECS-optimized Amazon Linux 2 AMI + // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux-variants.html) + // in the Amazon Elastic Container Service Developer Guide. + ImageId *string + + // The Amazon ECS instance profile applied to Amazon EC2 instances in a compute + // environment. You can specify the short name or full Amazon Resource Name (ARN) + // of an instance profile. For example, ecsInstanceRole or + // arn:aws:iam:::instance-profile/ecsInstanceRole . For more information, see + // Amazon ECS instance role + // (https://docs.aws.amazon.com/batch/latest/userguide/instance_IAM_role.html) in + // the Batch User Guide. When updating a compute environment, changing this setting + // requires an infrastructure update of the compute environment. For more + // information, see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. This parameter isn't applicable to jobs that are + // running on Fargate resources, and shouldn't be specified. + InstanceRole *string + + // The instances types that can be launched. You can specify instance families to + // launch any instance type within those families (for example, c5 or p3), or you + // can specify specific sizes within a family (such as c5.8xlarge). You can also + // choose optimal to select instance types (from the C4, M4, and R4 instance + // families) that match the demand of your job queues. When updating a compute + // environment, changing this setting requires an infrastructure update of the + // compute environment. For more information, see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. This parameter isn't applicable to jobs that are + // running on Fargate resources, and shouldn't be specified. When you create a + // compute environment, the instance types that you select for the compute + // environment must share the same architecture. For example, you can't mix x86 and + // ARM instances in the same compute environment. Currently, optimal uses instance + // types from the C4, M4, and R4 instance families. In Regions that don't have + // instance types from those instance families, instance types from the C5, M5. and + // R5 instance families are used. + InstanceTypes []string + + // The updated launch template to use for your compute resources. You must specify + // either the launch template ID or launch template name in the request, but not + // both. For more information, see Launch template support + // (https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) in + // the Batch User Guide. To remove the custom launch template and use the default + // launch template, set launchTemplateId or launchTemplateName member of the launch + // template specification to an empty string. Removing the launch template from a + // compute environment will not remove the AMI specified in the launch template. In + // order to update the AMI specified in a launch template, the + // updateToLatestImageVersion parameter must be set to true. When updating a + // compute environment, changing the launch template requires an infrastructure + // update of the compute environment. For more information, see Updating compute + // environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. This parameter isn't applicable to jobs that are + // running on Fargate resources, and shouldn't be specified. + LaunchTemplate *LaunchTemplateSpecification + // The maximum number of Amazon EC2 vCPUs that an environment can reach. With both // BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED allocation strategies, Batch // might need to exceed maxvCpus to meet your capacity requirements. In this event, @@ -414,26 +555,92 @@ type ComputeResourceUpdate struct { // than a single instance from among those specified in your compute environment. MaxvCpus *int32 - // The minimum number of Amazon EC2 vCPUs that an environment should maintain. This - // parameter isn't applicable to jobs that are running on Fargate resources, and - // shouldn't be specified. + // The minimum number of Amazon EC2 vCPUs that an environment should maintain (even + // if the compute environment is DISABLED). This parameter isn't applicable to jobs + // that are running on Fargate resources, and shouldn't be specified. MinvCpus *int32 + // The Amazon EC2 placement group to associate with your compute resources. If you + // intend to submit multi-node parallel jobs to your compute environment, you + // should consider creating a cluster placement group and associate it with your + // compute resources. This keeps your multi-node parallel job on a logical grouping + // of instances within a single Availability Zone with high network flow potential. + // For more information, see Placement groups + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in + // the Amazon EC2 User Guide for Linux Instances. When updating a compute + // environment, changing the placement group requires an infrastructure update of + // the compute environment. For more information, see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. This parameter isn't applicable to jobs that are + // running on Fargate resources, and shouldn't be specified. + PlacementGroup *string + // The Amazon EC2 security groups associated with instances launched in the compute // environment. This parameter is required for Fargate compute resources, where it - // can contain up to 5 security groups. This can't be specified for EC2 compute - // resources. Providing an empty list is handled as if this parameter wasn't - // specified and no change is made. + // can contain up to 5 security groups. For Fargate compute resources, providing an + // empty list is handled as if this parameter wasn't specified and no change is + // made. For EC2 compute resources, providing an empty list removes the security + // groups from the compute resource. When updating a compute environment, changing + // the EC2 security groups requires an infrastructure update of the compute + // environment. For more information, see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. SecurityGroupIds []string // The VPC subnets where the compute resources are launched. Fargate compute - // resources can contain up to 16 subnets. Providing an empty list will be handled - // as if this parameter wasn't specified and no change is made. This can't be - // specified for EC2 compute resources. For more information, see VPCs and Subnets - // (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) in the - // Amazon VPC User Guide. + // resources can contain up to 16 subnets. For Fargate compute resources, providing + // an empty list will be handled as if this parameter wasn't specified and no + // change is made. For EC2 compute resources, providing an empty list removes the + // VPC subnets from the compute resource. For more information, see VPCs and + // subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) in + // the Amazon VPC User Guide. When updating a compute environment, changing the VPC + // subnets requires an infrastructure update of the compute environment. For more + // information, see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. Subnets []string + // Key-value pair tags to be applied to EC2 resources that are launched in the + // compute environment. For Batch, these take the form of "String1": "String2", + // where String1 is the tag key and String2 is the tag value−for example, { "Name": + // "Batch Instance - C4OnDemand" }. This is helpful for recognizing your Batch + // instances in the Amazon EC2 console. These tags aren't seen when using the Batch + // ListTagsForResource API operation. When updating a compute environment, changing + // this setting requires an infrastructure update of the compute environment. For + // more information, see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. This parameter isn't applicable to jobs that are + // running on Fargate resources, and shouldn't be specified. + Tags map[string]string + + // The type of compute environment: EC2, SPOT, FARGATE, or FARGATE_SPOT. For more + // information, see Compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) + // in the Batch User Guide. If you choose SPOT, you must also specify an Amazon EC2 + // Spot Fleet role with the spotIamFleetRole parameter. For more information, see + // Amazon EC2 spot fleet role + // (https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html) in + // the Batch User Guide. When updating a compute environment, changing the type of + // a compute environment requires an infrastructure update of the compute + // environment. For more information, see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. + Type CRType + + // Specifies whether the AMI ID is updated to the latest one that's supported by + // Batch when the compute environment has an infrastructure update. The default + // value is false. If an AMI ID is specified in the imageId or imageIdOverride + // parameters or by the launch template specified in the launchTemplate parameter, + // this parameter is ignored. For more information on updating AMI IDs during an + // infrastructure update, see Updating the AMI ID + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html#updating-compute-environments-ami) + // in the Batch User Guide. When updating a compute environment, changing this + // setting requires an infrastructure update of the compute environment. For more + // information, see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. + UpdateToLatestImageVersion *bool + noSmithyDocumentSerde } @@ -504,8 +711,8 @@ type ContainerDetail struct { // container agent running on a container instance must register the logging // drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS // environment variable before containers placed on that instance can use these log - // configuration options. For more information, see Amazon ECS Container Agent - // Configuration + // configuration options. For more information, see Amazon ECS container agent + // configuration // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) // in the Amazon Elastic Container Service Developer Guide. LogConfiguration *LogConfiguration @@ -732,7 +939,7 @@ type ContainerProperties struct { InstanceType *string // The Amazon Resource Name (ARN) of the IAM role that the container can assume for - // Amazon Web Services permissions. For more information, see IAM Roles for Tasks + // Amazon Web Services permissions. For more information, see IAM roles for tasks // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) // in the Amazon Elastic Container Service Developer Guide. JobRoleArn *string @@ -764,7 +971,7 @@ type ContainerProperties struct { // running on a container instance must register the logging drivers available on // that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before // containers placed on that instance can use these log configuration options. For - // more information, see Amazon ECS Container Agent Configuration + // more information, see Amazon ECS container agent configuration // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) // in the Amazon Elastic Container Service Developer Guide. LogConfiguration *LogConfiguration @@ -901,7 +1108,10 @@ type Ec2Configuration struct { // imageIdOverride parameter isn't specified, then a recent Amazon ECS-optimized // Amazon Linux 2 AMI // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami) - // (ECS_AL2) is used. ECS_AL2 Amazon Linux 2 + // (ECS_AL2) is used. If a new image type is specified in an update, but neither an + // imageId nor a imageIdOverride parameter is specified, then the latest Amazon ECS + // optimized AMI for that image type that's supported by Batch is used. ECS_AL2 + // Amazon Linux 2 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami)− // Default for all non-GPU instance families. ECS_AL2_NVIDIA Amazon Linux 2 (GPU) // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami)−Default @@ -916,7 +1126,14 @@ type Ec2Configuration struct { // The AMI ID used for instances launched in the compute environment that match the // image type. This setting overrides the imageId set in the computeResource - // object. + // object. The AMI that you choose for a compute environment must match the + // architecture of the instance types that you intend to use for that compute + // environment. For example, if your compute environment uses A1 instance types, + // the compute resource AMI that you choose must support ARM instances. Amazon ECS + // vends both x86 and ARM versions of the Amazon ECS-optimized Amazon Linux 2 AMI. + // For more information, see Amazon ECS-optimized Amazon Linux 2 AMI + // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux-variants.html) + // in the Amazon Elastic Container Service Developer Guide. ImageIdOverride *string noSmithyDocumentSerde @@ -929,16 +1146,16 @@ type EFSAuthorizationConfig struct { // directory value specified in the EFSVolumeConfiguration must either be omitted // or set to / which will enforce the path set on the EFS access point. If an // access point is used, transit encryption must be enabled in the - // EFSVolumeConfiguration. For more information, see Working with Amazon EFS Access - // Points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) in the + // EFSVolumeConfiguration. For more information, see Working with Amazon EFS access + // points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) in the // Amazon Elastic File System User Guide. AccessPointId *string // Whether or not to use the Batch job IAM role defined in a job definition when // mounting the Amazon EFS file system. If enabled, transit encryption must be // enabled in the EFSVolumeConfiguration. If this parameter is omitted, the default - // value of DISABLED is used. For more information, see Using Amazon EFS Access - // Points + // value of DISABLED is used. For more information, see Using Amazon EFS access + // points // (https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html#efs-volume-accesspoints) // in the Batch User Guide. EFS IAM authorization requires that TransitEncryption // be ENABLED and that a JobRoleArn is specified. @@ -981,7 +1198,7 @@ type EFSVolumeConfiguration struct { // The port to use when sending encrypted data between the Amazon ECS host and the // Amazon EFS server. If you don't specify a transit encryption port, it uses the // port selection strategy that the Amazon EFS mount helper uses. The value must be - // between 0 and 65,535. For more information, see EFS Mount Helper + // between 0 and 65,535. For more information, see EFS mount helper // (https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) in the Amazon // Elastic File System User Guide. TransitEncryptionPort *int32 @@ -1129,7 +1346,7 @@ type JobDefinition struct { // job definition. Parameters are specified as a key-value pair mapping. Parameters // in a SubmitJob request override any corresponding parameter defaults from the // job definition. For more information about specifying parameters, see Job - // Definition Parameters + // definition parameters // (https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html) // in the Batch User Guide. Parameters map[string]string @@ -1184,7 +1401,7 @@ type JobDependency struct { // An object representing an Batch job. type JobDetail struct { - // The job definition that's used by this job. + // The Amazon Resource Name (ARN) of the job definition that's used by this job. // // This member is required. JobDefinition *string @@ -1212,7 +1429,7 @@ type JobDetail struct { StartedAt *int64 // The current status for the job. If your jobs don't progress to STARTING, see - // Jobs Stuck in RUNNABLE Status + // Jobs stuck in RUNNABLE status // (https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#job_stuck_in_runnable) // in the troubleshooting section of the Batch User Guide. // @@ -1462,13 +1679,18 @@ type LaunchTemplateSpecification struct { // The version number of the launch template, $Latest, or $Default. If the value is // $Latest, the latest version of the launch template is used. If the value is - // $Default, the default version of the launch template is used. After the compute - // environment is created, the launch template version that's used isn't changed, - // even if the $Default or $Latest version for the launch template is updated. To - // use a new launch template version, create a new compute environment, add the new - // compute environment to the existing job queue, remove the old compute - // environment from the job queue, and delete the old compute environment. Default: - // $Default. + // $Default, the default version of the launch template is used. If the AMI ID + // that's used in a compute environment is from the launch template, the AMI isn't + // changed when the compute environment is updated. It's only changed if the + // updateToLatestImageVersion parameter for the compute environment is set to true. + // During an infrastructure update, if either $Latest or $Default is specified, + // Batch re-evaluates the launch template version, and it might use a different + // version of the launch template. This is the case even if the launch template + // isn't specified in the update. When updating a compute environment, changing the + // launch template requires an infrastructure update of the compute environment. + // For more information, see Updating compute environments + // (https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) + // in the Batch User Guide. Default: $Default. Version *string noSmithyDocumentSerde @@ -1530,7 +1752,7 @@ type LinuxParameters struct { // enabled and allocated on the container instance for the containers to use. The // Amazon ECS optimized AMIs don't have swap enabled by default. You must enable // swap on the instance to use this feature. For more information, see Instance - // Store Swap Volumes + // store swap volumes // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-store-swap-volumes.html) // in the Amazon EC2 User Guide for Linux Instances or How do I allocate memory to // work as swap space in an Amazon EC2 instance by using a swap file? @@ -1567,7 +1789,7 @@ type LogConfiguration struct { // json-file, journald, logentries, syslog, and splunk. Jobs that are running on // Fargate resources are restricted to the awslogs and splunk log drivers. awslogs // Specifies the Amazon CloudWatch Logs logging driver. For more information, see - // Using the awslogs Log Driver + // Using the awslogs log driver // (https://docs.aws.amazon.com/batch/latest/userguide/using_awslogs.html) in the // Batch User Guide and Amazon CloudWatch Logs logging driver // (https://docs.docker.com/config/containers/logging/awslogs/) in the Docker @@ -1611,7 +1833,7 @@ type LogConfiguration struct { Options map[string]string // The secrets to pass to the log configuration. For more information, see - // Specifying Sensitive Data + // Specifying sensitive data // (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html) // in the Batch User Guide. SecretOptions []Secret @@ -1823,7 +2045,7 @@ type ResourceRequirement struct { // Docker Remote API (https://docs.docker.com/engine/api/v1.23/) and the --memory // option to docker run (https://docs.docker.com/engine/reference/run/). If you're // trying to maximize your resource utilization by providing your jobs as much - // memory as possible for a particular instance type, see Memory Management + // memory as possible for a particular instance type, see Memory management // (https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html) in // the Batch User Guide. For jobs that are running on Fargate resources, then value // is the hard limit (in MiB), and must match one of the supported values and the @@ -1895,7 +2117,7 @@ type SchedulingPolicyDetail struct { // The tags that you apply to the scheduling policy to categorize and organize your // resources. Each tag consists of a key and an optional value. For more - // information, see Tagging Amazon Web Services Resources + // information, see Tagging Amazon Web Services resources // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in Amazon Web // Services General Reference. Tags map[string]string @@ -2024,6 +2246,23 @@ type Ulimit struct { noSmithyDocumentSerde } +// Specifies the infrastructure update policy for the compute environment. For more +// information about infrastructure updates, see Infrastructure updates +// (https://docs.aws.amazon.com/batch/latest/userguide/infrastructure-updates.html) +// in the Batch User Guide. +type UpdatePolicy struct { + + // Specifies the job timeout, in minutes, when the compute environment + // infrastructure is updated. The default value is 30. + JobExecutionTimeoutMinutes int64 + + // Specifies whether jobs are automatically terminated when the computer + // environment infrastructure is updated. The default value is false. + TerminateJobsOnUpdate *bool + + noSmithyDocumentSerde +} + // A data volume used in a job's container properties. type Volume struct { diff --git a/service/batch/validators.go b/service/batch/validators.go index 9d901d0ec05..490d30e2311 100644 --- a/service/batch/validators.go +++ b/service/batch/validators.go @@ -527,6 +527,23 @@ func validateComputeResource(v *types.ComputeResource) error { } } +func validateComputeResourceUpdate(v *types.ComputeResourceUpdate) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ComputeResourceUpdate"} + if v.Ec2Configuration != nil { + if err := validateEc2ConfigurationList(v.Ec2Configuration); err != nil { + invalidParams.AddNested("Ec2Configuration", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateContainerOverrides(v *types.ContainerOverrides) error { if v == nil { return nil @@ -1420,6 +1437,11 @@ func validateOpUpdateComputeEnvironmentInput(v *UpdateComputeEnvironmentInput) e if v.ComputeEnvironment == nil { invalidParams.Add(smithy.NewErrParamRequired("ComputeEnvironment")) } + if v.ComputeResources != nil { + if err := validateComputeResourceUpdate(v.ComputeResources); err != nil { + invalidParams.AddNested("ComputeResources", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { diff --git a/service/cloudwatch/api_op_GetMetricStream.go b/service/cloudwatch/api_op_GetMetricStream.go index 609b7459071..0133e3192d4 100644 --- a/service/cloudwatch/api_op_GetMetricStream.go +++ b/service/cloudwatch/api_op_GetMetricStream.go @@ -79,8 +79,8 @@ type GetMetricStreamOutput struct { State *string // Each entry in this array displays information about one or more metrics that - // include extended statistics in the metric stream. For more information about - // extended statistics, see CloudWatch statistics definitions + // include additional statistics in the metric stream. For more information about + // the additional statistics, see CloudWatch statistics definitions // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html.html). StatisticsConfigurations []types.MetricStreamStatisticsConfiguration diff --git a/service/cloudwatch/api_op_PutMetricAlarm.go b/service/cloudwatch/api_op_PutMetricAlarm.go index 2ee51b59f9a..7c24b96b251 100644 --- a/service/cloudwatch/api_op_PutMetricAlarm.go +++ b/service/cloudwatch/api_op_PutMetricAlarm.go @@ -243,7 +243,10 @@ type PutMetricAlarmInput struct { // omitted, the default behavior of missing is used. For more information, see // Configuring How CloudWatch Alarms Treats Missing Data // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data). - // Valid Values: breaching | notBreaching | ignore | missing + // Valid Values: breaching | notBreaching | ignore | missing Alarms that evaluate + // metrics in the AWS/DynamoDB namespace always ignore missing data even if you + // choose a different option for TreatMissingData. When an AWS/DynamoDB metric has + // missing data, alarms that evaluate that metric remain in their current state. TreatMissingData *string // The unit of measure for the statistic. For example, the units for the Amazon EC2 diff --git a/service/cloudwatch/api_op_PutMetricStream.go b/service/cloudwatch/api_op_PutMetricStream.go index 863d6fca6e0..dd163870cc2 100644 --- a/service/cloudwatch/api_op_PutMetricStream.go +++ b/service/cloudwatch/api_op_PutMetricStream.go @@ -32,9 +32,9 @@ import ( // By // default, a metric stream always sends the MAX, MIN, SUM, and SAMPLECOUNT // statistics for each metric that is streamed. You can use the -// StatisticsConfigurations parameter to have the metric stream also send extended -// statistics in the stream. Streaming extended statistics incurs additional costs. -// For more information, see Amazon CloudWatch Pricing +// StatisticsConfigurations parameter to have the metric stream also send +// additional statistics in the stream. Streaming additional statistics incurs +// additional costs. For more information, see Amazon CloudWatch Pricing // (https://aws.amazon.com/cloudwatch/pricing/). When you use PutMetricStream to // create a new metric stream, the stream is created in the running state. If you // use it to update an existing stream, the state of the stream is not changed. @@ -102,15 +102,15 @@ type PutMetricStreamInput struct { // By default, a metric stream always sends the MAX, MIN, SUM, and SAMPLECOUNT // statistics for each metric that is streamed. You can use this parameter to have - // the metric stream also send extended statistics in the stream. This array can + // the metric stream also send additional statistics in the stream. This array can // have up to 100 members. For each entry in this array, you specify one or more - // metrics and the list of extended statistics to stream for those metrics. The - // extended statistics that you can stream depend on the stream's OutputFormat. If - // the OutputFormat is json, you can stream any extended statistic that is + // metrics and the list of additional statistics to stream for those metrics. The + // additional statistics that you can stream depend on the stream's OutputFormat. + // If the OutputFormat is json, you can stream any additional statistic that is // supported by CloudWatch, listed in CloudWatch statistics definitions // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html.html). // If the OutputFormat is opentelemetry0.7, you can stream percentile statistics - // (p??). + // such as p95, p99.9 and so on. StatisticsConfigurations []types.MetricStreamStatisticsConfiguration // A list of key-value pairs to associate with the metric stream. You can associate diff --git a/service/cloudwatch/types/types.go b/service/cloudwatch/types/types.go index fb0360db5c1..9e118c0341b 100644 --- a/service/cloudwatch/types/types.go +++ b/service/cloudwatch/types/types.go @@ -822,30 +822,29 @@ type MetricStreamFilter struct { // By default, a metric stream always sends the MAX, MIN, SUM, and SAMPLECOUNT // statistics for each metric that is streamed. This structure contains information -// for one metric that includes extended statistics in the stream. For more -// information about extended statistics, see CloudWatch, listed in CloudWatch -// statistics definitions +// for one metric that includes additional statistics in the stream. For more +// information about statistics, see CloudWatch, listed in CloudWatch statistics +// definitions // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html.html). type MetricStreamStatisticsConfiguration struct { - // The list of extended statistics that are to be streamed for the metrics listed + // The list of additional statistics that are to be streamed for the metrics listed // in the IncludeMetrics array in this structure. This list can include as many as // 20 statistics. If the OutputFormat for the stream is opentelemetry0.7, the only // valid values are p?? percentile statistics such as p90, p99 and so on. If the - // OutputFormat for the stream is json, the valid values are include the - // abbreviations for all of the extended statistics listed in CloudWatch - // statistics definitions + // OutputFormat for the stream is json, the valid values include the abbreviations + // for all of the statistics listed in CloudWatch statistics definitions // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html.html). // For example, this includes tm98, wm90, PR(:300), and so on. // // This member is required. AdditionalStatistics []string - // An array of metric name and namespace pairs that stream the extended statistics - // listed in the value of the AdditionalStatistics parameter. There can be as many - // as 100 pairs in the array. All metrics that match the combination of metric name - // and namespace will be streamed with the extended statistics, no matter their - // dimensions. + // An array of metric name and namespace pairs that stream the additional + // statistics listed in the value of the AdditionalStatistics parameter. There can + // be as many as 100 pairs in the array. All metrics that match the combination of + // metric name and namespace will be streamed with the additional statistics, no + // matter their dimensions. // // This member is required. IncludeMetrics []MetricStreamStatisticsMetric @@ -853,8 +852,8 @@ type MetricStreamStatisticsConfiguration struct { noSmithyDocumentSerde } -// This object contains the information for one metric that is to streamed with -// extended statistics. +// This object contains the information for one metric that is to be streamed with +// additional statistics. type MetricStreamStatisticsMetric struct { // The name of the metric. @@ -862,7 +861,7 @@ type MetricStreamStatisticsMetric struct { // This member is required. MetricName *string - // The metric namespace for the metric. + // The namespace of the metric. // // This member is required. Namespace *string diff --git a/service/ec2/api_op_CreateCustomerGateway.go b/service/ec2/api_op_CreateCustomerGateway.go index fa162da0dd3..1530baab823 100644 --- a/service/ec2/api_op_CreateCustomerGateway.go +++ b/service/ec2/api_op_CreateCustomerGateway.go @@ -19,27 +19,13 @@ import ( // behind a device performing network address translation (NAT). For devices that // use Border Gateway Protocol (BGP), you can also provide the device's BGP // Autonomous System Number (ASN). You can use an existing ASN assigned to your -// network. If you don't have an ASN already, you can use a private ASN (in the -// 64512 - 65534 range). Amazon EC2 supports all 4-byte ASN numbers in the range of -// 1 - 2147483647, with the exception of the following: -// -// * 7224 - reserved in the -// us-east-1 Region -// -// * 9059 - reserved in the eu-west-1 Region -// -// * 17943 - reserved -// in the ap-southeast-1 Region -// -// * 10124 - reserved in the ap-northeast-1 -// Region -// -// For more information, see Amazon Web Services Site-to-Site VPN -// (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the Amazon Web -// Services Site-to-Site VPN User Guide. To create more than one customer gateway -// with the same VPN type, IP address, and BGP ASN, specify a unique device name -// for each customer gateway. Identical requests return information about the -// existing customer gateway and do not create new customer gateways. +// network. If you don't have an ASN already, you can use a private ASN. For more +// information, see Customer gateway options for your Site-to-Site VPN connection +// (https://docs.aws.amazon.com/vpn/latest/s2svpn/cgw-options.html) in the Amazon +// Web Services Site-to-Site VPN User Guide. To create more than one customer +// gateway with the same VPN type, IP address, and BGP ASN, specify a unique device +// name for each customer gateway. An identical request returns information about +// the existing customer gateway; it doesn't create a new customer gateway. func (c *Client) CreateCustomerGateway(ctx context.Context, params *CreateCustomerGatewayInput, optFns ...func(*Options)) (*CreateCustomerGatewayOutput, error) { if params == nil { params = &CreateCustomerGatewayInput{} diff --git a/service/ec2/api_op_CreateImage.go b/service/ec2/api_op_CreateImage.go index 4b7b158309a..594ee054157 100644 --- a/service/ec2/api_op_CreateImage.go +++ b/service/ec2/api_op_CreateImage.go @@ -12,17 +12,19 @@ import ( ) // Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is -// either running or stopped. By default, Amazon EC2 shuts down and reboots the -// instance before creating the AMI to ensure that everything on the instance is -// stopped and in a consistent state during the creation process. If you're -// confident that your instance is in a consistent state appropriate for AMI -// creation, use the NoReboot parameter to prevent Amazon EC2 from shutting down -// and rebooting the instance. If you customized your instance with instance store -// volumes or Amazon EBS volumes in addition to the root device volume, the new AMI -// contains block device mapping information for those volumes. When you launch an -// instance from this new AMI, the instance automatically launches with those -// additional volumes. For more information, see Creating Amazon EBS-Backed Linux -// AMIs +// either running or stopped. By default, when Amazon EC2 creates the new AMI, it +// reboots the instance so that it can take snapshots of the attached volumes while +// data is at rest, in order to ensure a consistent state. You can set the NoReboot +// parameter to true in the API request, or use the --no-reboot option in the CLI +// to prevent Amazon EC2 from shutting down and rebooting the instance. If you +// choose to bypass the shutdown and reboot process by setting the NoReboot +// parameter to true in the API request, or by using the --no-reboot option in the +// CLI, we can't guarantee the file system integrity of the created image. If you +// customized your instance with instance store volumes or Amazon EBS volumes in +// addition to the root device volume, the new AMI contains block device mapping +// information for those volumes. When you launch an instance from this new AMI, +// the instance automatically launches with those additional volumes. For more +// information, see Creating Amazon EBS-Backed Linux AMIs // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html) // in the Amazon Elastic Compute Cloud User Guide. func (c *Client) CreateImage(ctx context.Context, params *CreateImageInput, optFns ...func(*Options)) (*CreateImageOutput, error) { @@ -68,12 +70,15 @@ type CreateImageInput struct { // UnauthorizedOperation. DryRun *bool - // By default, Amazon EC2 attempts to shut down and reboot the instance before - // creating the image. If the No Reboot option is set, Amazon EC2 doesn't shut down - // the instance before creating the image. Without a reboot, the AMI will be crash - // consistent (all the volumes are snapshotted at the same time), but not - // application consistent (all the operating system buffers are not flushed to disk - // before the snapshots are created). + // By default, when Amazon EC2 creates the new AMI, it reboots the instance so that + // it can take snapshots of the attached volumes while data is at rest, in order to + // ensure a consistent state. You can set the NoReboot parameter to true in the API + // request, or use the --no-reboot option in the CLI to prevent Amazon EC2 from + // shutting down and rebooting the instance. If you choose to bypass the shutdown + // and reboot process by setting the NoReboot parameter to true in the API request, + // or by using the --no-reboot option in the CLI, we can't guarantee the file + // system integrity of the created image. Default: false (follow standard reboot + // process) NoReboot *bool // The tags to apply to the AMI and snapshots on creation. You can tag the AMI, the diff --git a/service/ec2/api_op_CreateIpam.go b/service/ec2/api_op_CreateIpam.go index ee79b178af8..d0651778680 100644 --- a/service/ec2/api_op_CreateIpam.go +++ b/service/ec2/api_op_CreateIpam.go @@ -12,7 +12,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Create an IPAM. Amazon VCP IP Address Manager (IPAM) is a VPC feature that you +// Create an IPAM. Amazon VPC IP Address Manager (IPAM) is a VPC feature that you // can use to automate your IP address management workflows including assigning, // tracking, troubleshooting, and auditing IP addresses across Amazon Web Services // Regions and accounts throughout your Amazon Web Services Organization. For more diff --git a/service/ec2/api_op_CreateKeyPair.go b/service/ec2/api_op_CreateKeyPair.go index e0fb26bbd7a..2d524850e5f 100644 --- a/service/ec2/api_op_CreateKeyPair.go +++ b/service/ec2/api_op_CreateKeyPair.go @@ -51,7 +51,7 @@ type CreateKeyPairInput struct { DryRun *bool // The type of key pair. Note that ED25519 keys are not supported for Windows - // instances, EC2 Instance Connect, and EC2 Serial Console. Default: rsa + // instances. Default: rsa KeyType types.KeyType // The tags to apply to the new key pair. diff --git a/service/ec2/api_op_CreateLaunchTemplate.go b/service/ec2/api_op_CreateLaunchTemplate.go index a79f3a27811..7b1f429a433 100644 --- a/service/ec2/api_op_CreateLaunchTemplate.go +++ b/service/ec2/api_op_CreateLaunchTemplate.go @@ -16,6 +16,12 @@ import ( // launch template instead of providing the launch parameters in the request. For // more information, see Launching an instance from a launch template // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) +// in the Amazon Elastic Compute Cloud User Guide. If you want to clone an existing +// launch template as the basis for creating a new launch template, you can use the +// Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. +// For more information, see Create a launch template from an existing launch +// template +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template-from-existing-launch-template) // in the Amazon Elastic Compute Cloud User Guide. func (c *Client) CreateLaunchTemplate(ctx context.Context, params *CreateLaunchTemplateInput, optFns ...func(*Options)) (*CreateLaunchTemplateOutput, error) { if params == nil { diff --git a/service/ec2/api_op_CreateVpcEndpoint.go b/service/ec2/api_op_CreateVpcEndpoint.go index b27d72869b0..78eb5eb64c3 100644 --- a/service/ec2/api_op_CreateVpcEndpoint.go +++ b/service/ec2/api_op_CreateVpcEndpoint.go @@ -14,20 +14,9 @@ import ( // Creates a VPC endpoint for a specified service. An endpoint enables you to // create a private connection between your VPC and the service. The service may be // provided by Amazon Web Services, an Amazon Web Services Marketplace Partner, or -// another Amazon Web Services account. For more information, see VPC Endpoints -// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) in the -// Amazon Virtual Private Cloud User Guide. A gateway endpoint serves as a target -// for a route in your route table for traffic destined for the Amazon Web Service. -// You can specify an endpoint policy to attach to the endpoint, which will control -// access to the service from your VPC. You can also specify the VPC route tables -// that use the endpoint. An interface endpoint is a network interface in your -// subnet that serves as an endpoint for communicating with the specified service. -// You can specify the subnets in which to create an endpoint, and the security -// groups to associate with the endpoint network interface. A GatewayLoadBalancer -// endpoint is a network interface in your subnet that serves an endpoint for -// communicating with a Gateway Load Balancer that you've configured as a VPC -// endpoint service. Use DescribeVpcEndpointServices to get a list of supported -// services. +// another Amazon Web Services account. For more information, see the Amazon Web +// Services PrivateLink Guide +// (https://docs.aws.amazon.com/vpc/latest/privatelink/). func (c *Client) CreateVpcEndpoint(ctx context.Context, params *CreateVpcEndpointInput, optFns ...func(*Options)) (*CreateVpcEndpointOutput, error) { if params == nil { params = &CreateVpcEndpointInput{} diff --git a/service/ec2/api_op_CreateVpcEndpointServiceConfiguration.go b/service/ec2/api_op_CreateVpcEndpointServiceConfiguration.go index 5cef6b15f1e..dfb3d706729 100644 --- a/service/ec2/api_op_CreateVpcEndpointServiceConfiguration.go +++ b/service/ec2/api_op_CreateVpcEndpointServiceConfiguration.go @@ -11,28 +11,23 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Creates a VPC endpoint service configuration to which service consumers (Amazon -// Web Services accounts, IAM users, and IAM roles) can connect. To create an -// endpoint service configuration, you must first create one of the following for -// your service: +// Creates a VPC endpoint service to which service consumers (Amazon Web Services +// accounts, IAM users, and IAM roles) can connect. Before you create an endpoint +// service, you must create one of the following for your service: // -// * A Network Load Balancer -// (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html). -// Service consumers connect to your service using an interface endpoint. +// * A Network +// Load Balancer +// (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/). Service +// consumers connect to your service using an interface endpoint. // -// * A -// Gateway Load Balancer -// (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/introduction.html). +// * A Gateway Load +// Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/). // Service consumers connect to your service using a Gateway Load Balancer // endpoint. // -// For more information, see VPC Endpoint Services -// (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html) in the -// Amazon Virtual Private Cloud User Guide. If you set the private DNS name, you -// must prove that you own the private DNS domain name. For more information, see -// VPC Endpoint Service Private DNS Name Verification -// (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html) -// in the Amazon Virtual Private Cloud User Guide. +// If you set the private DNS name, you must prove that you own the +// private DNS domain name. For more information, see the Amazon Web Services +// PrivateLink Guide (https://docs.aws.amazon.com/vpc/latest/privatelink/). func (c *Client) CreateVpcEndpointServiceConfiguration(ctx context.Context, params *CreateVpcEndpointServiceConfigurationInput, optFns ...func(*Options)) (*CreateVpcEndpointServiceConfigurationOutput, error) { if params == nil { params = &CreateVpcEndpointServiceConfigurationInput{} @@ -51,7 +46,7 @@ func (c *Client) CreateVpcEndpointServiceConfiguration(ctx context.Context, para type CreateVpcEndpointServiceConfigurationInput struct { // Indicates whether requests from service consumers to create an endpoint to your - // service must be accepted. To accept a request, use AcceptVpcEndpointConnections. + // service must be accepted manually. AcceptanceRequired *bool // Unique, case-sensitive identifier that you provide to ensure the idempotency of diff --git a/service/ec2/api_op_DeleteIpam.go b/service/ec2/api_op_DeleteIpam.go index 68240381cc7..d06cca43b8e 100644 --- a/service/ec2/api_op_DeleteIpam.go +++ b/service/ec2/api_op_DeleteIpam.go @@ -12,13 +12,8 @@ import ( ) // Delete an IPAM. Deleting an IPAM removes all monitored data associated with the -// IPAM including the historical data for CIDRs. You cannot delete an IPAM if there -// are CIDRs provisioned to pools or if there are allocations in the pools within -// the IPAM. To deprovision pool CIDRs, see DeprovisionIpamPoolCidr -// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeprovisionIpamPoolCidr.html). -// To release allocations, see ReleaseIpamPoolAllocation -// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ReleaseIpamPoolAllocation.html). -// For more information, see Delete an IPAM in the Amazon VPC IPAM User Guide. +// IPAM including the historical data for CIDRs. For more information, see Delete +// an IPAM in the Amazon VPC IPAM User Guide. func (c *Client) DeleteIpam(ctx context.Context, params *DeleteIpamInput, optFns ...func(*Options)) (*DeleteIpamOutput, error) { if params == nil { params = &DeleteIpamInput{} diff --git a/service/ec2/api_op_DescribeImages.go b/service/ec2/api_op_DescribeImages.go index 7609fbe0df1..e486a1b5fd0 100644 --- a/service/ec2/api_op_DescribeImages.go +++ b/service/ec2/api_op_DescribeImages.go @@ -93,81 +93,86 @@ type DescribeImagesInput struct { // block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS // volume is encrypted. // - // * description - The description of the image (provided - // during image creation). + // * creation-date - The time when the image was created, in + // the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for + // example, 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for example, + // 2021-09-29T*, which matches an entire day. // - // * ena-support - A Boolean that indicates whether - // enhanced networking with ENA is enabled. + // * description - The description of + // the image (provided during image creation). // - // * hypervisor - The hypervisor type - // (ovm | xen). + // * ena-support - A Boolean that + // indicates whether enhanced networking with ENA is enabled. + // + // * hypervisor - The + // hypervisor type (ovm | xen). // // * image-id - The ID of the image. // - // * image-type - The image type - // (machine | kernel | ramdisk). + // * image-type - + // The image type (machine | kernel | ramdisk). // - // * is-public - A Boolean that indicates whether - // the image is public. + // * is-public - A Boolean that + // indicates whether the image is public. // // * kernel-id - The kernel ID. // - // * manifest-location - The - // location of the image manifest. + // * + // manifest-location - The location of the image manifest. // - // * name - The name of the AMI (provided during - // image creation). + // * name - The name of + // the AMI (provided during image creation). // - // * owner-alias - The owner alias (amazon | aws-marketplace). - // The valid aliases are defined in an Amazon-maintained list. This is not the - // Amazon Web Services account alias that can be set using the IAM console. We - // recommend that you use the Owner request parameter instead of this filter. + // * owner-alias - The owner alias + // (amazon | aws-marketplace). The valid aliases are defined in an + // Amazon-maintained list. This is not the Amazon Web Services account alias that + // can be set using the IAM console. We recommend that you use the Owner request + // parameter instead of this filter. // - // * - // owner-id - The Amazon Web Services account ID of the owner. We recommend that - // you use the Owner request parameter instead of this filter. + // * owner-id - The Amazon Web Services account + // ID of the owner. We recommend that you use the Owner request parameter instead + // of this filter. // - // * platform - The - // platform. To only list Windows-based AMIs, use windows. + // * platform - The platform. To only list Windows-based AMIs, use + // windows. // - // * product-code - The - // product code. + // * product-code - The product code. // - // * product-code.type - The type of the product code - // (marketplace). + // * product-code.type - The type of + // the product code (marketplace). // // * ramdisk-id - The RAM disk ID. // - // * root-device-name - The device - // name of the root device volume (for example, /dev/sda1). + // * + // root-device-name - The device name of the root device volume (for example, + // /dev/sda1). // - // * root-device-type - - // The type of the root device volume (ebs | instance-store). + // * root-device-type - The type of the root device volume (ebs | + // instance-store). // - // * state - The state - // of the image (available | pending | failed). + // * state - The state of the image (available | pending | + // failed). // - // * state-reason-code - The reason - // code for the state change. + // * state-reason-code - The reason code for the state change. // - // * state-reason-message - The message for the state - // change. + // * + // state-reason-message - The message for the state change. // - // * sriov-net-support - A value of simple indicates that enhanced - // networking with the Intel 82599 VF interface is enabled. + // * sriov-net-support - + // A value of simple indicates that enhanced networking with the Intel 82599 VF + // interface is enabled. // - // * tag: - The key/value - // combination of a tag assigned to the resource. Use the tag key in the filter - // name and the tag value as the filter value. For example, to find all resources - // that have a tag with the key Owner and the value TeamA, specify tag:Owner for - // the filter name and TeamA for the filter value. + // * tag: - The key/value combination of a tag assigned to + // the resource. Use the tag key in the filter name and the tag value as the filter + // value. For example, to find all resources that have a tag with the key Owner and + // the value TeamA, specify tag:Owner for the filter name and TeamA for the filter + // value. // - // * tag-key - The key of a tag - // assigned to the resource. Use this filter to find all resources assigned a tag - // with a specific key, regardless of the tag value. + // * tag-key - The key of a tag assigned to the resource. Use this filter + // to find all resources assigned a tag with a specific key, regardless of the tag + // value. // - // * virtualization-type - The - // virtualization type (paravirtual | hvm). + // * virtualization-type - The virtualization type (paravirtual | hvm). Filters []types.Filter // The image IDs. Default: Describes all images available to you. diff --git a/service/ec2/api_op_DescribeLocalGatewayVirtualInterfaces.go b/service/ec2/api_op_DescribeLocalGatewayVirtualInterfaces.go index 4dba3ce4b86..29f798acac8 100644 --- a/service/ec2/api_op_DescribeLocalGatewayVirtualInterfaces.go +++ b/service/ec2/api_op_DescribeLocalGatewayVirtualInterfaces.go @@ -50,16 +50,13 @@ type DescribeLocalGatewayVirtualInterfacesInput struct { // local-gateway-virtual-interface-id - The ID of the virtual interface. // // * - // local-gateway-virtual-interface-group-id - The ID of the virtual interface - // group. - // - // * owner-id - The ID of the Amazon Web Services account that owns the - // local gateway virtual interface. + // owner-id - The ID of the Amazon Web Services account that owns the local gateway + // virtual interface. // // * peer-address - The peer address. // - // * - // peer-bgp-asn - The peer BGP ASN. + // * peer-bgp-asn - The + // peer BGP ASN. // // * vlan - The ID of the VLAN. Filters []types.Filter diff --git a/service/ec2/api_op_ModifyVolume.go b/service/ec2/api_op_ModifyVolume.go index 6dc54ef270b..a04f4fb8a77 100644 --- a/service/ec2/api_op_ModifyVolume.go +++ b/service/ec2/api_op_ModifyVolume.go @@ -33,10 +33,10 @@ import ( // using either method, see Monitor the progress of volume modifications // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-modifications.html). // With previous-generation instance types, resizing an EBS volume might require -// detaching and reattaching the volume or stopping and restarting the instance. If -// you reach the maximum volume modification rate per volume limit, you must wait -// at least six hours before applying further modifications to the affected EBS -// volume. +// detaching and reattaching the volume or stopping and restarting the instance. +// After modifying a volume, you must wait at least six hours and ensure that the +// volume is in the in-use or available state before you can modify the same +// volume. This is sometimes referred to as a cooldown period. func (c *Client) ModifyVolume(ctx context.Context, params *ModifyVolumeInput, optFns ...func(*Options)) (*ModifyVolumeOutput, error) { if params == nil { params = &ModifyVolumeInput{} diff --git a/service/ec2/api_op_ModifyVpcEndpoint.go b/service/ec2/api_op_ModifyVpcEndpoint.go index 433a9756ce0..2677259bbbf 100644 --- a/service/ec2/api_op_ModifyVpcEndpoint.go +++ b/service/ec2/api_op_ModifyVpcEndpoint.go @@ -12,9 +12,8 @@ import ( // Modifies attributes of a specified VPC endpoint. The attributes that you can // modify depend on the type of VPC endpoint (interface, gateway, or Gateway Load -// Balancer). For more information, see VPC Endpoints -// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) in the -// Amazon Virtual Private Cloud User Guide. +// Balancer). For more information, see the Amazon Web Services PrivateLink Guide +// (https://docs.aws.amazon.com/vpc/latest/privatelink/). func (c *Client) ModifyVpcEndpoint(ctx context.Context, params *ModifyVpcEndpointInput, optFns ...func(*Options)) (*ModifyVpcEndpointOutput, error) { if params == nil { params = &ModifyVpcEndpointInput{} diff --git a/service/ec2/api_op_ModifyVpcEndpointServiceConfiguration.go b/service/ec2/api_op_ModifyVpcEndpointServiceConfiguration.go index 0ecc3f87e6a..ee7b162d3dc 100644 --- a/service/ec2/api_op_ModifyVpcEndpointServiceConfiguration.go +++ b/service/ec2/api_op_ModifyVpcEndpointServiceConfiguration.go @@ -15,9 +15,6 @@ import ( // and you can specify whether acceptance is required for requests to connect to // your endpoint service through an interface VPC endpoint. If you set or modify // the private DNS name, you must prove that you own the private DNS domain name. -// For more information, see VPC Endpoint Service Private DNS Name Verification -// (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html) -// in the Amazon Virtual Private Cloud User Guide. func (c *Client) ModifyVpcEndpointServiceConfiguration(ctx context.Context, params *ModifyVpcEndpointServiceConfigurationInput, optFns ...func(*Options)) (*ModifyVpcEndpointServiceConfigurationOutput, error) { if params == nil { params = &ModifyVpcEndpointServiceConfigurationInput{} diff --git a/service/ec2/api_op_ModifyVpcEndpointServicePermissions.go b/service/ec2/api_op_ModifyVpcEndpointServicePermissions.go index 2b16be160d2..21a99dc9e40 100644 --- a/service/ec2/api_op_ModifyVpcEndpointServicePermissions.go +++ b/service/ec2/api_op_ModifyVpcEndpointServicePermissions.go @@ -10,14 +10,12 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Modifies the permissions for your VPC endpoint service -// (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html). You -// can add or remove permissions for service consumers (IAM users, IAM roles, and -// Amazon Web Services accounts) to connect to your endpoint service. If you grant -// permissions to all principals, the service is public. Any users who know the -// name of a public service can send a request to attach an endpoint. If the -// service does not require manual approval, attachments are automatically -// approved. +// Modifies the permissions for your VPC endpoint service. You can add or remove +// permissions for service consumers (IAM users, IAM roles, and Amazon Web Services +// accounts) to connect to your endpoint service. If you grant permissions to all +// principals, the service is public. Any users who know the name of a public +// service can send a request to attach an endpoint. If the service does not +// require manual approval, attachments are automatically approved. func (c *Client) ModifyVpcEndpointServicePermissions(ctx context.Context, params *ModifyVpcEndpointServicePermissionsInput, optFns ...func(*Options)) (*ModifyVpcEndpointServicePermissionsOutput, error) { if params == nil { params = &ModifyVpcEndpointServicePermissionsInput{} diff --git a/service/ec2/api_op_RunInstances.go b/service/ec2/api_op_RunInstances.go index 733bb1017a9..4326c633e90 100644 --- a/service/ec2/api_op_RunInstances.go +++ b/service/ec2/api_op_RunInstances.go @@ -324,8 +324,8 @@ type RunInstancesInput struct { // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). TagSpecifications []types.TagSpecification - // The user data to make available to the instance. For more information, see Run - // commands on your Linux instance at launch + // The user data script to make available to the instance. For more information, + // see Run commands on your Linux instance at launch // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) and Run // commands on your Windows instance at launch // (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html). diff --git a/service/ec2/api_op_StartVpcEndpointServicePrivateDnsVerification.go b/service/ec2/api_op_StartVpcEndpointServicePrivateDnsVerification.go index 4fb9984a65f..a5cf995cb09 100644 --- a/service/ec2/api_op_StartVpcEndpointServicePrivateDnsVerification.go +++ b/service/ec2/api_op_StartVpcEndpointServicePrivateDnsVerification.go @@ -14,10 +14,7 @@ import ( // private DNS name domain for the endpoint service. The service provider must // successfully perform the verification before the consumer can use the name to // access the service. Before the service provider runs this command, they must add -// a record to the DNS server. For more information, see Adding a TXT Record to -// Your Domain's DNS Server -// (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html#add-dns-txt-record) -// in the Amazon VPC User Guide. +// a record to the DNS server. func (c *Client) StartVpcEndpointServicePrivateDnsVerification(ctx context.Context, params *StartVpcEndpointServicePrivateDnsVerificationInput, optFns ...func(*Options)) (*StartVpcEndpointServicePrivateDnsVerificationOutput, error) { if params == nil { params = &StartVpcEndpointServicePrivateDnsVerificationInput{} diff --git a/service/ec2/types/types.go b/service/ec2/types/types.go index 213bd1991a7..bf9b811f4f1 100644 --- a/service/ec2/types/types.go +++ b/service/ec2/types/types.go @@ -2653,7 +2653,9 @@ type EbsBlockDevice struct { // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html). KmsKeyId *string - // The ARN of the Outpost on which the snapshot is stored. + // The ARN of the Outpost on which the snapshot is stored. This parameter is only + // supported on BlockDeviceMapping objects called by CreateImage + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html). OutpostArn *string // The ID of the snapshot. @@ -10153,11 +10155,7 @@ type PrivateDnsDetails struct { noSmithyDocumentSerde } -// Information about the private DNS name for the service endpoint. For more -// information about these parameters, see VPC Endpoint Service Private DNS Name -// Verification -// (https://docs.aws.amazon.com/vpc/latest/userguide/ndpoint-services-dns-validation.html) -// in the Amazon Virtual Private Cloud User Guide. +// Information about the private DNS name for the service endpoint. type PrivateDnsNameConfiguration struct { // The name of the record subdomain the service provider needs to create. The @@ -10573,7 +10571,8 @@ type RequestIpamResourceTag struct { noSmithyDocumentSerde } -// The information to include in the launch template. +// The information to include in the launch template. You must specify at least one +// parameter for the launch template data. type RequestLaunchTemplateData struct { // The block device mapping. diff --git a/service/glue/deserializers.go b/service/glue/deserializers.go index 37a968d84ce..759e0094b9e 100644 --- a/service/glue/deserializers.go +++ b/service/glue/deserializers.go @@ -30373,6 +30373,40 @@ func awsAwsjson11_deserializeDocumentJobRun(v **types.JobRun, value interface{}) } } + case "DPUSeconds": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.DPUSeconds = 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.DPUSeconds = ptr.Float64(f64) + + default: + return fmt.Errorf("expected NullableDouble to be a JSON Number, got %T instead", value) + + } + } + case "ErrorMessage": if value != nil { jtv, ok := value.(string) diff --git a/service/glue/types/types.go b/service/glue/types/types.go index 37008945200..ba64c4280be 100644 --- a/service/glue/types/types.go +++ b/service/glue/types/types.go @@ -2108,6 +2108,15 @@ type JobRun struct { // The date and time that this job run completed. CompletedOn *time.Time + // This field populates only when an Auto Scaling job run completes, and represents + // the total time each executor ran during the lifecycle of a job run in seconds, + // multiplied by a DPU factor (1 for G.1X and 2 for G.2X workers). This value may + // be different than the executionEngineRuntime * MaxCapacity as in the case of + // Auto Scaling jobs, as the number of executors running at a given time may be + // less than the MaxCapacity. Therefore, it is possible that the value of + // DPUSeconds is less than executionEngineRuntime * MaxCapacity. + DPUSeconds *float64 + // An error message associated with this job run. ErrorMessage *string diff --git a/service/pinpointsmsvoicev2/internal/endpoints/endpoints.go b/service/pinpointsmsvoicev2/internal/endpoints/endpoints.go index b83adc6b579..2705f0c0cc1 100644 --- a/service/pinpointsmsvoicev2/internal/endpoints/endpoints.go +++ b/service/pinpointsmsvoicev2/internal/endpoints/endpoints.go @@ -134,6 +134,38 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.Aws, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "ap-northeast-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-south-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ca-central-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-central-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-west-2", + }: endpoints.Endpoint{}, + }, }, { ID: "aws-cn", @@ -246,5 +278,10 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsUsGov, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "us-gov-west-1", + }: endpoints.Endpoint{}, + }, }, }