From 9b3ad7b1e6ce72730896fe7c9d165543ff158ed3 Mon Sep 17 00:00:00 2001 From: AWS SDK for Go v2 automation user Date: Fri, 27 Oct 2023 18:14:09 +0000 Subject: [PATCH] Regenerated Clients --- .../28e37e9912dd40d8b1ca3b29116801e6.json | 8 + .../3f2908f346a3430db3b001a4b86af688.json | 8 + .../463e181236e742a8994a4f57ea540242.json | 8 + .../7f641a4558a7486ba3054c14b4e001b9.json | 8 + .../b33070918a0d4afe9775de418312853c.json | 8 + service/emr/api_op_AddInstanceFleet.go | 2 +- service/emr/api_op_CancelSteps.go | 4 +- ...pi_op_GetBlockPublicAccessConfiguration.go | 12 +- service/emr/api_op_ListInstanceFleets.go | 2 +- service/emr/api_op_ModifyInstanceFleet.go | 2 +- .../emr/api_op_PutAutoTerminationPolicy.go | 2 +- service/emr/api_op_RunJobFlow.go | 52 +++-- service/emr/deserializers.go | 26 +++ service/emr/serializers.go | 10 + service/emr/types/types.go | 116 +++++----- service/neptune/api_op_CreateDBCluster.go | 7 +- service/neptune/api_op_DeleteDBCluster.go | 2 +- service/neptune/api_op_FailoverDBCluster.go | 2 +- service/neptune/api_op_ModifyDBCluster.go | 5 +- .../api_op_PromoteReadReplicaDBCluster.go | 2 +- .../neptune/api_op_RemoveRoleFromDBCluster.go | 3 +- .../api_op_RestoreDBClusterFromSnapshot.go | 2 +- .../api_op_RestoreDBClusterToPointInTime.go | 2 +- service/neptune/api_op_StartDBCluster.go | 2 +- service/neptune/api_op_StopDBCluster.go | 2 +- service/neptune/types/types.go | 5 +- service/pinpoint/api_op_DeleteEndpoint.go | 3 +- service/pinpoint/api_op_GetEndpoint.go | 3 +- service/pinpoint/api_op_UpdateEndpoint.go | 3 +- service/redshift/api_op_CreateCluster.go | 4 + service/redshift/api_op_ModifyCluster.go | 4 + .../api_op_RestoreFromClusterSnapshot.go | 3 + service/redshift/deserializers.go | 214 ++++++++++++++++++ service/redshift/serializers.go | 15 ++ service/redshift/types/errors.go | 27 +++ service/redshift/types/types.go | 10 + .../internal/endpoints/endpoints.go | 12 + service/wafv2/api_op_AssociateWebACL.go | 29 ++- service/wafv2/api_op_DisassociateWebACL.go | 6 +- service/wafv2/api_op_GetWebACLForResource.go | 13 +- .../wafv2/api_op_ListResourcesForWebACL.go | 11 +- service/wafv2/api_op_UpdateIPSet.go | 25 +- service/wafv2/api_op_UpdateRegexPatternSet.go | 25 +- service/wafv2/api_op_UpdateRuleGroup.go | 34 +-- service/wafv2/api_op_UpdateWebACL.go | 45 ++-- service/wafv2/types/types.go | 24 +- 46 files changed, 619 insertions(+), 193 deletions(-) create mode 100644 .changelog/28e37e9912dd40d8b1ca3b29116801e6.json create mode 100644 .changelog/3f2908f346a3430db3b001a4b86af688.json create mode 100644 .changelog/463e181236e742a8994a4f57ea540242.json create mode 100644 .changelog/7f641a4558a7486ba3054c14b4e001b9.json create mode 100644 .changelog/b33070918a0d4afe9775de418312853c.json diff --git a/.changelog/28e37e9912dd40d8b1ca3b29116801e6.json b/.changelog/28e37e9912dd40d8b1ca3b29116801e6.json new file mode 100644 index 00000000000..d18ddf92785 --- /dev/null +++ b/.changelog/28e37e9912dd40d8b1ca3b29116801e6.json @@ -0,0 +1,8 @@ +{ + "id": "28e37e99-12dd-40d8-b1ca-3b29116801e6", + "type": "documentation", + "description": "Updates the descriptions for the calls that manage web ACL associations, to provide information for customer-managed IAM policies.", + "modules": [ + "service/wafv2" + ] +} \ No newline at end of file diff --git a/.changelog/3f2908f346a3430db3b001a4b86af688.json b/.changelog/3f2908f346a3430db3b001a4b86af688.json new file mode 100644 index 00000000000..98b4c8d3472 --- /dev/null +++ b/.changelog/3f2908f346a3430db3b001a4b86af688.json @@ -0,0 +1,8 @@ +{ + "id": "3f2908f3-46a3-430d-b3b0-01a4b86af688", + "type": "documentation", + "description": "Updated documentation to describe the case insensitivity for EndpointIds.", + "modules": [ + "service/pinpoint" + ] +} \ No newline at end of file diff --git a/.changelog/463e181236e742a8994a4f57ea540242.json b/.changelog/463e181236e742a8994a4f57ea540242.json new file mode 100644 index 00000000000..9e967a4abc9 --- /dev/null +++ b/.changelog/463e181236e742a8994a4f57ea540242.json @@ -0,0 +1,8 @@ +{ + "id": "463e1812-36e7-42a8-994a-4f57ea540242", + "type": "feature", + "description": "Updated CreateCluster API request and DescribeCluster API responses to include EbsRootVolumeIops, and EbsRootVolumeThroughput attributes that specify the user configured root volume IOPS and throughput for Amazon EBS root device volume. This feature will be available from Amazon EMR releases 6.15.0", + "modules": [ + "service/emr" + ] +} \ No newline at end of file diff --git a/.changelog/7f641a4558a7486ba3054c14b4e001b9.json b/.changelog/7f641a4558a7486ba3054c14b4e001b9.json new file mode 100644 index 00000000000..340688e3907 --- /dev/null +++ b/.changelog/7f641a4558a7486ba3054c14b4e001b9.json @@ -0,0 +1,8 @@ +{ + "id": "7f641a45-58a7-486b-a305-4c14b4e001b9", + "type": "feature", + "description": "Update TdeCredentialPassword type to SensitiveString", + "modules": [ + "service/neptune" + ] +} \ No newline at end of file diff --git a/.changelog/b33070918a0d4afe9775de418312853c.json b/.changelog/b33070918a0d4afe9775de418312853c.json new file mode 100644 index 00000000000..048ed49bed9 --- /dev/null +++ b/.changelog/b33070918a0d4afe9775de418312853c.json @@ -0,0 +1,8 @@ +{ + "id": "b3307091-8a0d-4afe-9775-de418312853c", + "type": "feature", + "description": "added support to create a dual stack cluster", + "modules": [ + "service/redshift" + ] +} \ No newline at end of file diff --git a/service/emr/api_op_AddInstanceFleet.go b/service/emr/api_op_AddInstanceFleet.go index f6c5271e6ae..2baec42754a 100644 --- a/service/emr/api_op_AddInstanceFleet.go +++ b/service/emr/api_op_AddInstanceFleet.go @@ -17,7 +17,7 @@ import ( ) // Adds an instance fleet to a running cluster. The instance fleet configuration -// is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x. +// is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x. func (c *Client) AddInstanceFleet(ctx context.Context, params *AddInstanceFleetInput, optFns ...func(*Options)) (*AddInstanceFleetOutput, error) { if params == nil { params = &AddInstanceFleetInput{} diff --git a/service/emr/api_op_CancelSteps.go b/service/emr/api_op_CancelSteps.go index d9e3c2eb87c..64ff21b5035 100644 --- a/service/emr/api_op_CancelSteps.go +++ b/service/emr/api_op_CancelSteps.go @@ -17,11 +17,11 @@ import ( ) // Cancels a pending step or steps in a running cluster. Available only in Amazon -// EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps +// EMR versions 4.8.0 and higher, excluding version 5.0.0. A maximum of 256 steps // are allowed in each CancelSteps request. CancelSteps is idempotent but // asynchronous; it does not guarantee that a step will be canceled, even if the // request is successfully submitted. When you use Amazon EMR releases 5.28.0 and -// later, you can cancel steps that are in a PENDING or RUNNING state. In earlier +// higher, you can cancel steps that are in a PENDING or RUNNING state. In earlier // versions of Amazon EMR, you can only cancel steps that are in a PENDING state. func (c *Client) CancelSteps(ctx context.Context, params *CancelStepsInput, optFns ...func(*Options)) (*CancelStepsOutput, error) { if params == nil { diff --git a/service/emr/api_op_GetBlockPublicAccessConfiguration.go b/service/emr/api_op_GetBlockPublicAccessConfiguration.go index de7cd4c863c..77f506cf521 100644 --- a/service/emr/api_op_GetBlockPublicAccessConfiguration.go +++ b/service/emr/api_op_GetBlockPublicAccessConfiguration.go @@ -48,12 +48,12 @@ type GetBlockPublicAccessConfigurationOutput struct { // that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is // specified as an exception using PermittedPublicSecurityGroupRuleRanges in the // BlockPublicAccessConfiguration . By default, Port 22 (SSH) is an exception, and - // public access is allowed on this port. You can change this by updating the block - // public access configuration to remove the exception. For accounts that created - // clusters in a Region before November 25, 2019, block public access is disabled - // by default in that Region. To use this feature, you must manually enable and - // configure it. For accounts that did not create an Amazon EMR cluster in a Region - // before this date, block public access is enabled by default in that Region. + // public access is allowed on this port. To change this, update the block public + // access configuration to remove the exception. For accounts that created clusters + // in a Region before November 25, 2019, block public access is disabled by default + // in that Region. To use this feature, you must manually enable and configure it. + // For accounts that did not create an Amazon EMR cluster in a Region before this + // date, block public access is enabled by default in that Region. // // This member is required. BlockPublicAccessConfiguration *types.BlockPublicAccessConfiguration diff --git a/service/emr/api_op_ListInstanceFleets.go b/service/emr/api_op_ListInstanceFleets.go index 5a7138424f1..e8196ebc82c 100644 --- a/service/emr/api_op_ListInstanceFleets.go +++ b/service/emr/api_op_ListInstanceFleets.go @@ -18,7 +18,7 @@ import ( // Lists all available details about the instance fleets in a cluster. The // instance fleet configuration is available only in Amazon EMR releases 4.8.0 and -// later, excluding 5.0.x versions. +// higher, excluding 5.0.x versions. func (c *Client) ListInstanceFleets(ctx context.Context, params *ListInstanceFleetsInput, optFns ...func(*Options)) (*ListInstanceFleetsOutput, error) { if params == nil { params = &ListInstanceFleetsInput{} diff --git a/service/emr/api_op_ModifyInstanceFleet.go b/service/emr/api_op_ModifyInstanceFleet.go index 6d3a8bc0ee8..36c914e1671 100644 --- a/service/emr/api_op_ModifyInstanceFleet.go +++ b/service/emr/api_op_ModifyInstanceFleet.go @@ -19,7 +19,7 @@ import ( // Modifies the target On-Demand and target Spot capacities for the instance fleet // with the specified InstanceFleetID within the cluster specified using ClusterID. // The call either succeeds or fails atomically. The instance fleet configuration -// is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x +// is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x // versions. func (c *Client) ModifyInstanceFleet(ctx context.Context, params *ModifyInstanceFleetInput, optFns ...func(*Options)) (*ModifyInstanceFleetOutput, error) { if params == nil { diff --git a/service/emr/api_op_PutAutoTerminationPolicy.go b/service/emr/api_op_PutAutoTerminationPolicy.go index 02976532619..7834ae65b7b 100644 --- a/service/emr/api_op_PutAutoTerminationPolicy.go +++ b/service/emr/api_op_PutAutoTerminationPolicy.go @@ -17,7 +17,7 @@ import ( ) // Auto-termination is supported in Amazon EMR releases 5.30.0 and 6.1.0 and -// later. For more information, see Using an auto-termination policy (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-auto-termination-policy.html) +// higher. For more information, see Using an auto-termination policy (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-auto-termination-policy.html) // . Creates or updates an auto-termination policy for an Amazon EMR cluster. An // auto-termination policy defines the amount of idle time in seconds after which a // cluster automatically terminates. For alternative cluster termination options, diff --git a/service/emr/api_op_RunJobFlow.go b/service/emr/api_op_RunJobFlow.go index 4970168fe3c..f0ceeab2078 100644 --- a/service/emr/api_op_RunJobFlow.go +++ b/service/emr/api_op_RunJobFlow.go @@ -32,7 +32,7 @@ import ( // submitting queries directly to the software running on the master node, such as // Hive and Hadoop. For long-running clusters, we recommend that you periodically // store your results. The instance fleets configuration is available only in -// Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow +// Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions. The RunJobFlow // request can contain InstanceFleets parameters or InstanceGroups parameters, but // not both. func (c *Client) RunJobFlow(ctx context.Context, params *RunJobFlowInput, optFns ...func(*Options)) (*RunJobFlowOutput, error) { @@ -67,10 +67,10 @@ type RunJobFlowInput struct { AdditionalInfo *string // Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases - // 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID . + // 4.0 and higher, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID . AmiVersion *string - // Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of + // Applies to Amazon EMR releases 4.0 and higher. A case-insensitive list of // applications for Amazon EMR to install and configure when launching the cluster. // For a list of applications available for each Amazon EMR release version, see // the Amazon EMRRelease Guide (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/) @@ -93,11 +93,11 @@ type RunJobFlowInput struct { // A list of bootstrap actions to run before Hadoop starts on the cluster nodes. BootstrapActions []types.BootstrapActionConfig - // For Amazon EMR releases 4.0 and later. The list of configurations supplied for + // For Amazon EMR releases 4.0 and higher. The list of configurations supplied for // the Amazon EMR cluster that you are creating. Configurations []types.Configuration - // Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom + // Available only in Amazon EMR releases 5.7.0 and higher. The ID of a custom // Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it // launches cluster Amazon EC2 instances. For more information about custom AMIs in // Amazon EMR, see Using a Custom AMI (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html) @@ -110,11 +110,19 @@ type RunJobFlowInput struct { // . CustomAmiId *string - // The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is - // used for each Amazon EC2 instance. Available in Amazon EMR releases 4.x and - // later. + // The IOPS for the Amazon EBS root device volume for the Linux AMI that each + // Amazon EC2 instance uses. Available in Amazon EMR releases 6.15.0 and higher. + EbsRootVolumeIops *int32 + + // The size, in GiB, of the Amazon EBS root device volume for the Linux AMI that + // each Amazon EC2 instance uses. Available in Amazon EMR releases 4.x and higher. EbsRootVolumeSize *int32 + // The throughput, in MiB/s, of the Amazon EBS root device volume for the Linux + // AMI that each Amazon EC2 instance uses. Available in Amazon EMR releases 6.15.0 + // and higher. + EbsRootVolumeThroughput *int32 + // Also called instance profile and Amazon EC2 role. An IAM role for an Amazon EMR // cluster. The Amazon EC2 instances of the cluster assume this role. The default // role is EMR_EC2_DefaultRole . In order to use the default role, you must have @@ -129,7 +137,7 @@ type RunJobFlowInput struct { // The KMS key used for encrypting log files. If a value is not provided, the logs // remain encrypted by AES-256. This attribute is only available with Amazon EMR - // releases 5.30.0 and later, excluding Amazon EMR 6.0.0. + // releases 5.30.0 and higher, excluding Amazon EMR 6.0.0. LogEncryptionKmsKeyId *string // The location in Amazon S3 to write the log files of the job flow. If a value is @@ -139,12 +147,12 @@ type RunJobFlowInput struct { // The specified managed scaling policy for an Amazon EMR cluster. ManagedScalingPolicy *types.ManagedScalingPolicy - // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use - // Applications. A list of strings that indicates third-party software to use with - // the job flow that accepts a user argument list. Amazon EMR accepts and forwards - // the argument list to the corresponding installation script as bootstrap action - // arguments. For more information, see "Launch a Job Flow on the MapR Distribution - // for Hadoop" in the Amazon EMR Developer Guide (https://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf) + // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and higher, + // use Applications. A list of strings that indicates third-party software to use + // with the job flow that accepts a user argument list. Amazon EMR accepts and + // forwards the argument list to the corresponding installation script as bootstrap + // action arguments. For more information, see "Launch a Job Flow on the MapR + // Distribution for Hadoop" in the Amazon EMR Developer Guide (https://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf) // . Supported values are: // - "mapr-m3" - launch the cluster using MapR M3 Edition. // - "mapr-m5" - launch the cluster using MapR M5 Edition. @@ -171,7 +179,7 @@ type RunJobFlowInput struct { // emr-x.x.x , where x.x.x is an Amazon EMR release version such as emr-5.14.0 . // For more information about Amazon EMR release versions and included application // versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/) - // . The release label applies only to Amazon EMR releases version 4.0 and later. + // . The release label applies only to Amazon EMR releases version 4.0 and higher. // Earlier versions use AmiVersion . ReleaseLabel *string @@ -186,14 +194,14 @@ type RunJobFlowInput struct { // automatic scale-in activity occurs or an instance group is resized. // TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the // instance-hour boundary, regardless of when the request to terminate the instance - // was submitted. This option is only available with Amazon EMR 5.1.0 and later and - // is the default for clusters created using that version. + // was submitted. This option is only available with Amazon EMR 5.1.0 and higher + // and is the default for clusters created using that version. // TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny list // and drains tasks from nodes before terminating the Amazon EC2 instances, // regardless of the instance-hour boundary. With either behavior, Amazon EMR // removes the least active nodes first and blocks instance termination if it could // lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon - // EMR releases 4.1.0 and later, and is the default for releases of Amazon EMR + // EMR releases 4.1.0 and higher, and is the default for releases of Amazon EMR // earlier than 5.1.0. ScaleDownBehavior types.ScaleDownBehavior @@ -212,9 +220,9 @@ type RunJobFlowInput struct { // A list of steps to run. Steps []types.StepConfig - // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use - // Applications. A list of strings that indicates third-party software to use. For - // more information, see the Amazon EMR Developer Guide (https://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf) + // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and higher, + // use Applications. A list of strings that indicates third-party software to use. + // For more information, see the Amazon EMR Developer Guide (https://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf) // . Currently supported values are: // - "mapr-m3" - launch the job flow using MapR M3 Edition. // - "mapr-m5" - launch the job flow using MapR M5 Edition. diff --git a/service/emr/deserializers.go b/service/emr/deserializers.go index 5589d1df337..ca072a21125 100644 --- a/service/emr/deserializers.go +++ b/service/emr/deserializers.go @@ -6781,6 +6781,19 @@ func awsAwsjson11_deserializeDocumentCluster(v **types.Cluster, value interface{ sv.CustomAmiId = ptr.String(jtv) } + case "EbsRootVolumeIops": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected Integer to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.EbsRootVolumeIops = ptr.Int32(int32(i64)) + } + case "EbsRootVolumeSize": if value != nil { jtv, ok := value.(json.Number) @@ -6794,6 +6807,19 @@ func awsAwsjson11_deserializeDocumentCluster(v **types.Cluster, value interface{ sv.EbsRootVolumeSize = ptr.Int32(int32(i64)) } + case "EbsRootVolumeThroughput": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected Integer to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.EbsRootVolumeThroughput = ptr.Int32(int32(i64)) + } + case "Ec2InstanceAttributes": if err := awsAwsjson11_deserializeDocumentEc2InstanceAttributes(&sv.Ec2InstanceAttributes, value); err != nil { return err diff --git a/service/emr/serializers.go b/service/emr/serializers.go index 868e2efe8a6..82a741414cf 100644 --- a/service/emr/serializers.go +++ b/service/emr/serializers.go @@ -5628,11 +5628,21 @@ func awsAwsjson11_serializeOpDocumentRunJobFlowInput(v *RunJobFlowInput, value s ok.String(*v.CustomAmiId) } + if v.EbsRootVolumeIops != nil { + ok := object.Key("EbsRootVolumeIops") + ok.Integer(*v.EbsRootVolumeIops) + } + if v.EbsRootVolumeSize != nil { ok := object.Key("EbsRootVolumeSize") ok.Integer(*v.EbsRootVolumeSize) } + if v.EbsRootVolumeThroughput != nil { + ok := object.Key("EbsRootVolumeThroughput") + ok.Integer(*v.EbsRootVolumeThroughput) + } + if v.Instances != nil { ok := object.Key("Instances") if err := awsAwsjson11_serializeDocumentJobFlowInstancesConfig(v.Instances, ok); err != nil { diff --git a/service/emr/types/types.go b/service/emr/types/types.go index 8bf94ec0183..f1e3258505d 100644 --- a/service/emr/types/types.go +++ b/service/emr/types/types.go @@ -7,7 +7,7 @@ import ( "time" ) -// With Amazon EMR release version 4.0 and later, the only accepted parameter is +// With Amazon EMR release version 4.0 and higher, the only accepted parameter is // the application name. To pass arguments to applications, you use configuration // classifications specified using configuration JSON objects. For more // information, see Configuring Applications (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html) @@ -201,7 +201,7 @@ type BootstrapActionDetail struct { } // Specification of the status of a CancelSteps request. Available only in Amazon -// EMR version 4.8.0 and later, excluding version 5.0.0. +// EMR version 4.8.0 and higher, excluding version 5.0.0. type CancelStepsInfo struct { // The reason for the failure if the CancelSteps request fails. @@ -286,19 +286,27 @@ type Cluster struct { // The Amazon Resource Name of the cluster. ClusterArn *string - // Applies only to Amazon EMR releases 4.x and later. The list of configurations + // Applies only to Amazon EMR releases 4.x and higher. The list of configurations // that are supplied to the Amazon EMR cluster. Configurations []Configuration - // Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom + // Available only in Amazon EMR releases 5.7.0 and higher. The ID of a custom // Amazon EBS-backed Linux AMI if the cluster uses a custom AMI. CustomAmiId *string - // The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is - // used for each Amazon EC2 instance. Available in Amazon EMR releases 4.x and - // later. + // The IOPS, of the Amazon EBS root device volume for the Linux AMI that each + // Amazon EC2 instance uses. Available in Amazon EMR releases 6.15.0 and higher. + EbsRootVolumeIops *int32 + + // The size, in GiB, of the Amazon EBS root device volume for the Linux AMI that + // each Amazon EC2 instance uses. Available in Amazon EMR releases 4.x and higher. EbsRootVolumeSize *int32 + // The throughput, in MiB/s, of the Amazon EBS root device volume for the Linux + // AMI that each Amazon EC2 instance uses. Available in Amazon EMR releases 6.15.0 + // and higher. + EbsRootVolumeThroughput *int32 + // Provides information about the Amazon EC2 instances in a cluster grouped by // category. For example, key name, subnet ID, IAM instance profile, and so on. Ec2InstanceAttributes *Ec2InstanceAttributes @@ -307,7 +315,7 @@ type Cluster struct { Id *string // The instance fleet configuration is available only in Amazon EMR releases 4.8.0 - // and later, excluding 5.0.x versions. The instance group configuration of the + // and higher, excluding 5.0.x versions. The instance group configuration of the // cluster. A value of INSTANCE_GROUP indicates a uniform instance group // configuration. A value of INSTANCE_FLEET indicates an instance fleets // configuration. @@ -320,7 +328,7 @@ type Cluster struct { KerberosAttributes *KerberosAttributes // The KMS key used for encrypting log files. This attribute is only available - // with Amazon EMR 5.30.0 and later, excluding Amazon EMR 6.0.0. + // with Amazon EMR 5.30.0 and higher, excluding Amazon EMR 6.0.0. LogEncryptionKmsKeyId *string // The path to the Amazon S3 location where logs for this cluster are stored. @@ -357,7 +365,7 @@ type Cluster struct { // emr-x.x.x , where x.x.x is an Amazon EMR release version such as emr-5.14.0 . // For more information about Amazon EMR release versions and included application // versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/) - // . The release label applies only to Amazon EMR releases version 4.0 and later. + // . The release label applies only to Amazon EMR releases version 4.0 and higher. // Earlier versions use AmiVersion . ReleaseLabel *string @@ -376,14 +384,14 @@ type Cluster struct { // scale-in activity occurs or an instance group is resized. // TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the // instance-hour boundary, regardless of when the request to terminate the instance - // was submitted. This option is only available with Amazon EMR 5.1.0 and later and - // is the default for clusters created using that version. + // was submitted. This option is only available with Amazon EMR 5.1.0 and higher + // and is the default for clusters created using that version. // TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny list // and drains tasks from nodes before terminating the Amazon EC2 instances, // regardless of the instance-hour boundary. With either behavior, Amazon EMR // removes the least active nodes first and blocks instance termination if it could // lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION is available only in - // Amazon EMR releases 4.1.0 and later, and is the default for versions of Amazon + // Amazon EMR releases 4.1.0 and higher, and is the default for versions of Amazon // EMR earlier than 5.1.0. ScaleDownBehavior ScaleDownBehavior @@ -560,13 +568,13 @@ type ComputeLimits struct { noSmithyDocumentSerde } -// Amazon EMR releases 4.x or later. An optional configuration specification to be -// used when provisioning cluster instances, which can include configurations for -// applications and software bundled with Amazon EMR. A configuration consists of a -// classification, properties, and optional nested configurations. A classification -// refers to an application-specific configuration file. Properties are the -// settings you want to change in that file. For more information, see Configuring -// Applications (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html) +// Amazon EMR releases 4.x or higher. An optional configuration specification to +// be used when provisioning cluster instances, which can include configurations +// for applications and software bundled with Amazon EMR. A configuration consists +// of a classification, properties, and optional nested configurations. A +// classification refers to an application-specific configuration file. Properties +// are the settings you want to change in that file. For more information, see +// Configuring Applications (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html) // . type Configuration struct { @@ -877,7 +885,7 @@ type Instance struct { // a particular node type (master, core, or task) in an Amazon EMR cluster. // Instance fleets can consist of a mix of instance types and On-Demand and Spot // Instances, which are provisioned to meet a defined target capacity. The instance -// fleet configuration is available only in Amazon EMR releases 4.8.0 and later, +// fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, // excluding 5.0.x versions. type InstanceFleet struct { @@ -955,7 +963,7 @@ type InstanceFleet struct { } // The configuration that defines an instance fleet. The instance fleet -// configuration is available only in Amazon EMR releases 4.8.0 and later, +// configuration is available only in Amazon EMR releases 4.8.0 and higher, // excluding 5.0.x versions. type InstanceFleetConfig struct { @@ -1016,7 +1024,7 @@ type InstanceFleetConfig struct { // Configuration parameters for an instance fleet modification request. The // instance fleet configuration is available only in Amazon EMR releases 4.8.0 and -// later, excluding 5.0.x versions. +// higher, excluding 5.0.x versions. type InstanceFleetModifyConfig struct { // A unique identifier for the instance fleet. @@ -1041,15 +1049,15 @@ type InstanceFleetModifyConfig struct { // The launch specification for Spot Instances in the fleet, which determines the // defined duration, provisioning timeout behavior, and allocation strategy. The // instance fleet configuration is available only in Amazon EMR releases 4.8.0 and -// later, excluding 5.0.x versions. On-Demand and Spot instance allocation -// strategies are available in Amazon EMR releases 5.12.1 and later. +// higher, excluding 5.0.x versions. On-Demand and Spot instance allocation +// strategies are available in Amazon EMR releases 5.12.1 and higher. type InstanceFleetProvisioningSpecifications struct { // The launch specification for On-Demand Instances in the instance fleet, which // determines the allocation strategy. The instance fleet configuration is - // available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. - // On-Demand Instances allocation strategy is available in Amazon EMR releases - // 5.12.1 and later. + // available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x + // versions. On-Demand Instances allocation strategy is available in Amazon EMR + // releases 5.12.1 and higher. OnDemandSpecification *OnDemandProvisioningSpecification // The launch specification for Spot instances in the fleet, which determines the @@ -1074,7 +1082,7 @@ type InstanceFleetResizingSpecifications struct { } // Provides status change reason details for the instance fleet. The instance -// fleet configuration is available only in Amazon EMR releases 4.8.0 and later, +// fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, // excluding 5.0.x versions. type InstanceFleetStateChangeReason struct { @@ -1088,7 +1096,7 @@ type InstanceFleetStateChangeReason struct { } // The status of the instance fleet. The instance fleet configuration is available -// only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. +// only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions. type InstanceFleetStatus struct { // A code representing the instance fleet status. @@ -1120,7 +1128,7 @@ type InstanceFleetStatus struct { // Provides historical timestamps for the instance fleet, including the time of // creation, the time it became ready to run jobs, and the time of termination. The // instance fleet configuration is available only in Amazon EMR releases 4.8.0 and -// later, excluding 5.0.x versions. +// higher, excluding 5.0.x versions. type InstanceFleetTimeline struct { // The time and date the instance fleet was created. @@ -1151,7 +1159,7 @@ type InstanceGroup struct { // amount in USD. BidPrice *string - // Amazon EMR releases 4.x or later. The list of configurations supplied for an + // Amazon EMR releases 4.x or higher. The list of configurations supplied for an // Amazon EMR cluster instance group. You can specify a separate configuration for // each instance group (master, core, and task). Configurations []Configuration @@ -1240,7 +1248,7 @@ type InstanceGroupConfig struct { // amount in USD. BidPrice *string - // Amazon EMR releases 4.x or later. The list of configurations supplied for an + // Amazon EMR releases 4.x or higher. The list of configurations supplied for an // Amazon EMR cluster instance group. You can specify a separate configuration for // each instance group (master, core, and task). Configurations []Configuration @@ -1466,7 +1474,7 @@ type InstanceTimeline struct { // Configure Instance Fleets (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html) // . Without an allocation strategy, you may specify a maximum of five instance // type configurations for a fleet. The instance fleet configuration is available -// only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. +// only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions. type InstanceTypeConfig struct { // An Amazon EC2 instance type, such as m3.xlarge . @@ -1508,7 +1516,7 @@ type InstanceTypeConfig struct { // The configuration specification for each instance type in an instance fleet. // The instance fleet configuration is available only in Amazon EMR releases 4.8.0 -// and later, excluding 5.0.x versions. +// and higher, excluding 5.0.x versions. type InstanceTypeSpecification struct { // The bid price for each Amazon EC2 Spot Instance type as defined by InstanceType @@ -1571,7 +1579,7 @@ type JobFlowDetail struct { Name *string // Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases - // 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID . + // 4.0 and higher, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID . AmiVersion *string // An IAM role for automatic scaling policies. The default role is @@ -1588,7 +1596,7 @@ type JobFlowDetail struct { JobFlowRole *string // The KMS key used for encrypting log files. This attribute is only available - // with Amazon EMR 5.30.0 and later, excluding 6.0.0. + // with Amazon EMR 5.30.0 and higher, excluding 6.0.0. LogEncryptionKmsKeyId *string // The location in Amazon S3 where log files for the job are stored. @@ -1598,14 +1606,14 @@ type JobFlowDetail struct { // scale-in activity occurs or an instance group is resized. // TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the // instance-hour boundary, regardless of when the request to terminate the instance - // was submitted. This option is only available with Amazon EMR 5.1.0 and later and - // is the default for clusters created using that version. + // was submitted. This option is only available with Amazon EMR 5.1.0 and higher + // and is the default for clusters created using that version. // TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny list // and drains tasks from nodes before terminating the Amazon EC2 instances, // regardless of the instance-hour boundary. With either behavior, Amazon EMR // removes the least active nodes first and blocks instance termination if it could // lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon - // EMR releases 4.1.0 and later, and is the default for releases of Amazon EMR + // EMR releases 4.1.0 and higher, and is the default for releases of Amazon EMR // earlier than 5.1.0. ScaleDownBehavior ScaleDownBehavior @@ -1691,7 +1699,7 @@ type JobFlowInstancesConfig struct { // Applies to clusters that use the instance fleet configuration. When multiple // Amazon EC2 subnet IDs are specified, Amazon EMR evaluates them and launches // instances in the optimal subnet. The instance fleet configuration is available - // only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. + // only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions. Ec2SubnetIds []string // The identifier of the Amazon EC2 security group for the master node. If you @@ -1716,7 +1724,7 @@ type JobFlowInstancesConfig struct { InstanceCount *int32 // The instance fleet configuration is available only in Amazon EMR releases 4.8.0 - // and later, excluding 5.0.x versions. Describes the Amazon EC2 instances and + // and higher, excluding 5.0.x versions. Describes the Amazon EC2 instances and // instance configurations for clusters that use the instance fleet configuration. InstanceFleets []InstanceFleetConfig @@ -2075,9 +2083,9 @@ type OnDemandCapacityReservationOptions struct { // The launch specification for On-Demand Instances in the instance fleet, which // determines the allocation strategy. The instance fleet configuration is -// available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. -// On-Demand Instances allocation strategy is available in Amazon EMR releases -// 5.12.1 and later. +// available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x +// versions. On-Demand Instances allocation strategy is available in Amazon EMR +// releases 5.12.1 and higher. type OnDemandProvisioningSpecification struct { // Specifies the strategy to use in launching On-Demand instance fleets. @@ -2179,7 +2187,7 @@ type PlacementType struct { // launches instances in the optimal Availability Zone. AvailabilityZones is used // for instance fleets, while AvailabilityZone (singular) is used for uniform // instance groups. The instance fleet configuration is available only in Amazon - // EMR releases 4.8.0 and later, excluding 5.0.x versions. + // EMR releases 4.8.0 and higher, excluding 5.0.x versions. AvailabilityZones []string noSmithyDocumentSerde @@ -2447,8 +2455,8 @@ type SimplifiedApplication struct { // The launch specification for Spot Instances in the instance fleet, which // determines the defined duration, provisioning timeout behavior, and allocation // strategy. The instance fleet configuration is available only in Amazon EMR -// releases 4.8.0 and later, excluding 5.0.x versions. Spot Instance allocation -// strategy is available in Amazon EMR releases 5.12.1 and later. Spot Instances +// releases 4.8.0 and higher, excluding 5.0.x versions. Spot Instance allocation +// strategy is available in Amazon EMR releases 5.12.1 and higher. Spot Instances // with a defined duration (also known as Spot blocks) are no longer available to // new customers from July 1, 2021. For customers who have previously used the // feature, we will continue to support Spot Instances with a defined duration @@ -2473,10 +2481,14 @@ type SpotProvisioningSpecification struct { // This member is required. TimeoutDurationMinutes *int32 - // Specifies the strategy to use in launching Spot Instance fleets. Currently, the - // only option is capacity-optimized (the default), which launches instances from - // Spot Instance pools with optimal capacity for the number of instances that are - // launching. + // Specifies one of the following strategies to launch Spot Instance fleets: + // price-capacity-optimized , capacity-optimized , lowest-price , or diversified . + // For more information on the provisioning strategies, see Allocation strategies + // for Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-allocation-strategy.html) + // in the Amazon EC2 User Guide for Linux Instances. When you launch a Spot + // Instance fleet with the old console, it automatically launches with the + // capacity-optimized strategy. You can't change the allocation strategy from the + // old console. AllocationStrategy SpotProvisioningAllocationStrategy // The defined duration for Spot Instances (also known as Spot blocks) in minutes. diff --git a/service/neptune/api_op_CreateDBCluster.go b/service/neptune/api_op_CreateDBCluster.go index 3da7f273340..23d25c84e16 100644 --- a/service/neptune/api_op_CreateDBCluster.go +++ b/service/neptune/api_op_CreateDBCluster.go @@ -146,8 +146,7 @@ type CreateDBClusterInput struct { // The daily time range during which automated backups are created if automated // backups are enabled using the BackupRetentionPeriod parameter. The default is a // 30-minute window selected at random from an 8-hour block of time for each Amazon - // Region. To see the time blocks available, see Adjusting the Preferred - // Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html) + // Region. To see the time blocks available, see Neptune Maintenance Window (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-maintaining.html#manage-console-maintaining-window) // in the Amazon Neptune User Guide. Constraints: // - Must be in the format hh24:mi-hh24:mi . // - Must be in Universal Coordinated Time (UTC). @@ -159,7 +158,7 @@ type CreateDBClusterInput struct { // Coordinated Time (UTC). Format: ddd:hh24:mi-ddd:hh24:mi The default is a // 30-minute window selected at random from an 8-hour block of time for each Amazon // Region, occurring on a random day of the week. To see the time blocks available, - // see Adjusting the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html) + // see Neptune Maintenance Window (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-maintaining.html#manage-console-maintaining-window) // in the Amazon Neptune User Guide. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. // Constraints: Minimum 30-minute window. PreferredMaintenanceWindow *string @@ -196,7 +195,7 @@ type CreateDBClusterInput struct { type CreateDBClusterOutput struct { // Contains the details of an Amazon Neptune DB cluster. This data type is used as - // a response element in the DescribeDBClusters action. + // a response element in the DescribeDBClusters . DBCluster *types.DBCluster // Metadata pertaining to the operation's result. diff --git a/service/neptune/api_op_DeleteDBCluster.go b/service/neptune/api_op_DeleteDBCluster.go index 84a313b019e..512a9846b83 100644 --- a/service/neptune/api_op_DeleteDBCluster.go +++ b/service/neptune/api_op_DeleteDBCluster.go @@ -67,7 +67,7 @@ type DeleteDBClusterInput struct { type DeleteDBClusterOutput struct { // Contains the details of an Amazon Neptune DB cluster. This data type is used as - // a response element in the DescribeDBClusters action. + // a response element in the DescribeDBClusters . DBCluster *types.DBCluster // Metadata pertaining to the operation's result. diff --git a/service/neptune/api_op_FailoverDBCluster.go b/service/neptune/api_op_FailoverDBCluster.go index c0a67228610..b8274e4697d 100644 --- a/service/neptune/api_op_FailoverDBCluster.go +++ b/service/neptune/api_op_FailoverDBCluster.go @@ -57,7 +57,7 @@ type FailoverDBClusterInput struct { type FailoverDBClusterOutput struct { // Contains the details of an Amazon Neptune DB cluster. This data type is used as - // a response element in the DescribeDBClusters action. + // a response element in the DescribeDBClusters . DBCluster *types.DBCluster // Metadata pertaining to the operation's result. diff --git a/service/neptune/api_op_ModifyDBCluster.go b/service/neptune/api_op_ModifyDBCluster.go index 229ac484ee2..00bb5677924 100644 --- a/service/neptune/api_op_ModifyDBCluster.go +++ b/service/neptune/api_op_ModifyDBCluster.go @@ -99,8 +99,7 @@ type ModifyDBClusterInput struct { // Changing this parameter results in an outage. The change is applied during the // next maintenance window unless the ApplyImmediately parameter is set to true. // For a list of valid engine versions, see Engine Releases for Amazon Neptune (https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases.html) - // , or call DescribeDBEngineVersions (https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions) - // . + // , or call DescribeDBEngineVersions . EngineVersion *string // Not supported by Neptune. @@ -152,7 +151,7 @@ type ModifyDBClusterInput struct { type ModifyDBClusterOutput struct { // Contains the details of an Amazon Neptune DB cluster. This data type is used as - // a response element in the DescribeDBClusters action. + // a response element in the DescribeDBClusters . DBCluster *types.DBCluster // Metadata pertaining to the operation's result. diff --git a/service/neptune/api_op_PromoteReadReplicaDBCluster.go b/service/neptune/api_op_PromoteReadReplicaDBCluster.go index fba0d963c1c..bbca5ebae58 100644 --- a/service/neptune/api_op_PromoteReadReplicaDBCluster.go +++ b/service/neptune/api_op_PromoteReadReplicaDBCluster.go @@ -45,7 +45,7 @@ type PromoteReadReplicaDBClusterInput struct { type PromoteReadReplicaDBClusterOutput struct { // Contains the details of an Amazon Neptune DB cluster. This data type is used as - // a response element in the DescribeDBClusters action. + // a response element in the DescribeDBClusters . DBCluster *types.DBCluster // Metadata pertaining to the operation's result. diff --git a/service/neptune/api_op_RemoveRoleFromDBCluster.go b/service/neptune/api_op_RemoveRoleFromDBCluster.go index ff03e7f4780..be7519f87b6 100644 --- a/service/neptune/api_op_RemoveRoleFromDBCluster.go +++ b/service/neptune/api_op_RemoveRoleFromDBCluster.go @@ -46,8 +46,7 @@ type RemoveRoleFromDBClusterInput struct { // The name of the feature for the DB cluster that the IAM role is to be // disassociated from. For the list of supported feature names, see - // DescribeDBEngineVersions (https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions) - // . + // DescribeDBEngineVersions . FeatureName *string noSmithyDocumentSerde diff --git a/service/neptune/api_op_RestoreDBClusterFromSnapshot.go b/service/neptune/api_op_RestoreDBClusterFromSnapshot.go index 90c2d97b76b..d28c945b9d3 100644 --- a/service/neptune/api_op_RestoreDBClusterFromSnapshot.go +++ b/service/neptune/api_op_RestoreDBClusterFromSnapshot.go @@ -140,7 +140,7 @@ type RestoreDBClusterFromSnapshotInput struct { type RestoreDBClusterFromSnapshotOutput struct { // Contains the details of an Amazon Neptune DB cluster. This data type is used as - // a response element in the DescribeDBClusters action. + // a response element in the DescribeDBClusters . DBCluster *types.DBCluster // Metadata pertaining to the operation's result. diff --git a/service/neptune/api_op_RestoreDBClusterToPointInTime.go b/service/neptune/api_op_RestoreDBClusterToPointInTime.go index b74d5c4a0c7..ce010ca8d65 100644 --- a/service/neptune/api_op_RestoreDBClusterToPointInTime.go +++ b/service/neptune/api_op_RestoreDBClusterToPointInTime.go @@ -146,7 +146,7 @@ type RestoreDBClusterToPointInTimeInput struct { type RestoreDBClusterToPointInTimeOutput struct { // Contains the details of an Amazon Neptune DB cluster. This data type is used as - // a response element in the DescribeDBClusters action. + // a response element in the DescribeDBClusters . DBCluster *types.DBCluster // Metadata pertaining to the operation's result. diff --git a/service/neptune/api_op_StartDBCluster.go b/service/neptune/api_op_StartDBCluster.go index e1a090ce0f8..85de305bdae 100644 --- a/service/neptune/api_op_StartDBCluster.go +++ b/service/neptune/api_op_StartDBCluster.go @@ -47,7 +47,7 @@ type StartDBClusterInput struct { type StartDBClusterOutput struct { // Contains the details of an Amazon Neptune DB cluster. This data type is used as - // a response element in the DescribeDBClusters action. + // a response element in the DescribeDBClusters . DBCluster *types.DBCluster // Metadata pertaining to the operation's result. diff --git a/service/neptune/api_op_StopDBCluster.go b/service/neptune/api_op_StopDBCluster.go index 9e57a9707bc..df6a9634bca 100644 --- a/service/neptune/api_op_StopDBCluster.go +++ b/service/neptune/api_op_StopDBCluster.go @@ -49,7 +49,7 @@ type StopDBClusterInput struct { type StopDBClusterOutput struct { // Contains the details of an Amazon Neptune DB cluster. This data type is used as - // a response element in the DescribeDBClusters action. + // a response element in the DescribeDBClusters . DBCluster *types.DBCluster // Metadata pertaining to the operation's result. diff --git a/service/neptune/types/types.go b/service/neptune/types/types.go index ec36af7633d..26b263d6044 100644 --- a/service/neptune/types/types.go +++ b/service/neptune/types/types.go @@ -77,7 +77,7 @@ type ClusterPendingModifiedValues struct { } // Contains the details of an Amazon Neptune DB cluster. This data type is used as -// a response element in the DescribeDBClusters action. +// a response element in the DescribeDBClusters . type DBCluster struct { // AllocatedStorage always returns 1, because Neptune DB cluster storage size is @@ -359,8 +359,7 @@ type DBClusterRole struct { // The name of the feature associated with the Amazon Identity and Access // Management (IAM) role. For the list of supported feature names, see - // DescribeDBEngineVersions (https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions) - // . + // DescribeDBEngineVersions . FeatureName *string // The Amazon Resource Name (ARN) of the IAM role that is associated with the DB diff --git a/service/pinpoint/api_op_DeleteEndpoint.go b/service/pinpoint/api_op_DeleteEndpoint.go index 96165887655..8d13492c8f8 100644 --- a/service/pinpoint/api_op_DeleteEndpoint.go +++ b/service/pinpoint/api_op_DeleteEndpoint.go @@ -40,7 +40,8 @@ type DeleteEndpointInput struct { // This member is required. ApplicationId *string - // The unique identifier for the endpoint. + // The case insensitive unique identifier for the endpoint. The identifier can't + // contain $ , { or } . // // This member is required. EndpointId *string diff --git a/service/pinpoint/api_op_GetEndpoint.go b/service/pinpoint/api_op_GetEndpoint.go index 088951008d8..b19fad7935e 100644 --- a/service/pinpoint/api_op_GetEndpoint.go +++ b/service/pinpoint/api_op_GetEndpoint.go @@ -41,7 +41,8 @@ type GetEndpointInput struct { // This member is required. ApplicationId *string - // The unique identifier for the endpoint. + // The case insensitive unique identifier for the endpoint. The identifier can't + // contain $ , { or } . // // This member is required. EndpointId *string diff --git a/service/pinpoint/api_op_UpdateEndpoint.go b/service/pinpoint/api_op_UpdateEndpoint.go index 838178dc24b..409c6490e2f 100644 --- a/service/pinpoint/api_op_UpdateEndpoint.go +++ b/service/pinpoint/api_op_UpdateEndpoint.go @@ -44,7 +44,8 @@ type UpdateEndpointInput struct { // This member is required. ApplicationId *string - // The unique identifier for the endpoint. + // The case insensitive unique identifier for the endpoint. The identifier can't + // contain $ , { or } . // // This member is required. EndpointId *string diff --git a/service/redshift/api_op_CreateCluster.go b/service/redshift/api_op_CreateCluster.go index c1937ae7010..900922c1367 100644 --- a/service/redshift/api_op_CreateCluster.go +++ b/service/redshift/api_op_CreateCluster.go @@ -191,6 +191,10 @@ type CreateClusterInput struct { // in the Amazon Redshift Cluster Management Guide. IamRoles []string + // The IP address types that the cluster supports. Possible values are ipv4 and + // dualstack . + IpAddressType *string + // The Key Management Service (KMS) key ID of the encryption key that you want to // use to encrypt data in the cluster. KmsKeyId *string diff --git a/service/redshift/api_op_ModifyCluster.go b/service/redshift/api_op_ModifyCluster.go index 3374806772f..6a1990e15f1 100644 --- a/service/redshift/api_op_ModifyCluster.go +++ b/service/redshift/api_op_ModifyCluster.go @@ -131,6 +131,10 @@ type ModifyClusterInput struct { // Amazon Redshift cluster can use to retrieve and store keys in an HSM. HsmConfigurationIdentifier *string + // The IP address types that the cluster supports. Possible values are ipv4 and + // dualstack . + IpAddressType *string + // The Key Management Service (KMS) key ID of the encryption key that you want to // use to encrypt data in the cluster. KmsKeyId *string diff --git a/service/redshift/api_op_RestoreFromClusterSnapshot.go b/service/redshift/api_op_RestoreFromClusterSnapshot.go index 1dc9f5995e4..57f3fcb56b9 100644 --- a/service/redshift/api_op_RestoreFromClusterSnapshot.go +++ b/service/redshift/api_op_RestoreFromClusterSnapshot.go @@ -139,6 +139,9 @@ type RestoreFromClusterSnapshotInput struct { // in the Amazon Redshift Cluster Management Guide. IamRoles []string + // The IP address type for the cluster. Possible values are ipv4 and dualstack . + IpAddressType *string + // The Key Management Service (KMS) key ID of the encryption key that encrypts // data in the cluster restored from a shared snapshot. You can also provide the // key ID when you restore from an unencrypted snapshot to an encrypted cluster in diff --git a/service/redshift/deserializers.go b/service/redshift/deserializers.go index 8cf23aa92ef..2da6f9f0d17 100644 --- a/service/redshift/deserializers.go +++ b/service/redshift/deserializers.go @@ -1562,6 +1562,9 @@ func awsAwsquery_deserializeOpErrorCreateCluster(response *smithyhttp.Response, case strings.EqualFold("InvalidVPCNetworkStateFault", errorCode): return awsAwsquery_deserializeErrorInvalidVPCNetworkStateFault(response, errorBody) + case strings.EqualFold("Ipv6CidrBlockNotFoundFault", errorCode): + return awsAwsquery_deserializeErrorIpv6CidrBlockNotFoundFault(response, errorBody) + case strings.EqualFold("LimitExceededFault", errorCode): return awsAwsquery_deserializeErrorLimitExceededFault(response, errorBody) @@ -10801,6 +10804,9 @@ func awsAwsquery_deserializeOpErrorModifyCluster(response *smithyhttp.Response, case strings.EqualFold("InvalidRetentionPeriodFault", errorCode): return awsAwsquery_deserializeErrorInvalidRetentionPeriodFault(response, errorBody) + case strings.EqualFold("Ipv6CidrBlockNotFoundFault", errorCode): + return awsAwsquery_deserializeErrorIpv6CidrBlockNotFoundFault(response, errorBody) + case strings.EqualFold("LimitExceededFault", errorCode): return awsAwsquery_deserializeErrorLimitExceededFault(response, errorBody) @@ -13415,6 +13421,9 @@ func awsAwsquery_deserializeOpErrorRestoreFromClusterSnapshot(response *smithyht case strings.EqualFold("InvalidVPCNetworkStateFault", errorCode): return awsAwsquery_deserializeErrorInvalidVPCNetworkStateFault(response, errorBody) + case strings.EqualFold("Ipv6CidrBlockNotFoundFault", errorCode): + return awsAwsquery_deserializeErrorIpv6CidrBlockNotFoundFault(response, errorBody) + case strings.EqualFold("LimitExceededFault", errorCode): return awsAwsquery_deserializeErrorLimitExceededFault(response, errorBody) @@ -17979,6 +17988,50 @@ func awsAwsquery_deserializeErrorInvalidVPCNetworkStateFault(response *smithyhtt return output } +func awsAwsquery_deserializeErrorIpv6CidrBlockNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.Ipv6CidrBlockNotFoundFault{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(errorBody, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return output + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("Error") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsAwsquery_deserializeDocumentIpv6CidrBlockNotFoundFault(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return output +} + func awsAwsquery_deserializeErrorLimitExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { output := &types.LimitExceededFault{} var buff [1024]byte @@ -22157,6 +22210,19 @@ func awsAwsquery_deserializeDocumentCluster(v **types.Cluster, decoder smithyxml return err } + case strings.EqualFold("IpAddressType", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.IpAddressType = ptr.String(xtv) + } + case strings.EqualFold("KmsKeyId", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -24434,6 +24500,12 @@ func awsAwsquery_deserializeDocumentClusterSubnetGroup(v **types.ClusterSubnetGr return err } + case strings.EqualFold("SupportedClusterIpAddressTypes", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentValueStringList(&sv.SupportedClusterIpAddressTypes, nodeDecoder); err != nil { + return err + } + case strings.EqualFold("Tags", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) if err := awsAwsquery_deserializeDocumentTagList(&sv.Tags, nodeDecoder); err != nil { @@ -30952,6 +31024,55 @@ func awsAwsquery_deserializeDocumentIPRangeListUnwrapped(v *[]types.IPRange, dec *v = sv return nil } +func awsAwsquery_deserializeDocumentIpv6CidrBlockNotFoundFault(v **types.Ipv6CidrBlockNotFoundFault, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.Ipv6CidrBlockNotFoundFault + if *v == nil { + sv = &types.Ipv6CidrBlockNotFoundFault{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsAwsquery_deserializeDocumentLimitExceededFault(v **types.LimitExceededFault, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -31184,6 +31305,19 @@ func awsAwsquery_deserializeDocumentNetworkInterface(v **types.NetworkInterface, sv.AvailabilityZone = ptr.String(xtv) } + case strings.EqualFold("Ipv6Address", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Ipv6Address = ptr.String(xtv) + } + case strings.EqualFold("NetworkInterfaceId", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -39326,6 +39460,86 @@ func awsAwsquery_deserializeDocumentUsageLimitsUnwrapped(v *[]types.UsageLimit, *v = sv return nil } +func awsAwsquery_deserializeDocumentValueStringList(v *[]string, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []string + if *v == nil { + sv = make([]string, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("item", t.Name.Local): + var col string + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = xtv + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentValueStringListUnwrapped(v *[]string, decoder smithyxml.NodeDecoder) error { + var sv []string + if *v == nil { + sv = make([]string, 0) + } else { + sv = *v + } + + switch { + default: + var mv string + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = xtv + } + sv = append(sv, mv) + } + *v = sv + return nil +} func awsAwsquery_deserializeDocumentVpcEndpoint(v **types.VpcEndpoint, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/redshift/serializers.go b/service/redshift/serializers.go index 4346390128d..03342f4815a 100644 --- a/service/redshift/serializers.go +++ b/service/redshift/serializers.go @@ -8969,6 +8969,11 @@ func awsAwsquery_serializeOpDocumentCreateClusterInput(v *CreateClusterInput, va } } + if v.IpAddressType != nil { + objectKey := object.Key("IpAddressType") + objectKey.String(*v.IpAddressType) + } + if v.KmsKeyId != nil { objectKey := object.Key("KmsKeyId") objectKey.String(*v.KmsKeyId) @@ -11372,6 +11377,11 @@ func awsAwsquery_serializeOpDocumentModifyClusterInput(v *ModifyClusterInput, va objectKey.String(*v.HsmConfigurationIdentifier) } + if v.IpAddressType != nil { + objectKey := object.Key("IpAddressType") + objectKey.String(*v.IpAddressType) + } + if v.KmsKeyId != nil { objectKey := object.Key("KmsKeyId") objectKey.String(*v.KmsKeyId) @@ -11994,6 +12004,11 @@ func awsAwsquery_serializeOpDocumentRestoreFromClusterSnapshotInput(v *RestoreFr } } + if v.IpAddressType != nil { + objectKey := object.Key("IpAddressType") + objectKey.String(*v.IpAddressType) + } + if v.KmsKeyId != nil { objectKey := object.Key("KmsKeyId") objectKey.String(*v.KmsKeyId) diff --git a/service/redshift/types/errors.go b/service/redshift/types/errors.go index fc60be72d59..d066bd4b039 100644 --- a/service/redshift/types/errors.go +++ b/service/redshift/types/errors.go @@ -2314,6 +2314,33 @@ func (e *InvalidVPCNetworkStateFault) ErrorCode() string { } func (e *InvalidVPCNetworkStateFault) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +// There are no subnets in your VPC with associated IPv6 CIDR blocks. To use +// dual-stack mode, associate an IPv6 CIDR block with each subnet in your VPC. +type Ipv6CidrBlockNotFoundFault struct { + Message *string + + ErrorCodeOverride *string + + noSmithyDocumentSerde +} + +func (e *Ipv6CidrBlockNotFoundFault) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *Ipv6CidrBlockNotFoundFault) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *Ipv6CidrBlockNotFoundFault) ErrorCode() string { + if e == nil || e.ErrorCodeOverride == nil { + return "Ipv6CidrBlockNotFoundFault" + } + return *e.ErrorCodeOverride +} +func (e *Ipv6CidrBlockNotFoundFault) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } + // The encryption key has exceeded its grant limit in Amazon Web Services KMS. type LimitExceededFault struct { Message *string diff --git a/service/redshift/types/types.go b/service/redshift/types/types.go index 39aac6e8cf6..5d5cb55f162 100644 --- a/service/redshift/types/types.go +++ b/service/redshift/types/types.go @@ -271,6 +271,9 @@ type Cluster struct { // cluster to access other Amazon Web Services services. IamRoles []ClusterIamRole + // The IP address type for the cluster. Possible values are ipv4 and dualstack . + IpAddressType *string + // The Key Management Service (KMS) key ID of the encryption key used to encrypt // data in the cluster. KmsKeyId *string @@ -563,6 +566,10 @@ type ClusterSubnetGroup struct { // A list of the VPC Subnet elements. Subnets []Subnet + // The IP address types supported by this cluster subnet group. Possible values + // are ipv4 and dualstack . + SupportedClusterIpAddressTypes []string + // The list of tags for the cluster subnet group. Tags []Tag @@ -1084,6 +1091,9 @@ type NetworkInterface struct { // The Availability Zone. AvailabilityZone *string + // The IPv6 address of the network interface within the subnet. + Ipv6Address *string + // The network interface identifier. NetworkInterfaceId *string diff --git a/service/securitylake/internal/endpoints/endpoints.go b/service/securitylake/internal/endpoints/endpoints.go index 1b2f4398e90..387ec72b75b 100644 --- a/service/securitylake/internal/endpoints/endpoints.go +++ b/service/securitylake/internal/endpoints/endpoints.go @@ -145,6 +145,9 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "ap-northeast-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-3", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "ap-south-1", }: endpoints.Endpoint{}, @@ -154,15 +157,24 @@ var defaultPartitions = endpoints.Partitions{ 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-north-1", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "eu-west-1", }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "eu-west-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-3", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "sa-east-1", }: endpoints.Endpoint{}, diff --git a/service/wafv2/api_op_AssociateWebACL.go b/service/wafv2/api_op_AssociateWebACL.go index bd31ffbb828..02b387e7fe8 100644 --- a/service/wafv2/api_op_AssociateWebACL.go +++ b/service/wafv2/api_op_AssociateWebACL.go @@ -23,18 +23,23 @@ import ( // distribution configuration. To associate a web ACL, in the CloudFront call // UpdateDistribution , set the web ACL ID to the Amazon Resource Name (ARN) of the // web ACL. For information, see UpdateDistribution (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) -// in the Amazon CloudFront Developer Guide. When you make changes to web ACLs or -// web ACL components, like rules and rule groups, WAF propagates the changes -// everywhere that the web ACL and its components are stored and used. Your changes -// are applied within seconds, but there might be a brief period of inconsistency -// when the changes have arrived in some places and not in others. So, for example, -// if you change a rule action setting, the action might be the old action in one -// area and the new action in another area. Or if you add an IP address to an IP -// set used in a blocking rule, the new address might briefly be blocked in one -// area while still allowed in another. This temporary inconsistency can occur when -// you first associate a web ACL with an Amazon Web Services resource and when you -// change a web ACL that is already associated with a resource. Generally, any -// inconsistencies of this type last only a few seconds. +// in the Amazon CloudFront Developer Guide. Required permissions for +// customer-managed IAM policies This call requires permissions that are specific +// to the protected resource type. For details, see Permissions for AssociateWebACL (https://docs.aws.amazon.com/waf/latest/developerguide/security_iam_service-with-iam.html#security_iam_action-AssociateWebACL) +// in the WAF Developer Guide. Temporary inconsistencies during updates When you +// create or change a web ACL or other WAF resources, the changes take a small +// amount of time to propagate to all areas where the resources are stored. The +// propagation time can be from a few seconds to a number of minutes. The following +// are examples of the temporary inconsistencies that you might notice during +// change propagation: +// - After you create a web ACL, if you try to associate it with a resource, you +// might get an exception indicating that the web ACL is unavailable. +// - After you add a rule group to a web ACL, the new rule group rules might be +// in effect in one area where the web ACL is used and not in another. +// - After you change a rule action setting, you might see the old action in +// some places and the new action in others. +// - After you add an IP address to an IP set that is in use in a blocking rule, +// the new address might be blocked in one area while still allowed in another. func (c *Client) AssociateWebACL(ctx context.Context, params *AssociateWebACLInput, optFns ...func(*Options)) (*AssociateWebACLOutput, error) { if params == nil { params = &AssociateWebACLInput{} diff --git a/service/wafv2/api_op_DisassociateWebACL.go b/service/wafv2/api_op_DisassociateWebACL.go index dd65a097444..e6e0810f731 100644 --- a/service/wafv2/api_op_DisassociateWebACL.go +++ b/service/wafv2/api_op_DisassociateWebACL.go @@ -23,7 +23,11 @@ import ( // CloudFront, don't use this call. Instead, use your CloudFront distribution // configuration. To disassociate a web ACL, provide an empty web ACL ID in the // CloudFront call UpdateDistribution . For information, see UpdateDistribution (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) -// in the Amazon CloudFront API Reference. +// in the Amazon CloudFront API Reference. Required permissions for +// customer-managed IAM policies This call requires permissions that are specific +// to the protected resource type. For details, see Permissions for +// DisassociateWebACL (https://docs.aws.amazon.com/waf/latest/developerguide/security_iam_service-with-iam.html#security_iam_action-DisassociateWebACL) +// in the WAF Developer Guide. func (c *Client) DisassociateWebACL(ctx context.Context, params *DisassociateWebACLInput, optFns ...func(*Options)) (*DisassociateWebACLOutput, error) { if params == nil { params = &DisassociateWebACLInput{} diff --git a/service/wafv2/api_op_GetWebACLForResource.go b/service/wafv2/api_op_GetWebACLForResource.go index 1fb5321c194..7c31307e4af 100644 --- a/service/wafv2/api_op_GetWebACLForResource.go +++ b/service/wafv2/api_op_GetWebACLForResource.go @@ -16,7 +16,18 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Retrieves the WebACL for the specified resource. +// Retrieves the WebACL for the specified resource. This call uses GetWebACL , to +// verify that your account has permission to access the retrieved web ACL. If you +// get an error that indicates that your account isn't authorized to perform +// wafv2:GetWebACL on the resource, that error won't be included in your CloudTrail +// event history. For Amazon CloudFront, don't use this call. Instead, call the +// CloudFront action GetDistributionConfig . For information, see +// GetDistributionConfig (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistributionConfig.html) +// in the Amazon CloudFront API Reference. Required permissions for +// customer-managed IAM policies This call requires permissions that are specific +// to the protected resource type. For details, see Permissions for +// GetWebACLForResource (https://docs.aws.amazon.com/waf/latest/developerguide/security_iam_service-with-iam.html#security_iam_action-GetWebACLForResource) +// in the WAF Developer Guide. func (c *Client) GetWebACLForResource(ctx context.Context, params *GetWebACLForResourceInput, optFns ...func(*Options)) (*GetWebACLForResourceOutput, error) { if params == nil { params = &GetWebACLForResourceInput{} diff --git a/service/wafv2/api_op_ListResourcesForWebACL.go b/service/wafv2/api_op_ListResourcesForWebACL.go index bb8ae5ec87f..708b67140a3 100644 --- a/service/wafv2/api_op_ListResourcesForWebACL.go +++ b/service/wafv2/api_op_ListResourcesForWebACL.go @@ -17,9 +17,14 @@ import ( ) // Retrieves an array of the Amazon Resource Names (ARNs) for the regional -// resources that are associated with the specified web ACL. If you want the list -// of Amazon CloudFront resources, use the CloudFront call -// ListDistributionsByWebACLId . +// resources that are associated with the specified web ACL. For Amazon CloudFront, +// don't use this call. Instead, use the CloudFront call +// ListDistributionsByWebACLId . For information, see ListDistributionsByWebACLId (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListDistributionsByWebACLId.html) +// in the Amazon CloudFront API Reference. Required permissions for +// customer-managed IAM policies This call requires permissions that are specific +// to the protected resource type. For details, see Permissions for +// ListResourcesForWebACL (https://docs.aws.amazon.com/waf/latest/developerguide/security_iam_service-with-iam.html#security_iam_action-ListResourcesForWebACL) +// in the WAF Developer Guide. func (c *Client) ListResourcesForWebACL(ctx context.Context, params *ListResourcesForWebACLInput, optFns ...func(*Options)) (*ListResourcesForWebACLOutput, error) { if params == nil { params = &ListResourcesForWebACLInput{} diff --git a/service/wafv2/api_op_UpdateIPSet.go b/service/wafv2/api_op_UpdateIPSet.go index c7f0609ef63..b1db0eabbb7 100644 --- a/service/wafv2/api_op_UpdateIPSet.go +++ b/service/wafv2/api_op_UpdateIPSet.go @@ -23,18 +23,19 @@ import ( // - Update its settings as needed // - Provide the complete IP set specification to this call // -// When you make changes to web ACLs or web ACL components, like rules and rule -// groups, WAF propagates the changes everywhere that the web ACL and its -// components are stored and used. Your changes are applied within seconds, but -// there might be a brief period of inconsistency when the changes have arrived in -// some places and not in others. So, for example, if you change a rule action -// setting, the action might be the old action in one area and the new action in -// another area. Or if you add an IP address to an IP set used in a blocking rule, -// the new address might briefly be blocked in one area while still allowed in -// another. This temporary inconsistency can occur when you first associate a web -// ACL with an Amazon Web Services resource and when you change a web ACL that is -// already associated with a resource. Generally, any inconsistencies of this type -// last only a few seconds. +// Temporary inconsistencies during updates When you create or change a web ACL or +// other WAF resources, the changes take a small amount of time to propagate to all +// areas where the resources are stored. The propagation time can be from a few +// seconds to a number of minutes. The following are examples of the temporary +// inconsistencies that you might notice during change propagation: +// - After you create a web ACL, if you try to associate it with a resource, you +// might get an exception indicating that the web ACL is unavailable. +// - After you add a rule group to a web ACL, the new rule group rules might be +// in effect in one area where the web ACL is used and not in another. +// - After you change a rule action setting, you might see the old action in +// some places and the new action in others. +// - After you add an IP address to an IP set that is in use in a blocking rule, +// the new address might be blocked in one area while still allowed in another. func (c *Client) UpdateIPSet(ctx context.Context, params *UpdateIPSetInput, optFns ...func(*Options)) (*UpdateIPSetOutput, error) { if params == nil { params = &UpdateIPSetInput{} diff --git a/service/wafv2/api_op_UpdateRegexPatternSet.go b/service/wafv2/api_op_UpdateRegexPatternSet.go index aadf3ca907d..0c3622f01b3 100644 --- a/service/wafv2/api_op_UpdateRegexPatternSet.go +++ b/service/wafv2/api_op_UpdateRegexPatternSet.go @@ -24,18 +24,19 @@ import ( // - Update its settings as needed // - Provide the complete regex pattern set specification to this call // -// When you make changes to web ACLs or web ACL components, like rules and rule -// groups, WAF propagates the changes everywhere that the web ACL and its -// components are stored and used. Your changes are applied within seconds, but -// there might be a brief period of inconsistency when the changes have arrived in -// some places and not in others. So, for example, if you change a rule action -// setting, the action might be the old action in one area and the new action in -// another area. Or if you add an IP address to an IP set used in a blocking rule, -// the new address might briefly be blocked in one area while still allowed in -// another. This temporary inconsistency can occur when you first associate a web -// ACL with an Amazon Web Services resource and when you change a web ACL that is -// already associated with a resource. Generally, any inconsistencies of this type -// last only a few seconds. +// Temporary inconsistencies during updates When you create or change a web ACL or +// other WAF resources, the changes take a small amount of time to propagate to all +// areas where the resources are stored. The propagation time can be from a few +// seconds to a number of minutes. The following are examples of the temporary +// inconsistencies that you might notice during change propagation: +// - After you create a web ACL, if you try to associate it with a resource, you +// might get an exception indicating that the web ACL is unavailable. +// - After you add a rule group to a web ACL, the new rule group rules might be +// in effect in one area where the web ACL is used and not in another. +// - After you change a rule action setting, you might see the old action in +// some places and the new action in others. +// - After you add an IP address to an IP set that is in use in a blocking rule, +// the new address might be blocked in one area while still allowed in another. func (c *Client) UpdateRegexPatternSet(ctx context.Context, params *UpdateRegexPatternSetInput, optFns ...func(*Options)) (*UpdateRegexPatternSetOutput, error) { if params == nil { params = &UpdateRegexPatternSetInput{} diff --git a/service/wafv2/api_op_UpdateRuleGroup.go b/service/wafv2/api_op_UpdateRuleGroup.go index 08497f8af02..b0bd520d849 100644 --- a/service/wafv2/api_op_UpdateRuleGroup.go +++ b/service/wafv2/api_op_UpdateRuleGroup.go @@ -23,22 +23,24 @@ import ( // - Update its settings as needed // - Provide the complete rule group specification to this call // -// When you make changes to web ACLs or web ACL components, like rules and rule -// groups, WAF propagates the changes everywhere that the web ACL and its -// components are stored and used. Your changes are applied within seconds, but -// there might be a brief period of inconsistency when the changes have arrived in -// some places and not in others. So, for example, if you change a rule action -// setting, the action might be the old action in one area and the new action in -// another area. Or if you add an IP address to an IP set used in a blocking rule, -// the new address might briefly be blocked in one area while still allowed in -// another. This temporary inconsistency can occur when you first associate a web -// ACL with an Amazon Web Services resource and when you change a web ACL that is -// already associated with a resource. Generally, any inconsistencies of this type -// last only a few seconds. A rule group defines a collection of rules to inspect -// and control web requests that you can use in a WebACL . When you create a rule -// group, you define an immutable capacity limit. If you update a rule group, you -// must stay within the capacity. This allows others to reuse the rule group with -// confidence in its capacity requirements. +// A rule group defines a collection of rules to inspect and control web requests +// that you can use in a WebACL . When you create a rule group, you define an +// immutable capacity limit. If you update a rule group, you must stay within the +// capacity. This allows others to reuse the rule group with confidence in its +// capacity requirements. Temporary inconsistencies during updates When you create +// or change a web ACL or other WAF resources, the changes take a small amount of +// time to propagate to all areas where the resources are stored. The propagation +// time can be from a few seconds to a number of minutes. The following are +// examples of the temporary inconsistencies that you might notice during change +// propagation: +// - After you create a web ACL, if you try to associate it with a resource, you +// might get an exception indicating that the web ACL is unavailable. +// - After you add a rule group to a web ACL, the new rule group rules might be +// in effect in one area where the web ACL is used and not in another. +// - After you change a rule action setting, you might see the old action in +// some places and the new action in others. +// - After you add an IP address to an IP set that is in use in a blocking rule, +// the new address might be blocked in one area while still allowed in another. func (c *Client) UpdateRuleGroup(ctx context.Context, params *UpdateRuleGroupInput, optFns ...func(*Options)) (*UpdateRuleGroupOutput, error) { if params == nil { params = &UpdateRuleGroupInput{} diff --git a/service/wafv2/api_op_UpdateWebACL.go b/service/wafv2/api_op_UpdateWebACL.go index 13f303cc8eb..238cedf1eed 100644 --- a/service/wafv2/api_op_UpdateWebACL.go +++ b/service/wafv2/api_op_UpdateWebACL.go @@ -25,28 +25,29 @@ import ( // - Update its settings as needed // - Provide the complete web ACL specification to this call // -// When you make changes to web ACLs or web ACL components, like rules and rule -// groups, WAF propagates the changes everywhere that the web ACL and its -// components are stored and used. Your changes are applied within seconds, but -// there might be a brief period of inconsistency when the changes have arrived in -// some places and not in others. So, for example, if you change a rule action -// setting, the action might be the old action in one area and the new action in -// another area. Or if you add an IP address to an IP set used in a blocking rule, -// the new address might briefly be blocked in one area while still allowed in -// another. This temporary inconsistency can occur when you first associate a web -// ACL with an Amazon Web Services resource and when you change a web ACL that is -// already associated with a resource. Generally, any inconsistencies of this type -// last only a few seconds. A web ACL defines a collection of rules to use to -// inspect and control web requests. Each rule has a statement that defines what to -// look for in web requests and an action that WAF applies to requests that match -// the statement. In the web ACL, you assign a default action to take (allow, -// block) for any request that does not match any of the rules. The rules in a web -// ACL can be a combination of the types Rule , RuleGroup , and managed rule group. -// You can associate a web ACL with one or more Amazon Web Services resources to -// protect. The resources can be an Amazon CloudFront distribution, an Amazon API -// Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, an -// Amazon Cognito user pool, an App Runner service, or an Amazon Web Services -// Verified Access instance. +// A web ACL defines a collection of rules to use to inspect and control web +// requests. Each rule has a statement that defines what to look for in web +// requests and an action that WAF applies to requests that match the statement. In +// the web ACL, you assign a default action to take (allow, block) for any request +// that does not match any of the rules. The rules in a web ACL can be a +// combination of the types Rule , RuleGroup , and managed rule group. You can +// associate a web ACL with one or more Amazon Web Services resources to protect. +// The resources can be an Amazon CloudFront distribution, an Amazon API Gateway +// REST API, an Application Load Balancer, an AppSync GraphQL API, an Amazon +// Cognito user pool, an App Runner service, or an Amazon Web Services Verified +// Access instance. Temporary inconsistencies during updates When you create or +// change a web ACL or other WAF resources, the changes take a small amount of time +// to propagate to all areas where the resources are stored. The propagation time +// can be from a few seconds to a number of minutes. The following are examples of +// the temporary inconsistencies that you might notice during change propagation: +// - After you create a web ACL, if you try to associate it with a resource, you +// might get an exception indicating that the web ACL is unavailable. +// - After you add a rule group to a web ACL, the new rule group rules might be +// in effect in one area where the web ACL is used and not in another. +// - After you change a rule action setting, you might see the old action in +// some places and the new action in others. +// - After you add an IP address to an IP set that is in use in a blocking rule, +// the new address might be blocked in one area while still allowed in another. func (c *Client) UpdateWebACL(ctx context.Context, params *UpdateWebACLInput, optFns ...func(*Options)) (*UpdateWebACLOutput, error) { if params == nil { params = &UpdateWebACLInput{} diff --git a/service/wafv2/types/types.go b/service/wafv2/types/types.go index 493b3594f7e..81bd6bdef0b 100644 --- a/service/wafv2/types/types.go +++ b/service/wafv2/types/types.go @@ -342,9 +342,9 @@ type ByteMatchStatement struct { // able to calculate the fingerprint, it includes it in the logs. For information // about the logging fields, see Log fields (https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html) // in the WAF Developer Guide. - // - HeaderOrder : The comma-separated list of header names to match for. WAF - // creates a string that contains the ordered list of header names, from the - // headers in the web request, and then matches against that string. + // - HeaderOrder : The list of header names to match for. WAF creates a string + // that contains the ordered list of header names, from the headers in the web + // request, and then matches against that string. // If SearchString includes alphabetic characters A-Z and a-z, note that the value // is case sensitive. If you're using the WAF API Specify a base64-encoded version // of the value. The maximum length of the value before you base64-encode it is 200 @@ -548,7 +548,11 @@ type Cookies struct { MatchPattern *CookieMatchPattern // The parts of the cookies to inspect with the rule inspection criteria. If you - // specify All , WAF inspects both keys and values. + // specify ALL , WAF inspects both keys and values. All does not require a match + // to be found in the keys and a match to be found in the values. It requires a + // match to be found in the keys or the values or both. To require a match in the + // keys and in the values, use a logical AND statement to combine two match rules, + // one that inspects the keys and another that inspects the values. // // This member is required. MatchScope MapMatchScope @@ -1047,7 +1051,11 @@ type Headers struct { MatchPattern *HeaderMatchPattern // The parts of the headers to match with the rule inspection criteria. If you - // specify All , WAF inspects both keys and values. + // specify ALL , WAF inspects both keys and values. All does not require a match + // to be found in the keys and a match to be found in the values. It requires a + // match to be found in the keys or the values or both. To require a match in the + // keys and in the values, use a logical AND statement to combine two match rules, + // one that inspects the keys and another that inspects the values. // // This member is required. MatchScope MapMatchScope @@ -1343,7 +1351,11 @@ type JsonBody struct { MatchPattern *JsonMatchPattern // The parts of the JSON to match against using the MatchPattern . If you specify - // All , WAF matches against keys and values. + // ALL , WAF matches against keys and values. All does not require a match to be + // found in the keys and a match to be found in the values. It requires a match to + // be found in the keys or the values or both. To require a match in the keys and + // in the values, use a logical AND statement to combine two match rules, one that + // inspects the keys and another that inspects the values. // // This member is required. MatchScope JsonMatchScope