diff --git a/.changelog/27b9505b1aab4fe2838cb2c94faeded9.json b/.changelog/27b9505b1aab4fe2838cb2c94faeded9.json new file mode 100644 index 00000000000..7bc6e8cb5b1 --- /dev/null +++ b/.changelog/27b9505b1aab4fe2838cb2c94faeded9.json @@ -0,0 +1,8 @@ +{ + "id": "27b9505b-1aab-4fe2-838c-b2c94faeded9", + "type": "feature", + "description": "Adds advanced Output Locking options for Epoch Locking: Custom Epoch and Jam Sync Time", + "modules": [ + "service/medialive" + ] +} \ No newline at end of file diff --git a/.changelog/5bdfec315e114b5594e399078974a75d.json b/.changelog/5bdfec315e114b5594e399078974a75d.json new file mode 100644 index 00000000000..46dc87be50c --- /dev/null +++ b/.changelog/5bdfec315e114b5594e399078974a75d.json @@ -0,0 +1,8 @@ +{ + "id": "5bdfec31-5e11-4b55-94e3-99078974a75d", + "type": "feature", + "description": "This release adds 'outpost' location type to the DescribeInstanceTypeOfferings API, allowing customers that have been allowlisted for outpost to query their offerings in the API.", + "modules": [ + "service/ec2" + ] +} \ No newline at end of file diff --git a/.changelog/77804e500d484c67974b9d6242be7f04.json b/.changelog/77804e500d484c67974b9d6242be7f04.json new file mode 100644 index 00000000000..9b75494833a --- /dev/null +++ b/.changelog/77804e500d484c67974b9d6242be7f04.json @@ -0,0 +1,8 @@ +{ + "id": "77804e50-0d48-4c67-974b-9d6242be7f04", + "type": "feature", + "description": "The targeted protection level of the Bot Control managed rule group now provides optional, machine-learning analysis of traffic statistics to detect some bot-related activity. You can enable or disable the machine learning functionality through the API.", + "modules": [ + "service/wafv2" + ] +} \ No newline at end of file diff --git a/.changelog/86c4717014e94878847a47ba10dcaa7a.json b/.changelog/86c4717014e94878847a47ba10dcaa7a.json new file mode 100644 index 00000000000..df0a800a098 --- /dev/null +++ b/.changelog/86c4717014e94878847a47ba10dcaa7a.json @@ -0,0 +1,8 @@ +{ + "id": "86c47170-14e9-4878-847a-47ba10dcaa7a", + "type": "feature", + "description": "Adding OAuth2.0 support for servicenow connector.", + "modules": [ + "service/appflow" + ] +} \ No newline at end of file diff --git a/.changelog/ecde3f14ccae4baba56f9f0f90804ea4.json b/.changelog/ecde3f14ccae4baba56f9f0f90804ea4.json new file mode 100644 index 00000000000..3542ec70b35 --- /dev/null +++ b/.changelog/ecde3f14ccae4baba56f9f0f90804ea4.json @@ -0,0 +1,8 @@ +{ + "id": "ecde3f14-ccae-4bab-a56f-9f0f90804ea4", + "type": "documentation", + "description": "This release enables default UDP connection termination and disabling unhealthy target connection termination for Network Load Balancers.", + "modules": [ + "service/elasticloadbalancingv2" + ] +} \ No newline at end of file diff --git a/service/appflow/serializers.go b/service/appflow/serializers.go index a732755bfc1..40c2b889243 100644 --- a/service/appflow/serializers.go +++ b/service/appflow/serializers.go @@ -4291,6 +4291,13 @@ func awsRestjson1_serializeDocumentServiceNowConnectorProfileCredentials(v *type object := value.Object() defer object.Close() + if v.OAuth2Credentials != nil { + ok := object.Key("oAuth2Credentials") + if err := awsRestjson1_serializeDocumentOAuth2Credentials(v.OAuth2Credentials, ok); err != nil { + return err + } + } + if v.Password != nil { ok := object.Key("password") ok.String(*v.Password) diff --git a/service/appflow/types/types.go b/service/appflow/types/types.go index 6bde199852b..d1e2da124a6 100644 --- a/service/appflow/types/types.go +++ b/service/appflow/types/types.go @@ -2435,14 +2435,13 @@ type ScheduledTriggerProperties struct { // The connector-specific profile credentials required when using ServiceNow. type ServiceNowConnectorProfileCredentials struct { + // The OAuth 2.0 credentials required to authenticate the user. + OAuth2Credentials *OAuth2Credentials + // The password that corresponds to the user name. - // - // This member is required. Password *string // The name of the user. - // - // This member is required. Username *string noSmithyDocumentSerde diff --git a/service/appflow/validators.go b/service/appflow/validators.go index 0bbf16c8ec8..9f82350c041 100644 --- a/service/appflow/validators.go +++ b/service/appflow/validators.go @@ -591,11 +591,6 @@ func validateConnectorProfileCredentials(v *types.ConnectorProfileCredentials) e invalidParams.AddNested("Marketo", err.(smithy.InvalidParamsError)) } } - if v.ServiceNow != nil { - if err := validateServiceNowConnectorProfileCredentials(v.ServiceNow); err != nil { - invalidParams.AddNested("ServiceNow", err.(smithy.InvalidParamsError)) - } - } if v.Singular != nil { if err := validateSingularConnectorProfileCredentials(v.Singular); err != nil { invalidParams.AddNested("Singular", err.(smithy.InvalidParamsError)) @@ -1577,24 +1572,6 @@ func validateScheduledTriggerProperties(v *types.ScheduledTriggerProperties) err } } -func validateServiceNowConnectorProfileCredentials(v *types.ServiceNowConnectorProfileCredentials) error { - if v == nil { - return nil - } - invalidParams := smithy.InvalidParamsError{Context: "ServiceNowConnectorProfileCredentials"} - if v.Username == nil { - invalidParams.Add(smithy.NewErrParamRequired("Username")) - } - if v.Password == nil { - invalidParams.Add(smithy.NewErrParamRequired("Password")) - } - if invalidParams.Len() > 0 { - return invalidParams - } else { - return nil - } -} - func validateServiceNowConnectorProfileProperties(v *types.ServiceNowConnectorProfileProperties) error { if v == nil { return nil diff --git a/service/ec2/types/enums.go b/service/ec2/types/enums.go index 89684d4e914..f0bdbc478d7 100644 --- a/service/ec2/types/enums.go +++ b/service/ec2/types/enums.go @@ -5113,6 +5113,7 @@ const ( LocationTypeRegion LocationType = "region" LocationTypeAvailabilityZone LocationType = "availability-zone" LocationTypeAvailabilityZoneId LocationType = "availability-zone-id" + LocationTypeOutpost LocationType = "outpost" ) // Values returns all known values for LocationType. Note that this can be @@ -5123,6 +5124,7 @@ func (LocationType) Values() []LocationType { "region", "availability-zone", "availability-zone-id", + "outpost", } } diff --git a/service/elasticloadbalancingv2/api_op_DeregisterTargets.go b/service/elasticloadbalancingv2/api_op_DeregisterTargets.go index 96c810d2b73..a88cf38e9a1 100644 --- a/service/elasticloadbalancingv2/api_op_DeregisterTargets.go +++ b/service/elasticloadbalancingv2/api_op_DeregisterTargets.go @@ -18,6 +18,17 @@ import ( // Deregisters the specified targets from the specified target group. After the // targets are deregistered, they no longer receive traffic from the load balancer. +// The load balancer stops sending requests to targets that are deregistering, but +// uses connection draining to ensure that in-flight traffic completes on the +// existing connections. This deregistration delay is configured by default but can +// be updated for each target group. For more information, see the following: +// - Deregistration delay (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#deregistration-delay) +// in the Application Load Balancers User Guide +// - Deregistration delay (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) +// in the Network Load Balancers User Guide +// - Deregistration delay (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/target-groups.html#deregistration-delay) +// in the Gateway Load Balancers User Guide +// // Note: If the specified target does not exist, the action returns successfully. func (c *Client) DeregisterTargets(ctx context.Context, params *DeregisterTargetsInput, optFns ...func(*Options)) (*DeregisterTargetsOutput, error) { if params == nil { diff --git a/service/elasticloadbalancingv2/types/types.go b/service/elasticloadbalancingv2/types/types.go index 75e92579e64..b79db7571d0 100644 --- a/service/elasticloadbalancingv2/types/types.go +++ b/service/elasticloadbalancingv2/types/types.go @@ -1026,7 +1026,8 @@ type TargetGroupAttribute struct { // The following attributes are supported only by Network Load Balancers: // - deregistration_delay.connection_termination.enabled - Indicates whether the // load balancer terminates connections at the end of the deregistration timeout. - // The value is true or false . The default is false . + // The value is true or false . For new UDP/TCP_UDP target groups the default is + // true . Otherwise, the default is false . // - preserve_client_ip.enabled - Indicates whether client IP preservation is // enabled. The value is true or false . The default is disabled if the target // group type is IP address and the target group protocol is TCP or TLS. Otherwise, @@ -1034,6 +1035,9 @@ type TargetGroupAttribute struct { // TCP_UDP target groups. // - proxy_protocol_v2.enabled - Indicates whether Proxy Protocol version 2 is // enabled. The value is true or false . The default is false . + // - target_health_state.unhealthy.connection_termination.enabled - Indicates + // whether the load balancer terminates connections to unhealthy targets. The value + // is true or false . The default is true . // The following attributes are supported only by Gateway Load Balancers: // - target_failover.on_deregistration - Indicates how the Gateway Load Balancer // handles existing flows when a target is deregistered. The possible values are diff --git a/service/elasticsearchservice/internal/endpoints/endpoints.go b/service/elasticsearchservice/internal/endpoints/endpoints.go index b48ef9f631d..179061ed570 100644 --- a/service/elasticsearchservice/internal/endpoints/endpoints.go +++ b/service/elasticsearchservice/internal/endpoints/endpoints.go @@ -142,63 +142,183 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "af-south-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "af-south-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.af-south-1.api.aws", + }, endpoints.EndpointKey{ Region: "ap-east-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-east-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-east-1.api.aws", + }, endpoints.EndpointKey{ Region: "ap-northeast-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-northeast-1.api.aws", + }, endpoints.EndpointKey{ Region: "ap-northeast-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-northeast-2.api.aws", + }, endpoints.EndpointKey{ Region: "ap-northeast-3", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-3", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-northeast-3.api.aws", + }, endpoints.EndpointKey{ Region: "ap-south-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-south-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-south-1.api.aws", + }, endpoints.EndpointKey{ Region: "ap-south-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-south-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-south-2.api.aws", + }, endpoints.EndpointKey{ Region: "ap-southeast-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-southeast-1.api.aws", + }, endpoints.EndpointKey{ Region: "ap-southeast-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-southeast-2.api.aws", + }, endpoints.EndpointKey{ Region: "ap-southeast-3", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-3", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-southeast-3.api.aws", + }, endpoints.EndpointKey{ Region: "ap-southeast-4", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-4", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-southeast-4.api.aws", + }, endpoints.EndpointKey{ Region: "ca-central-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ca-central-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ca-central-1.api.aws", + }, endpoints.EndpointKey{ Region: "eu-central-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-central-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-central-1.api.aws", + }, endpoints.EndpointKey{ Region: "eu-central-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-central-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-central-2.api.aws", + }, endpoints.EndpointKey{ Region: "eu-north-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-north-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-north-1.api.aws", + }, endpoints.EndpointKey{ Region: "eu-south-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-south-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-south-1.api.aws", + }, endpoints.EndpointKey{ Region: "eu-south-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-south-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-south-2.api.aws", + }, endpoints.EndpointKey{ Region: "eu-west-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-west-1.api.aws", + }, endpoints.EndpointKey{ Region: "eu-west-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-west-2.api.aws", + }, endpoints.EndpointKey{ Region: "eu-west-3", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-3", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-west-3.api.aws", + }, endpoints.EndpointKey{ Region: "fips", }: endpoints.Endpoint{ @@ -211,18 +331,48 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "il-central-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "il-central-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.il-central-1.api.aws", + }, endpoints.EndpointKey{ Region: "me-central-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "me-central-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.me-central-1.api.aws", + }, endpoints.EndpointKey{ Region: "me-south-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "me-south-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.me-south-1.api.aws", + }, endpoints.EndpointKey{ Region: "sa-east-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "sa-east-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.sa-east-1.api.aws", + }, endpoints.EndpointKey{ Region: "us-east-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.us-east-1.api.aws", + }, endpoints.EndpointKey{ Region: "us-east-1", Variant: endpoints.FIPSVariant, @@ -241,6 +391,12 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "us-east-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.us-east-2.api.aws", + }, endpoints.EndpointKey{ Region: "us-east-2", Variant: endpoints.FIPSVariant, @@ -259,6 +415,12 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "us-west-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-west-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.us-west-1.api.aws", + }, endpoints.EndpointKey{ Region: "us-west-1", Variant: endpoints.FIPSVariant, @@ -277,6 +439,12 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "us-west-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-west-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.us-west-2.api.aws", + }, endpoints.EndpointKey{ Region: "us-west-2", Variant: endpoints.FIPSVariant, @@ -332,9 +500,21 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "cn-north-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "cn-north-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.cn-north-1.api.amazonwebservices.com.cn", + }, endpoints.EndpointKey{ Region: "cn-northwest-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "cn-northwest-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.cn-northwest-1.api.amazonwebservices.com.cn", + }, }, }, { @@ -481,6 +661,12 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "us-gov-east-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-gov-east-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.us-gov-east-1.api.aws", + }, endpoints.EndpointKey{ Region: "us-gov-east-1", Variant: endpoints.FIPSVariant, @@ -499,6 +685,12 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "us-gov-west-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-gov-west-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.us-gov-west-1.api.aws", + }, endpoints.EndpointKey{ Region: "us-gov-west-1", Variant: endpoints.FIPSVariant, diff --git a/service/identitystore/internal/endpoints/endpoints.go b/service/identitystore/internal/endpoints/endpoints.go index 1687fc91831..827c6d2e28e 100644 --- a/service/identitystore/internal/endpoints/endpoints.go +++ b/service/identitystore/internal/endpoints/endpoints.go @@ -172,6 +172,9 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "eu-central-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-central-2", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "eu-north-1", }: endpoints.Endpoint{}, @@ -187,6 +190,9 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "eu-west-3", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "il-central-1", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "me-south-1", }: endpoints.Endpoint{}, diff --git a/service/kafka/internal/endpoints/endpoints.go b/service/kafka/internal/endpoints/endpoints.go index 0d8b1eeb9ad..0f3bf37e7b6 100644 --- a/service/kafka/internal/endpoints/endpoints.go +++ b/service/kafka/internal/endpoints/endpoints.go @@ -250,6 +250,9 @@ var defaultPartitions = endpoints.Partitions{ }, Deprecated: aws.TrueTernary, }, + endpoints.EndpointKey{ + Region: "il-central-1", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "me-central-1", }: endpoints.Endpoint{}, diff --git a/service/location/internal/endpoints/endpoints.go b/service/location/internal/endpoints/endpoints.go index 6cdeb2a9c8d..34753b90240 100644 --- a/service/location/internal/endpoints/endpoints.go +++ b/service/location/internal/endpoints/endpoints.go @@ -333,5 +333,25 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsUsGov, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "fips-us-gov-west-1", + }: endpoints.Endpoint{ + Hostname: "geo-fips.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "us-gov-west-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-gov-west-1", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "geo-fips.us-gov-west-1.amazonaws.com", + }, + }, }, } diff --git a/service/medialive/deserializers.go b/service/medialive/deserializers.go index e07e23a554d..fee693a37e0 100644 --- a/service/medialive/deserializers.go +++ b/service/medialive/deserializers.go @@ -17833,6 +17833,55 @@ func awsRestjson1_deserializeDocumentEncoderSettings(v **types.EncoderSettings, return nil } +func awsRestjson1_deserializeDocumentEpochLockingSettings(v **types.EpochLockingSettings, 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.EpochLockingSettings + if *v == nil { + sv = &types.EpochLockingSettings{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "customEpoch": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected __string to be of type string, got %T instead", value) + } + sv.CustomEpoch = ptr.String(jtv) + } + + case "jamSyncTime": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected __string to be of type string, got %T instead", value) + } + sv.JamSyncTime = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentEsam(v **types.Esam, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -18641,6 +18690,11 @@ func awsRestjson1_deserializeDocumentGlobalConfiguration(v **types.GlobalConfigu sv.OutputLockingMode = types.GlobalConfigurationOutputLockingMode(jtv) } + case "outputLockingSettings": + if err := awsRestjson1_deserializeDocumentOutputLockingSettings(&sv.OutputLockingSettings, value); err != nil { + return err + } + case "outputTimingSource": if value != nil { jtv, ok := value.(string) @@ -26479,6 +26533,47 @@ func awsRestjson1_deserializeDocumentOutputLocationRef(v **types.OutputLocationR return nil } +func awsRestjson1_deserializeDocumentOutputLockingSettings(v **types.OutputLockingSettings, 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.OutputLockingSettings + if *v == nil { + sv = &types.OutputLockingSettings{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "epochLockingSettings": + if err := awsRestjson1_deserializeDocumentEpochLockingSettings(&sv.EpochLockingSettings, value); err != nil { + return err + } + + case "pipelineLockingSettings": + if err := awsRestjson1_deserializeDocumentPipelineLockingSettings(&sv.PipelineLockingSettings, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentOutputSettings(v **types.OutputSettings, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -26693,6 +26788,37 @@ func awsRestjson1_deserializeDocumentPipelineDetail(v **types.PipelineDetail, va return nil } +func awsRestjson1_deserializeDocumentPipelineLockingSettings(v **types.PipelineLockingSettings, 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.PipelineLockingSettings + if *v == nil { + sv = &types.PipelineLockingSettings{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentPipelinePauseStateSettings(v **types.PipelinePauseStateSettings, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/medialive/serializers.go b/service/medialive/serializers.go index df3b84a16dc..ec40147dd37 100644 --- a/service/medialive/serializers.go +++ b/service/medialive/serializers.go @@ -7231,6 +7231,23 @@ func awsRestjson1_serializeDocumentEncoderSettings(v *types.EncoderSettings, val return nil } +func awsRestjson1_serializeDocumentEpochLockingSettings(v *types.EpochLockingSettings, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.CustomEpoch != nil { + ok := object.Key("customEpoch") + ok.String(*v.CustomEpoch) + } + + if v.JamSyncTime != nil { + ok := object.Key("jamSyncTime") + ok.String(*v.JamSyncTime) + } + + return nil +} + func awsRestjson1_serializeDocumentEsam(v *types.Esam, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -7511,6 +7528,13 @@ func awsRestjson1_serializeDocumentGlobalConfiguration(v *types.GlobalConfigurat ok.String(string(v.OutputLockingMode)) } + if v.OutputLockingSettings != nil { + ok := object.Key("outputLockingSettings") + if err := awsRestjson1_serializeDocumentOutputLockingSettings(v.OutputLockingSettings, ok); err != nil { + return err + } + } + if len(v.OutputTimingSource) > 0 { ok := object.Key("outputTimingSource") ok.String(string(v.OutputTimingSource)) @@ -10344,6 +10368,27 @@ func awsRestjson1_serializeDocumentOutputLocationRef(v *types.OutputLocationRef, return nil } +func awsRestjson1_serializeDocumentOutputLockingSettings(v *types.OutputLockingSettings, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.EpochLockingSettings != nil { + ok := object.Key("epochLockingSettings") + if err := awsRestjson1_serializeDocumentEpochLockingSettings(v.EpochLockingSettings, ok); err != nil { + return err + } + } + + if v.PipelineLockingSettings != nil { + ok := object.Key("pipelineLockingSettings") + if err := awsRestjson1_serializeDocumentPipelineLockingSettings(v.PipelineLockingSettings, ok); err != nil { + return err + } + } + + return nil +} + func awsRestjson1_serializeDocumentOutputSettings(v *types.OutputSettings, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -10428,6 +10473,13 @@ func awsRestjson1_serializeDocumentPauseStateScheduleActionSettings(v *types.Pau return nil } +func awsRestjson1_serializeDocumentPipelineLockingSettings(v *types.PipelineLockingSettings, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + return nil +} + func awsRestjson1_serializeDocumentPipelinePauseStateSettings(v *types.PipelinePauseStateSettings, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/medialive/types/types.go b/service/medialive/types/types.go index 2a478010397..817c8c6f967 100644 --- a/service/medialive/types/types.go +++ b/service/medialive/types/types.go @@ -1537,6 +1537,25 @@ type EncoderSettings struct { noSmithyDocumentSerde } +// Epoch Locking Settings +type EpochLockingSettings struct { + + // Optional. Enter a value here to use a custom epoch, instead of the standard + // epoch (which started at 1970-01-01T00:00:00 UTC). Specify the start time of the + // custom epoch, in YYYY-MM-DDTHH:MM:SS in UTC. The time must be + // 2000-01-01T00:00:00 or later. Always set the MM:SS portion to 00:00. + CustomEpoch *string + + // Optional. Enter a time for the jam sync. The default is midnight UTC. When + // epoch locking is enabled, MediaLive performs a daily jam sync on every output + // encode to ensure timecodes don’t diverge from the wall clock. The jam sync + // applies only to encodes with frame rate of 29.97 or 59.94 FPS. To override, + // enter a time in HH:MM:SS in UTC. Always set the MM:SS portion to 00:00. + JamSyncTime *string + + noSmithyDocumentSerde +} + // Esam type Esam struct { @@ -1776,6 +1795,9 @@ type GlobalConfiguration struct { // pipeline to the Unix epoch. OutputLockingMode GlobalConfigurationOutputLockingMode + // Advanced output locking settings + OutputLockingSettings *OutputLockingSettings + // Indicates whether the rate of frames emitted by the Live encoder should be // paced by its system clock (which optionally may be locked to another source via // NTP) or should be locked to the clock of the source that is providing the input @@ -4602,6 +4624,18 @@ type OutputLocationRef struct { noSmithyDocumentSerde } +// Output Locking Settings +type OutputLockingSettings struct { + + // Epoch Locking Settings + EpochLockingSettings *EpochLockingSettings + + // Pipeline Locking Settings + PipelineLockingSettings *PipelineLockingSettings + + noSmithyDocumentSerde +} + // Output Settings type OutputSettings struct { @@ -4670,6 +4704,11 @@ type PipelineDetail struct { noSmithyDocumentSerde } +// Pipeline Locking Settings +type PipelineLockingSettings struct { + noSmithyDocumentSerde +} + // Settings for pausing a pipeline. type PipelinePauseStateSettings struct { diff --git a/service/opensearch/internal/endpoints/endpoints.go b/service/opensearch/internal/endpoints/endpoints.go index c53e4821efa..d98a36113dc 100644 --- a/service/opensearch/internal/endpoints/endpoints.go +++ b/service/opensearch/internal/endpoints/endpoints.go @@ -142,63 +142,183 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "af-south-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "af-south-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.af-south-1.api.aws", + }, endpoints.EndpointKey{ Region: "ap-east-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-east-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-east-1.api.aws", + }, endpoints.EndpointKey{ Region: "ap-northeast-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-northeast-1.api.aws", + }, endpoints.EndpointKey{ Region: "ap-northeast-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-northeast-2.api.aws", + }, endpoints.EndpointKey{ Region: "ap-northeast-3", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-3", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-northeast-3.api.aws", + }, endpoints.EndpointKey{ Region: "ap-south-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-south-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-south-1.api.aws", + }, endpoints.EndpointKey{ Region: "ap-south-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-south-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-south-2.api.aws", + }, endpoints.EndpointKey{ Region: "ap-southeast-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-southeast-1.api.aws", + }, endpoints.EndpointKey{ Region: "ap-southeast-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-southeast-2.api.aws", + }, endpoints.EndpointKey{ Region: "ap-southeast-3", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-3", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-southeast-3.api.aws", + }, endpoints.EndpointKey{ Region: "ap-southeast-4", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-4", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ap-southeast-4.api.aws", + }, endpoints.EndpointKey{ Region: "ca-central-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ca-central-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.ca-central-1.api.aws", + }, endpoints.EndpointKey{ Region: "eu-central-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-central-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-central-1.api.aws", + }, endpoints.EndpointKey{ Region: "eu-central-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-central-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-central-2.api.aws", + }, endpoints.EndpointKey{ Region: "eu-north-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-north-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-north-1.api.aws", + }, endpoints.EndpointKey{ Region: "eu-south-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-south-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-south-1.api.aws", + }, endpoints.EndpointKey{ Region: "eu-south-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-south-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-south-2.api.aws", + }, endpoints.EndpointKey{ Region: "eu-west-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-west-1.api.aws", + }, endpoints.EndpointKey{ Region: "eu-west-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-west-2.api.aws", + }, endpoints.EndpointKey{ Region: "eu-west-3", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-3", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.eu-west-3.api.aws", + }, endpoints.EndpointKey{ Region: "fips", }: endpoints.Endpoint{ @@ -211,18 +331,48 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "il-central-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "il-central-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.il-central-1.api.aws", + }, endpoints.EndpointKey{ Region: "me-central-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "me-central-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.me-central-1.api.aws", + }, endpoints.EndpointKey{ Region: "me-south-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "me-south-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.me-south-1.api.aws", + }, endpoints.EndpointKey{ Region: "sa-east-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "sa-east-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.sa-east-1.api.aws", + }, endpoints.EndpointKey{ Region: "us-east-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.us-east-1.api.aws", + }, endpoints.EndpointKey{ Region: "us-east-1", Variant: endpoints.FIPSVariant, @@ -241,6 +391,12 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "us-east-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.us-east-2.api.aws", + }, endpoints.EndpointKey{ Region: "us-east-2", Variant: endpoints.FIPSVariant, @@ -259,6 +415,12 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "us-west-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-west-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.us-west-1.api.aws", + }, endpoints.EndpointKey{ Region: "us-west-1", Variant: endpoints.FIPSVariant, @@ -277,6 +439,12 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "us-west-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-west-2", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.us-west-2.api.aws", + }, endpoints.EndpointKey{ Region: "us-west-2", Variant: endpoints.FIPSVariant, @@ -332,9 +500,21 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "cn-north-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "cn-north-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.cn-north-1.api.amazonwebservices.com.cn", + }, endpoints.EndpointKey{ Region: "cn-northwest-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "cn-northwest-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.cn-northwest-1.api.amazonwebservices.com.cn", + }, }, }, { @@ -481,6 +661,12 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "us-gov-east-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-gov-east-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.us-gov-east-1.api.aws", + }, endpoints.EndpointKey{ Region: "us-gov-east-1", Variant: endpoints.FIPSVariant, @@ -499,6 +685,12 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "us-gov-west-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-gov-west-1", + Variant: endpoints.DualStackVariant, + }: { + Hostname: "aos.us-gov-west-1.api.aws", + }, endpoints.EndpointKey{ Region: "us-gov-west-1", Variant: endpoints.FIPSVariant, diff --git a/service/wafv2/api_op_CreateWebACL.go b/service/wafv2/api_op_CreateWebACL.go index ecddf659bb2..bc2ea29041d 100644 --- a/service/wafv2/api_op_CreateWebACL.go +++ b/service/wafv2/api_op_CreateWebACL.go @@ -76,7 +76,7 @@ type CreateWebACLInput struct { // Specifies custom configurations for the associations between the web ACL and // protected resources. Use this to customize the maximum size of the request body // that your protected CloudFront distributions forward to WAF for inspection. The - // default is 16 KB (16,384 kilobytes). You are charged additional fees when your + // default is 16 KB (16,384 bytes). You are charged additional fees when your // protected resources forward body sizes that are larger than the default. For // more information, see WAF Pricing (http://aws.amazon.com/waf/pricing/) . AssociationConfig *types.AssociationConfig diff --git a/service/wafv2/api_op_UpdateWebACL.go b/service/wafv2/api_op_UpdateWebACL.go index 598a4076809..6b1ced7d814 100644 --- a/service/wafv2/api_op_UpdateWebACL.go +++ b/service/wafv2/api_op_UpdateWebACL.go @@ -112,7 +112,7 @@ type UpdateWebACLInput struct { // Specifies custom configurations for the associations between the web ACL and // protected resources. Use this to customize the maximum size of the request body // that your protected CloudFront distributions forward to WAF for inspection. The - // default is 16 KB (16,384 kilobytes). You are charged additional fees when your + // default is 16 KB (16,384 bytes). You are charged additional fees when your // protected resources forward body sizes that are larger than the default. For // more information, see WAF Pricing (http://aws.amazon.com/waf/pricing/) . AssociationConfig *types.AssociationConfig diff --git a/service/wafv2/deserializers.go b/service/wafv2/deserializers.go index d2214d927f1..93fd0ed0c90 100644 --- a/service/wafv2/deserializers.go +++ b/service/wafv2/deserializers.go @@ -7802,6 +7802,15 @@ func awsAwsjson11_deserializeDocumentAWSManagedRulesBotControlRuleSet(v **types. for key, value := range shape { switch key { + case "EnableMachineLearning": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.EnableMachineLearning = jtv + } + case "InspectionLevel": if value != nil { jtv, ok := value.(string) diff --git a/service/wafv2/serializers.go b/service/wafv2/serializers.go index 55cbfc75a14..a956a39ccc2 100644 --- a/service/wafv2/serializers.go +++ b/service/wafv2/serializers.go @@ -3105,6 +3105,11 @@ func awsAwsjson11_serializeDocumentAWSManagedRulesBotControlRuleSet(v *types.AWS object := value.Object() defer object.Close() + if v.EnableMachineLearning { + ok := object.Key("EnableMachineLearning") + ok.Boolean(v.EnableMachineLearning) + } + if len(v.InspectionLevel) > 0 { ok := object.Key("InspectionLevel") ok.String(string(v.InspectionLevel)) diff --git a/service/wafv2/types/types.go b/service/wafv2/types/types.go index 69990383d59..ed8868e1481 100644 --- a/service/wafv2/types/types.go +++ b/service/wafv2/types/types.go @@ -116,16 +116,16 @@ type APIKeySummary struct { // Specifies custom configurations for the associations between the web ACL and // protected resources. Use this to customize the maximum size of the request body // that your protected CloudFront distributions forward to WAF for inspection. The -// default is 16 KB (16,384 kilobytes). You are charged additional fees when your +// default is 16 KB (16,384 bytes). You are charged additional fees when your // protected resources forward body sizes that are larger than the default. For // more information, see WAF Pricing (http://aws.amazon.com/waf/pricing/) . type AssociationConfig struct { // Customizes the maximum size of the request body that your protected CloudFront // distributions forward to WAF for inspection. The default size is 16 KB (16,384 - // kilobytes). You are charged additional fees when your protected resources - // forward body sizes that are larger than the default. For more information, see - // WAF Pricing (http://aws.amazon.com/waf/pricing/) . + // bytes). You are charged additional fees when your protected resources forward + // body sizes that are larger than the default. For more information, see WAF + // Pricing (http://aws.amazon.com/waf/pricing/) . RequestBody map[string]RequestBodyAssociatedResourceTypeConfig noSmithyDocumentSerde @@ -222,6 +222,16 @@ type AWSManagedRulesBotControlRuleSet struct { // This member is required. InspectionLevel InspectionLevel + // Applies only to the targeted inspection level. Determines whether to use + // machine learning (ML) to analyze your web traffic for bot-related activity. + // Machine learning is required for the Bot Control rules + // TGT_ML_CoordinatedActivityLow and TGT_ML_CoordinatedActivityMedium , which + // inspect for anomalous behavior that might indicate distributed, coordinated bot + // activity. For more information about this choice, see the listing for these + // rules in the table at Bot Control rules listing (https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html#aws-managed-rule-groups-bot-rules) + // in the WAF Developer Guide. Default: TRUE + EnableMachineLearning bool + noSmithyDocumentSerde } @@ -249,11 +259,11 @@ type Body struct { // support inspecting the entire contents of the web request body if the body // exceeds the limit for the resource type. If the body is larger than the limit, // the underlying host service only forwards the contents that are below the limit - // to WAF for inspection. The default limit is 8 KB (8,192 kilobytes) for regional - // resources and 16 KB (16,384 kilobytes) for CloudFront distributions. For - // CloudFront distributions, you can increase the limit in the web ACL - // AssociationConfig , for additional processing fees. The options for oversize - // handling are the following: + // to WAF for inspection. The default limit is 8 KB (8,192 bytes) for regional + // resources and 16 KB (16,384 bytes) for CloudFront distributions. For CloudFront + // distributions, you can increase the limit in the web ACL AssociationConfig , for + // additional processing fees. The options for oversize handling are the following: + // // - CONTINUE - Inspect the available body contents normally, according to the // rule inspection criteria. // - MATCH - Treat the web request as matching the rule statement. WAF applies @@ -708,11 +718,10 @@ type FieldToMatch struct { // data that you want to send to your web server as the HTTP request body, such as // data from a form. A limited amount of the request body is forwarded to WAF for // inspection by the underlying host service. For regional resources, the limit is - // 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is 16 KB - // (16,384 kilobytes). For CloudFront distributions, you can increase the limit in - // the web ACL's AssociationConfig , for additional processing fees. For - // information about how to handle oversized request bodies, see the Body object - // configuration. + // 8 KB (8,192 bytes) and for CloudFront distributions, the limit is 16 KB (16,384 + // bytes). For CloudFront distributions, you can increase the limit in the web + // ACL's AssociationConfig , for additional processing fees. For information about + // how to handle oversized request bodies, see the Body object configuration. Body *Body // Inspect the request cookies. You must configure scope and pattern matching @@ -745,11 +754,10 @@ type FieldToMatch struct { // that you want to send to your web server as the HTTP request body, such as data // from a form. A limited amount of the request body is forwarded to WAF for // inspection by the underlying host service. For regional resources, the limit is - // 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is 16 KB - // (16,384 kilobytes). For CloudFront distributions, you can increase the limit in - // the web ACL's AssociationConfig , for additional processing fees. For - // information about how to handle oversized request bodies, see the JsonBody - // object configuration. + // 8 KB (8,192 bytes) and for CloudFront distributions, the limit is 16 KB (16,384 + // bytes). For CloudFront distributions, you can increase the limit in the web + // ACL's AssociationConfig , for additional processing fees. For information about + // how to handle oversized request bodies, see the JsonBody object configuration. JsonBody *JsonBody // Inspect the HTTP method. The method indicates the type of operation that the @@ -1296,11 +1304,11 @@ type JsonBody struct { // support inspecting the entire contents of the web request body if the body // exceeds the limit for the resource type. If the body is larger than the limit, // the underlying host service only forwards the contents that are below the limit - // to WAF for inspection. The default limit is 8 KB (8,192 kilobytes) for regional - // resources and 16 KB (16,384 kilobytes) for CloudFront distributions. For - // CloudFront distributions, you can increase the limit in the web ACL - // AssociationConfig , for additional processing fees. The options for oversize - // handling are the following: + // to WAF for inspection. The default limit is 8 KB (8,192 bytes) for regional + // resources and 16 KB (16,384 bytes) for CloudFront distributions. For CloudFront + // distributions, you can increase the limit in the web ACL AssociationConfig , for + // additional processing fees. The options for oversize handling are the following: + // // - CONTINUE - Inspect the available body contents normally, according to the // rule inspection criteria. // - MATCH - Treat the web request as matching the rule statement. WAF applies @@ -2551,16 +2559,16 @@ type ReleaseSummary struct { // Customizes the maximum size of the request body that your protected CloudFront // distributions forward to WAF for inspection. The default size is 16 KB (16,384 -// kilobytes). You are charged additional fees when your protected resources -// forward body sizes that are larger than the default. For more information, see -// WAF Pricing (http://aws.amazon.com/waf/pricing/) . This is used in the +// bytes). You are charged additional fees when your protected resources forward +// body sizes that are larger than the default. For more information, see WAF +// Pricing (http://aws.amazon.com/waf/pricing/) . This is used in the // AssociationConfig of the web ACL. type RequestBodyAssociatedResourceTypeConfig struct { // Specifies the maximum size of the web request body component that an associated // CloudFront distribution should send to WAF for inspection. This applies to // statements in the web ACL that inspect the body or JSON body. Default: 16 KB - // (16,384 kilobytes) + // (16,384 bytes) // // This member is required. DefaultSizeInspectionLimit SizeInspectionLimit @@ -2863,7 +2871,10 @@ type ResponseInspectionStatusCode struct { // parameters that govern how WAF handles them. type Rule struct { - // The name of the rule. You can't change the name of a Rule after you create it. + // The name of the rule. If you change the name of a Rule after you create it and + // you want the rule's metric name to reflect the change, update the metric name in + // the rule's VisibilityConfig settings. WAF doesn't automatically update the + // metric name when you update the rule name. // // This member is required. Name *string @@ -2882,7 +2893,10 @@ type Rule struct { // This member is required. Statement *Statement - // Defines and enables Amazon CloudWatch metrics and web request sample collection. + // Defines and enables Amazon CloudWatch metrics and web request sample + // collection. If you change the name of a Rule after you create it and you want + // the rule's metric name to reflect the change, update the metric name as well. + // WAF doesn't automatically update the metric name. // // This member is required. VisibilityConfig *VisibilityConfig @@ -3240,14 +3254,13 @@ type SingleQueryArgument struct { // strings that are longer than 100 bytes. If you configure WAF to inspect the // request body, WAF inspects only the number of bytes of the body up to the limit // for the web ACL. By default, for regional web ACLs, this limit is 8 KB (8,192 -// kilobytes) and for CloudFront web ACLs, this limit is 16 KB (16,384 kilobytes). -// For CloudFront web ACLs, you can increase the limit in the web ACL -// AssociationConfig , for additional fees. If you know that the request body for -// your web requests should never exceed the inspection limit, you could use a size -// constraint statement to block requests that have a larger request body size. If -// you choose URI for the value of Part of the request to filter on, the slash (/) -// in the URI counts as one character. For example, the URI /logo.jpg is nine -// characters long. +// bytes) and for CloudFront web ACLs, this limit is 16 KB (16,384 bytes). For +// CloudFront web ACLs, you can increase the limit in the web ACL AssociationConfig +// , for additional fees. If you know that the request body for your web requests +// should never exceed the inspection limit, you could use a size constraint +// statement to block requests that have a larger request body size. If you choose +// URI for the value of Part of the request to filter on, the slash (/) in the URI +// counts as one character. For example, the URI /logo.jpg is nine characters long. type SizeConstraintStatement struct { // The operator to use to compare the request part to the size setting. @@ -3486,14 +3499,13 @@ type Statement struct { // strings that are longer than 100 bytes. If you configure WAF to inspect the // request body, WAF inspects only the number of bytes of the body up to the limit // for the web ACL. By default, for regional web ACLs, this limit is 8 KB (8,192 - // kilobytes) and for CloudFront web ACLs, this limit is 16 KB (16,384 kilobytes). - // For CloudFront web ACLs, you can increase the limit in the web ACL - // AssociationConfig , for additional fees. If you know that the request body for - // your web requests should never exceed the inspection limit, you could use a size - // constraint statement to block requests that have a larger request body size. If - // you choose URI for the value of Part of the request to filter on, the slash (/) - // in the URI counts as one character. For example, the URI /logo.jpg is nine - // characters long. + // bytes) and for CloudFront web ACLs, this limit is 16 KB (16,384 bytes). For + // CloudFront web ACLs, you can increase the limit in the web ACL AssociationConfig + // , for additional fees. If you know that the request body for your web requests + // should never exceed the inspection limit, you could use a size constraint + // statement to block requests that have a larger request body size. If you choose + // URI for the value of Part of the request to filter on, the slash (/) in the URI + // counts as one character. For example, the URI /logo.jpg is nine characters long. SizeConstraintStatement *SizeConstraintStatement // A rule statement that inspects for malicious SQL code. Attackers insert @@ -3802,7 +3814,7 @@ type WebACL struct { // Specifies custom configurations for the associations between the web ACL and // protected resources. Use this to customize the maximum size of the request body // that your protected CloudFront distributions forward to WAF for inspection. The - // default is 16 KB (16,384 kilobytes). You are charged additional fees when your + // default is 16 KB (16,384 bytes). You are charged additional fees when your // protected resources forward body sizes that are larger than the default. For // more information, see WAF Pricing (http://aws.amazon.com/waf/pricing/) . AssociationConfig *AssociationConfig