diff --git a/go.mod b/go.mod index 721ed5bbd..f25feec03 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/IBM/keyprotect-go-client v0.9.2 - github.com/aws/aws-sdk-go v1.44.190 + github.com/aws/aws-sdk-go v1.44.195 github.com/aws/aws-sdk-go-v2/service/sts v1.18.3 github.com/ceph/ceph-csi/api v0.0.0-00010101000000-000000000000 // TODO: API for managing subvolume metadata and snapshot metadata requires `ceph_ci_untested` build-tag diff --git a/go.sum b/go.sum index d299ce3bb..ac3717bbf 100644 --- a/go.sum +++ b/go.sum @@ -132,8 +132,8 @@ github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:l github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.41/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.44.190 h1:QC+Pf/Ooj7Waf2obOPZbIQOqr00hy4h54j3ZK9mvHcc= -github.com/aws/aws-sdk-go v1.44.190/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go v1.44.195 h1:d5xFL0N83Fpsq2LFiHgtBUHknCRUPGHdOlCWt/jtOJs= +github.com/aws/aws-sdk-go v1.44.195/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v1.17.4 h1:wyC6p9Yfq6V2y98wfDsj6OnNQa4w2BLGCLIxzNhwOGY= github.com/aws/aws-sdk-go-v2 v1.17.4/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.28 h1:r+XwaCLpIvCKjBIYy/HVZujQS9tsz5ohHG3ZIe0wKoE= diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index 4cb781fed..3eea5472e 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -4938,6 +4938,76 @@ var awsPartition = partition{ }, }, }, + "cloudtrail-data": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-east-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, + endpointKey{ + Region: "ap-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + }: endpoint{}, + endpointKey{ + Region: "me-south-1", + }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "codeartifact": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -8109,6 +8179,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-south-1", }: endpoint{}, + endpointKey{ + Region: "ap-south-2", + }: endpoint{}, endpointKey{ Region: "ap-southeast-1", }: endpoint{}, @@ -8130,12 +8203,18 @@ var awsPartition = partition{ endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-2", + }: endpoint{}, endpointKey{ Region: "eu-north-1", }: endpoint{}, endpointKey{ Region: "eu-south-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-2", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, @@ -10941,6 +11020,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-south-1", }: endpoint{}, + endpointKey{ + Region: "ap-south-2", + }: endpoint{}, endpointKey{ Region: "ap-southeast-1", }: endpoint{}, @@ -10956,12 +11038,18 @@ var awsPartition = partition{ endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-2", + }: endpoint{}, endpointKey{ Region: "eu-north-1", }: endpoint{}, endpointKey{ Region: "eu-south-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-2", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, @@ -11127,6 +11215,9 @@ var awsPartition = partition{ }: endpoint{ Hostname: "fms-fips.ap-southeast-2.amazonaws.com", }, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -11355,6 +11446,9 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "me-central-1", + }: endpoint{}, endpointKey{ Region: "me-south-1", }: endpoint{}, @@ -12230,6 +12324,9 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "me-central-1", + }: endpoint{}, endpointKey{ Region: "me-south-1", }: endpoint{}, @@ -14225,16 +14322,16 @@ var awsPartition = partition{ }: endpoint{ Hostname: "kendra-ranking.ap-southeast-3.api.aws", }, + endpointKey{ + Region: "ap-southeast-4", + }: endpoint{ + Hostname: "kendra-ranking.ap-southeast-4.api.aws", + }, endpointKey{ Region: "ca-central-1", }: endpoint{ Hostname: "kendra-ranking.ca-central-1.api.aws", }, - endpointKey{ - Region: "eu-central-1", - }: endpoint{ - Hostname: "kendra-ranking.eu-central-1.api.aws", - }, endpointKey{ Region: "eu-central-2", }: endpoint{ @@ -14260,11 +14357,6 @@ var awsPartition = partition{ }: endpoint{ Hostname: "kendra-ranking.eu-west-1.api.aws", }, - endpointKey{ - Region: "eu-west-2", - }: endpoint{ - Hostname: "kendra-ranking.eu-west-2.api.aws", - }, endpointKey{ Region: "eu-west-3", }: endpoint{ @@ -31351,6 +31443,24 @@ var awsusgovPartition = partition{ Region: "us-gov-east-1", }, }, + endpointKey{ + Region: "us-gov-east-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "cloudformation.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + endpointKey{ + Region: "us-gov-east-1-fips", + }: endpoint{ + Hostname: "cloudformation.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "us-gov-west-1", }: endpoint{ @@ -31359,6 +31469,24 @@ var awsusgovPartition = partition{ Region: "us-gov-west-1", }, }, + endpointKey{ + Region: "us-gov-west-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "cloudformation.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + endpointKey{ + Region: "us-gov-west-1-fips", + }: endpoint{ + Hostname: "cloudformation.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + Deprecated: boxedTrue, + }, }, }, "cloudhsm": service{ @@ -31677,6 +31805,26 @@ var awsusgovPartition = partition{ }, }, }, + "compute-optimizer": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{ + Hostname: "compute-optimizer-fips.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + endpointKey{ + Region: "us-gov-west-1", + }: endpoint{ + Hostname: "compute-optimizer-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + }, + }, "config": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{}, @@ -33054,6 +33202,21 @@ var awsusgovPartition = partition{ endpointKey{ Region: "us-gov-west-1", }: endpoint{}, + endpointKey{ + Region: "us-gov-west-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "ingest.timestream.us-gov-west-1.amazonaws.com", + }, + endpointKey{ + Region: "us-gov-west-1-fips", + }: endpoint{ + Hostname: "ingest.timestream.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + Deprecated: boxedTrue, + }, }, }, "inspector": service{ @@ -33096,6 +33259,16 @@ var awsusgovPartition = partition{ }, }, }, + "inspector2": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-gov-west-1", + }: endpoint{}, + }, + }, "iot": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ @@ -33324,6 +33497,24 @@ var awsusgovPartition = partition{ }, "kinesis": service{ Endpoints: serviceEndpoints{ + endpointKey{ + Region: "fips-us-gov-east-1", + }: endpoint{ + Hostname: "kinesis.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-gov-west-1", + }: endpoint{ + Hostname: "kinesis.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "us-gov-east-1", }: endpoint{ @@ -33332,6 +33523,15 @@ var awsusgovPartition = partition{ Region: "us-gov-east-1", }, }, + endpointKey{ + Region: "us-gov-east-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "kinesis.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, endpointKey{ Region: "us-gov-west-1", }: endpoint{ @@ -33340,6 +33540,15 @@ var awsusgovPartition = partition{ Region: "us-gov-west-1", }, }, + endpointKey{ + Region: "us-gov-west-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "kinesis.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "kinesisanalytics": service{ @@ -34051,6 +34260,24 @@ var awsusgovPartition = partition{ Region: "us-gov-east-1", }, }, + endpointKey{ + Region: "us-gov-east-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "ram.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + endpointKey{ + Region: "us-gov-east-1-fips", + }: endpoint{ + Hostname: "ram.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "us-gov-west-1", }: endpoint{ @@ -34059,6 +34286,24 @@ var awsusgovPartition = partition{ Region: "us-gov-west-1", }, }, + endpointKey{ + Region: "us-gov-west-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "ram.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + endpointKey{ + Region: "us-gov-west-1-fips", + }: endpoint{ + Hostname: "ram.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + Deprecated: boxedTrue, + }, }, }, "rbin": service{ @@ -35440,6 +35685,24 @@ var awsusgovPartition = partition{ Region: "us-gov-east-1", }, }, + endpointKey{ + Region: "us-gov-east-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "swf.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + endpointKey{ + Region: "us-gov-east-1-fips", + }: endpoint{ + Hostname: "swf.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "us-gov-west-1", }: endpoint{ @@ -35448,6 +35711,24 @@ var awsusgovPartition = partition{ Region: "us-gov-west-1", }, }, + endpointKey{ + Region: "us-gov-west-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "swf.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + endpointKey{ + Region: "us-gov-west-1-fips", + }: endpoint{ + Hostname: "swf.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + Deprecated: boxedTrue, + }, }, }, "synthetics": service{ diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index 261a071a6..0d1e26e51 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.190" +const SDKVersion = "1.44.195" diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go index bce051051..e90ac8634 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go @@ -1145,6 +1145,81 @@ func (c *EC2) AssignPrivateIpAddressesWithContext(ctx aws.Context, input *Assign return out, req.Send() } +const opAssignPrivateNatGatewayAddress = "AssignPrivateNatGatewayAddress" + +// AssignPrivateNatGatewayAddressRequest generates a "aws/request.Request" representing the +// client's request for the AssignPrivateNatGatewayAddress operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssignPrivateNatGatewayAddress for more information on using the AssignPrivateNatGatewayAddress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the AssignPrivateNatGatewayAddressRequest method. +// req, resp := client.AssignPrivateNatGatewayAddressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateNatGatewayAddress +func (c *EC2) AssignPrivateNatGatewayAddressRequest(input *AssignPrivateNatGatewayAddressInput) (req *request.Request, output *AssignPrivateNatGatewayAddressOutput) { + op := &request.Operation{ + Name: opAssignPrivateNatGatewayAddress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssignPrivateNatGatewayAddressInput{} + } + + output = &AssignPrivateNatGatewayAddressOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssignPrivateNatGatewayAddress API operation for Amazon Elastic Compute Cloud. +// +// Assigns one or more private IPv4 addresses to a private NAT gateway. For +// more information, see Work with NAT gateways (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-working-with) +// in the Amazon Virtual Private Cloud User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AssignPrivateNatGatewayAddress for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateNatGatewayAddress +func (c *EC2) AssignPrivateNatGatewayAddress(input *AssignPrivateNatGatewayAddressInput) (*AssignPrivateNatGatewayAddressOutput, error) { + req, out := c.AssignPrivateNatGatewayAddressRequest(input) + return out, req.Send() +} + +// AssignPrivateNatGatewayAddressWithContext is the same as AssignPrivateNatGatewayAddress with the addition of +// the ability to pass a context and additional request options. +// +// See AssignPrivateNatGatewayAddress for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) AssignPrivateNatGatewayAddressWithContext(ctx aws.Context, input *AssignPrivateNatGatewayAddressInput, opts ...request.Option) (*AssignPrivateNatGatewayAddressOutput, error) { + req, out := c.AssignPrivateNatGatewayAddressRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAssociateAddress = "AssociateAddress" // AssociateAddressRequest generates a "aws/request.Request" representing the @@ -1708,8 +1783,8 @@ func (c *EC2) AssociateIpamResourceDiscoveryRequest(input *AssociateIpamResource // AssociateIpamResourceDiscovery API operation for Amazon Elastic Compute Cloud. // // Associates an IPAM resource discovery with an Amazon VPC IPAM. A resource -// discovery is an IPAM component that enables IPAM Service to manage and monitor -// resources that belong to the owning account. +// discovery is an IPAM component that enables IPAM to manage and monitor resources +// that belong to the owning account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1739,6 +1814,86 @@ func (c *EC2) AssociateIpamResourceDiscoveryWithContext(ctx aws.Context, input * return out, req.Send() } +const opAssociateNatGatewayAddress = "AssociateNatGatewayAddress" + +// AssociateNatGatewayAddressRequest generates a "aws/request.Request" representing the +// client's request for the AssociateNatGatewayAddress operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssociateNatGatewayAddress for more information on using the AssociateNatGatewayAddress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the AssociateNatGatewayAddressRequest method. +// req, resp := client.AssociateNatGatewayAddressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateNatGatewayAddress +func (c *EC2) AssociateNatGatewayAddressRequest(input *AssociateNatGatewayAddressInput) (req *request.Request, output *AssociateNatGatewayAddressOutput) { + op := &request.Operation{ + Name: opAssociateNatGatewayAddress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateNatGatewayAddressInput{} + } + + output = &AssociateNatGatewayAddressOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateNatGatewayAddress API operation for Amazon Elastic Compute Cloud. +// +// Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a +// public NAT gateway. For more information, see Work with NAT gateways (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-working-with) +// in the Amazon Virtual Private Cloud User Guide. +// +// By default, you can associate up to 2 Elastic IP addresses per public NAT +// gateway. You can increase the limit by requesting a quota adjustment. For +// more information, see Elastic IP address quotas (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-eips) +// in the Amazon Virtual Private Cloud User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AssociateNatGatewayAddress for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateNatGatewayAddress +func (c *EC2) AssociateNatGatewayAddress(input *AssociateNatGatewayAddressInput) (*AssociateNatGatewayAddressOutput, error) { + req, out := c.AssociateNatGatewayAddressRequest(input) + return out, req.Send() +} + +// AssociateNatGatewayAddressWithContext is the same as AssociateNatGatewayAddress with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateNatGatewayAddress for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) AssociateNatGatewayAddressWithContext(ctx aws.Context, input *AssociateNatGatewayAddressInput, opts ...request.Option) (*AssociateNatGatewayAddressOutput, error) { + req, out := c.AssociateNatGatewayAddressRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAssociateRouteTable = "AssociateRouteTable" // AssociateRouteTableRequest generates a "aws/request.Request" representing the @@ -6009,8 +6164,8 @@ func (c *EC2) CreateIpamResourceDiscoveryRequest(input *CreateIpamResourceDiscov // CreateIpamResourceDiscovery API operation for Amazon Elastic Compute Cloud. // // Creates an IPAM resource discovery. A resource discovery is an IPAM component -// that enables IPAM Service to manage and monitor resources that belong to -// the owning account. +// that enables IPAM to manage and monitor resources that belong to the owning +// account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -12054,8 +12209,8 @@ func (c *EC2) DeleteIpamResourceDiscoveryRequest(input *DeleteIpamResourceDiscov // DeleteIpamResourceDiscovery API operation for Amazon Elastic Compute Cloud. // // Deletes an IPAM resource discovery. A resource discovery is an IPAM component -// that enables IPAM Service to manage and monitor resources that belong to -// the owning account. +// that enables IPAM to manage and monitor resources that belong to the owning +// account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -23257,8 +23412,8 @@ func (c *EC2) DescribeIpamResourceDiscoveriesRequest(input *DescribeIpamResource // DescribeIpamResourceDiscoveries API operation for Amazon Elastic Compute Cloud. // // Describes IPAM resource discoveries. A resource discovery is an IPAM component -// that enables IPAM Service to manage and monitor resources that belong to -// the owning account. +// that enables IPAM to manage and monitor resources that belong to the owning +// account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -36110,8 +36265,8 @@ func (c *EC2) DisassociateIpamResourceDiscoveryRequest(input *DisassociateIpamRe // DisassociateIpamResourceDiscovery API operation for Amazon Elastic Compute Cloud. // // Disassociates a resource discovery from an Amazon VPC IPAM. A resource discovery -// is an IPAM component that enables IPAM Service to manage and monitor resources -// that belong to the owning account. +// is an IPAM component that enables IPAM to manage and monitor resources that +// belong to the owning account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -36141,6 +36296,92 @@ func (c *EC2) DisassociateIpamResourceDiscoveryWithContext(ctx aws.Context, inpu return out, req.Send() } +const opDisassociateNatGatewayAddress = "DisassociateNatGatewayAddress" + +// DisassociateNatGatewayAddressRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateNatGatewayAddress operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateNatGatewayAddress for more information on using the DisassociateNatGatewayAddress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DisassociateNatGatewayAddressRequest method. +// req, resp := client.DisassociateNatGatewayAddressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateNatGatewayAddress +func (c *EC2) DisassociateNatGatewayAddressRequest(input *DisassociateNatGatewayAddressInput) (req *request.Request, output *DisassociateNatGatewayAddressOutput) { + op := &request.Operation{ + Name: opDisassociateNatGatewayAddress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateNatGatewayAddressInput{} + } + + output = &DisassociateNatGatewayAddressOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateNatGatewayAddress API operation for Amazon Elastic Compute Cloud. +// +// Disassociates secondary Elastic IP addresses (EIPs) from a public NAT gateway. +// You cannot disassociate your primary EIP. For more information, see Edit +// secondary IP address associations (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-edit-secondary) +// in the Amazon Virtual Private Cloud User Guide. +// +// While disassociating is in progress, you cannot associate/disassociate additional +// EIPs while the connections are being drained. You are, however, allowed to +// delete the NAT gateway. +// +// An EIP will only be released at the end of MaxDrainDurationSeconds. The EIPs +// stay associated and support the existing connections but do not support any +// new connections (new connections are distributed across the remaining associated +// EIPs). As the existing connections drain out, the EIPs (and the corresponding +// private IPs mapped to them) get released. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisassociateNatGatewayAddress for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateNatGatewayAddress +func (c *EC2) DisassociateNatGatewayAddress(input *DisassociateNatGatewayAddressInput) (*DisassociateNatGatewayAddressOutput, error) { + req, out := c.DisassociateNatGatewayAddressRequest(input) + return out, req.Send() +} + +// DisassociateNatGatewayAddressWithContext is the same as DisassociateNatGatewayAddress with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateNatGatewayAddress for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DisassociateNatGatewayAddressWithContext(ctx aws.Context, input *DisassociateNatGatewayAddressInput, opts ...request.Option) (*DisassociateNatGatewayAddressOutput, error) { + req, out := c.DisassociateNatGatewayAddressRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisassociateRouteTable = "DisassociateRouteTable" // DisassociateRouteTableRequest generates a "aws/request.Request" representing the @@ -40191,8 +40432,8 @@ func (c *EC2) GetIpamResourceCidrsRequest(input *GetIpamResourceCidrsInput) (req // Returns resource CIDRs managed by IPAM in a given scope. If an IPAM is associated // with more than one resource discovery, the resource CIDRs across all of the // resource discoveries is returned. A resource discovery is an IPAM component -// that enables IPAM Service to manage and monitor resources that belong to -// the owning account. +// that enables IPAM to manage and monitor resources that belong to the owning +// account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -45185,8 +45426,8 @@ func (c *EC2) ModifyIpamResourceDiscoveryRequest(input *ModifyIpamResourceDiscov // ModifyIpamResourceDiscovery API operation for Amazon Elastic Compute Cloud. // // Modifies a resource discovery. A resource discovery is an IPAM component -// that enables IPAM Service to manage and monitor resources that belong to -// the owning account. +// that enables IPAM to manage and monitor resources that belong to the owning +// account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -53458,6 +53699,92 @@ func (c *EC2) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *Unas return out, req.Send() } +const opUnassignPrivateNatGatewayAddress = "UnassignPrivateNatGatewayAddress" + +// UnassignPrivateNatGatewayAddressRequest generates a "aws/request.Request" representing the +// client's request for the UnassignPrivateNatGatewayAddress operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UnassignPrivateNatGatewayAddress for more information on using the UnassignPrivateNatGatewayAddress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UnassignPrivateNatGatewayAddressRequest method. +// req, resp := client.UnassignPrivateNatGatewayAddressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateNatGatewayAddress +func (c *EC2) UnassignPrivateNatGatewayAddressRequest(input *UnassignPrivateNatGatewayAddressInput) (req *request.Request, output *UnassignPrivateNatGatewayAddressOutput) { + op := &request.Operation{ + Name: opUnassignPrivateNatGatewayAddress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UnassignPrivateNatGatewayAddressInput{} + } + + output = &UnassignPrivateNatGatewayAddressOutput{} + req = c.newRequest(op, input, output) + return +} + +// UnassignPrivateNatGatewayAddress API operation for Amazon Elastic Compute Cloud. +// +// Unassigns secondary private NAT gateway IPv4 addresses from a private NAT +// gateway. You cannot unassign your primary private IP. For more information, +// see Edit secondary IP address associations (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-edit-secondary) +// in the Amazon Virtual Private Cloud User Guide. +// +// While unassigning is in progress, you cannot assign/unassign additional IP +// addresses while the connections are being drained. You are, however, allowed +// to delete the NAT gateway. +// +// A private IP address will only be released at the end of MaxDrainDurationSeconds. +// The private IP addresses stay associated and support the existing connections +// but do not support any new connections (new connections are distributed across +// the remaining assigned private IP address). After the existing connections +// drain out, the private IP addresses get released. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation UnassignPrivateNatGatewayAddress for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateNatGatewayAddress +func (c *EC2) UnassignPrivateNatGatewayAddress(input *UnassignPrivateNatGatewayAddressInput) (*UnassignPrivateNatGatewayAddressOutput, error) { + req, out := c.UnassignPrivateNatGatewayAddressRequest(input) + return out, req.Send() +} + +// UnassignPrivateNatGatewayAddressWithContext is the same as UnassignPrivateNatGatewayAddress with the addition of +// the ability to pass a context and additional request options. +// +// See UnassignPrivateNatGatewayAddress for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) UnassignPrivateNatGatewayAddressWithContext(ctx aws.Context, input *UnassignPrivateNatGatewayAddressInput, opts ...request.Option) (*UnassignPrivateNatGatewayAddressOutput, error) { + req, out := c.UnassignPrivateNatGatewayAddressRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUnmonitorInstances = "UnmonitorInstances" // UnmonitorInstancesRequest generates a "aws/request.Request" representing the @@ -54537,7 +54864,9 @@ type AcceptVpcPeeringConnectionInput struct { // The ID of the VPC peering connection. You must specify this parameter in // the request. - VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"` + // + // VpcPeeringConnectionId is a required field + VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"` } // String returns the string representation. @@ -54558,6 +54887,19 @@ func (s AcceptVpcPeeringConnectionInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AcceptVpcPeeringConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AcceptVpcPeeringConnectionInput"} + if s.VpcPeeringConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput { s.DryRun = &v @@ -57054,6 +57396,126 @@ func (s *AssignPrivateIpAddressesOutput) SetNetworkInterfaceId(v string) *Assign return s } +type AssignPrivateNatGatewayAddressInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The NAT gateway ID. + // + // NatGatewayId is a required field + NatGatewayId *string `type:"string" required:"true"` + + // The number of private IP addresses to assign to the NAT gateway. You can't + // specify this parameter when also specifying private IP addresses. + PrivateIpAddressCount *int64 `min:"1" type:"integer"` + + // The private IPv4 addresses you want to assign to the private NAT gateway. + PrivateIpAddresses []*string `locationName:"PrivateIpAddress" locationNameList:"item" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssignPrivateNatGatewayAddressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssignPrivateNatGatewayAddressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssignPrivateNatGatewayAddressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssignPrivateNatGatewayAddressInput"} + if s.NatGatewayId == nil { + invalidParams.Add(request.NewErrParamRequired("NatGatewayId")) + } + if s.PrivateIpAddressCount != nil && *s.PrivateIpAddressCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("PrivateIpAddressCount", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *AssignPrivateNatGatewayAddressInput) SetDryRun(v bool) *AssignPrivateNatGatewayAddressInput { + s.DryRun = &v + return s +} + +// SetNatGatewayId sets the NatGatewayId field's value. +func (s *AssignPrivateNatGatewayAddressInput) SetNatGatewayId(v string) *AssignPrivateNatGatewayAddressInput { + s.NatGatewayId = &v + return s +} + +// SetPrivateIpAddressCount sets the PrivateIpAddressCount field's value. +func (s *AssignPrivateNatGatewayAddressInput) SetPrivateIpAddressCount(v int64) *AssignPrivateNatGatewayAddressInput { + s.PrivateIpAddressCount = &v + return s +} + +// SetPrivateIpAddresses sets the PrivateIpAddresses field's value. +func (s *AssignPrivateNatGatewayAddressInput) SetPrivateIpAddresses(v []*string) *AssignPrivateNatGatewayAddressInput { + s.PrivateIpAddresses = v + return s +} + +type AssignPrivateNatGatewayAddressOutput struct { + _ struct{} `type:"structure"` + + // NAT gateway IP addresses. + NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"` + + // The NAT gateway ID. + NatGatewayId *string `locationName:"natGatewayId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssignPrivateNatGatewayAddressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssignPrivateNatGatewayAddressOutput) GoString() string { + return s.String() +} + +// SetNatGatewayAddresses sets the NatGatewayAddresses field's value. +func (s *AssignPrivateNatGatewayAddressOutput) SetNatGatewayAddresses(v []*NatGatewayAddress) *AssignPrivateNatGatewayAddressOutput { + s.NatGatewayAddresses = v + return s +} + +// SetNatGatewayId sets the NatGatewayId field's value. +func (s *AssignPrivateNatGatewayAddressOutput) SetNatGatewayId(v string) *AssignPrivateNatGatewayAddressOutput { + s.NatGatewayId = &v + return s +} + // Describes the private IP addresses assigned to a network interface. type AssignedPrivateIpAddress struct { _ struct{} `type:"structure"` @@ -57442,7 +57904,9 @@ type AssociateEnclaveCertificateIamRoleInput struct { _ struct{} `type:"structure"` // The ARN of the ACM certificate with which to associate the IAM role. - CertificateArn *string `type:"string"` + // + // CertificateArn is a required field + CertificateArn *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -57452,7 +57916,9 @@ type AssociateEnclaveCertificateIamRoleInput struct { // The ARN of the IAM role to associate with the ACM certificate. You can associate // up to 16 IAM roles with an ACM certificate. - RoleArn *string `type:"string"` + // + // RoleArn is a required field + RoleArn *string `type:"string" required:"true"` } // String returns the string representation. @@ -57473,6 +57939,22 @@ func (s AssociateEnclaveCertificateIamRoleInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateEnclaveCertificateIamRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateEnclaveCertificateIamRoleInput"} + if s.CertificateArn == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateArn")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCertificateArn sets the CertificateArn field's value. func (s *AssociateEnclaveCertificateIamRoleInput) SetCertificateArn(v string) *AssociateEnclaveCertificateIamRoleInput { s.CertificateArn = &v @@ -57857,6 +58339,127 @@ func (s *AssociateIpamResourceDiscoveryOutput) SetIpamResourceDiscoveryAssociati return s } +type AssociateNatGatewayAddressInput struct { + _ struct{} `type:"structure"` + + // The allocation IDs of EIPs that you want to associate with your NAT gateway. + // + // AllocationIds is a required field + AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The NAT gateway ID. + // + // NatGatewayId is a required field + NatGatewayId *string `type:"string" required:"true"` + + // The private IPv4 addresses that you want to assign to the NAT gateway. + PrivateIpAddresses []*string `locationName:"PrivateIpAddress" locationNameList:"item" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateNatGatewayAddressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateNatGatewayAddressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateNatGatewayAddressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateNatGatewayAddressInput"} + if s.AllocationIds == nil { + invalidParams.Add(request.NewErrParamRequired("AllocationIds")) + } + if s.NatGatewayId == nil { + invalidParams.Add(request.NewErrParamRequired("NatGatewayId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllocationIds sets the AllocationIds field's value. +func (s *AssociateNatGatewayAddressInput) SetAllocationIds(v []*string) *AssociateNatGatewayAddressInput { + s.AllocationIds = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *AssociateNatGatewayAddressInput) SetDryRun(v bool) *AssociateNatGatewayAddressInput { + s.DryRun = &v + return s +} + +// SetNatGatewayId sets the NatGatewayId field's value. +func (s *AssociateNatGatewayAddressInput) SetNatGatewayId(v string) *AssociateNatGatewayAddressInput { + s.NatGatewayId = &v + return s +} + +// SetPrivateIpAddresses sets the PrivateIpAddresses field's value. +func (s *AssociateNatGatewayAddressInput) SetPrivateIpAddresses(v []*string) *AssociateNatGatewayAddressInput { + s.PrivateIpAddresses = v + return s +} + +type AssociateNatGatewayAddressOutput struct { + _ struct{} `type:"structure"` + + // The IP addresses. + NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"` + + // The NAT gateway ID. + NatGatewayId *string `locationName:"natGatewayId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateNatGatewayAddressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateNatGatewayAddressOutput) GoString() string { + return s.String() +} + +// SetNatGatewayAddresses sets the NatGatewayAddresses field's value. +func (s *AssociateNatGatewayAddressOutput) SetNatGatewayAddresses(v []*NatGatewayAddress) *AssociateNatGatewayAddressOutput { + s.NatGatewayAddresses = v + return s +} + +// SetNatGatewayId sets the NatGatewayId field's value. +func (s *AssociateNatGatewayAddressOutput) SetNatGatewayId(v string) *AssociateNatGatewayAddressOutput { + s.NatGatewayId = &v + return s +} + type AssociateRouteTableInput struct { _ struct{} `type:"structure"` @@ -58084,14 +58687,20 @@ type AssociateTransitGatewayMulticastDomainInput struct { DryRun *bool `type:"boolean"` // The IDs of the subnets to associate with the transit gateway multicast domain. - SubnetIds []*string `locationNameList:"item" type:"list"` + // + // SubnetIds is a required field + SubnetIds []*string `locationNameList:"item" type:"list" required:"true"` // The ID of the transit gateway attachment to associate with the transit gateway // multicast domain. - TransitGatewayAttachmentId *string `type:"string"` + // + // TransitGatewayAttachmentId is a required field + TransitGatewayAttachmentId *string `type:"string" required:"true"` // The ID of the transit gateway multicast domain. - TransitGatewayMulticastDomainId *string `type:"string"` + // + // TransitGatewayMulticastDomainId is a required field + TransitGatewayMulticastDomainId *string `type:"string" required:"true"` } // String returns the string representation. @@ -58112,6 +58721,25 @@ func (s AssociateTransitGatewayMulticastDomainInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateTransitGatewayMulticastDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateTransitGatewayMulticastDomainInput"} + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.TransitGatewayAttachmentId == nil { + invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId")) + } + if s.TransitGatewayMulticastDomainId == nil { + invalidParams.Add(request.NewErrParamRequired("TransitGatewayMulticastDomainId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *AssociateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *AssociateTransitGatewayMulticastDomainInput { s.DryRun = &v @@ -65740,7 +66368,11 @@ type CopySnapshotInput struct { // in the Amazon Simple Storage Service API Reference. An invalid or improperly // signed PresignedUrl will cause the copy operation to fail asynchronously, // and the snapshot will move to an error state. - PresignedUrl *string `locationName:"presignedUrl" type:"string"` + // + // PresignedUrl is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CopySnapshotInput's + // String and GoString methods. + PresignedUrl *string `locationName:"presignedUrl" type:"string" sensitive:"true"` // The ID of the Region that contains the snapshot to be copied. // @@ -67930,6 +68562,8 @@ type CreateFleetInput struct { // Indicates whether running instances should be terminated if the total target // capacity of the EC2 Fleet is decreased below the current size of the EC2 // Fleet. + // + // Supported only for fleets of type maintain. ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"` // The configuration for the EC2 Fleet. @@ -70920,7 +71554,23 @@ type CreateNatGatewayInput struct { // an address, a private IPv4 address will be automatically assigned. PrivateIpAddress *string `type:"string"` - // The subnet in which to create the NAT gateway. + // Secondary EIP allocation IDs. For more information about secondary addresses, + // see Create a NAT gateway (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) + // in the Amazon Virtual Private Cloud User Guide. + SecondaryAllocationIds []*string `locationName:"SecondaryAllocationId" locationNameList:"AllocationId" type:"list"` + + // [Private NAT gateway only] The number of secondary private IPv4 addresses + // you want to assign to the NAT gateway. For more information about secondary + // addresses, see Create a NAT gateway (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) + // in the Amazon Virtual Private Cloud User Guide. + SecondaryPrivateIpAddressCount *int64 `min:"1" type:"integer"` + + // Secondary private IPv4 addresses. For more information about secondary addresses, + // see Create a NAT gateway (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) + // in the Amazon Virtual Private Cloud User Guide. + SecondaryPrivateIpAddresses []*string `locationName:"SecondaryPrivateIpAddress" locationNameList:"item" type:"list"` + + // The ID of the subnet in which to create the NAT gateway. // // SubnetId is a required field SubnetId *string `type:"string" required:"true"` @@ -70950,6 +71600,9 @@ func (s CreateNatGatewayInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateNatGatewayInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"} + if s.SecondaryPrivateIpAddressCount != nil && *s.SecondaryPrivateIpAddressCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("SecondaryPrivateIpAddressCount", 1)) + } if s.SubnetId == nil { invalidParams.Add(request.NewErrParamRequired("SubnetId")) } @@ -70990,6 +71643,24 @@ func (s *CreateNatGatewayInput) SetPrivateIpAddress(v string) *CreateNatGatewayI return s } +// SetSecondaryAllocationIds sets the SecondaryAllocationIds field's value. +func (s *CreateNatGatewayInput) SetSecondaryAllocationIds(v []*string) *CreateNatGatewayInput { + s.SecondaryAllocationIds = v + return s +} + +// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value. +func (s *CreateNatGatewayInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNatGatewayInput { + s.SecondaryPrivateIpAddressCount = &v + return s +} + +// SetSecondaryPrivateIpAddresses sets the SecondaryPrivateIpAddresses field's value. +func (s *CreateNatGatewayInput) SetSecondaryPrivateIpAddresses(v []*string) *CreateNatGatewayInput { + s.SecondaryPrivateIpAddresses = v + return s +} + // SetSubnetId sets the SubnetId field's value. func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput { s.SubnetId = &v @@ -77101,6 +77772,9 @@ type CreateVolumeInput struct { // // * Magnetic: standard // + // Throughput Optimized HDD (st1) and Cold HDD (sc1) volumes can't be used as + // boot volumes. + // // For more information, see Amazon EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // in the Amazon Elastic Compute Cloud User Guide. // @@ -78033,7 +78707,9 @@ type CreateVpcPeeringConnectionInput struct { TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` // The ID of the requester VPC. You must specify this parameter in the request. - VpcId *string `locationName:"vpcId" type:"string"` + // + // VpcId is a required field + VpcId *string `locationName:"vpcId" type:"string" required:"true"` } // String returns the string representation. @@ -78054,6 +78730,19 @@ func (s CreateVpcPeeringConnectionInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateVpcPeeringConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVpcPeeringConnectionInput"} + if s.VpcId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput { s.DryRun = &v @@ -109487,7 +110176,9 @@ type DisassociateEnclaveCertificateIamRoleInput struct { _ struct{} `type:"structure"` // The ARN of the ACM certificate from which to disassociate the IAM role. - CertificateArn *string `type:"string"` + // + // CertificateArn is a required field + CertificateArn *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -109496,7 +110187,9 @@ type DisassociateEnclaveCertificateIamRoleInput struct { DryRun *bool `type:"boolean"` // The ARN of the IAM role to disassociate. - RoleArn *string `type:"string"` + // + // RoleArn is a required field + RoleArn *string `type:"string" required:"true"` } // String returns the string representation. @@ -109517,6 +110210,22 @@ func (s DisassociateEnclaveCertificateIamRoleInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateEnclaveCertificateIamRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateEnclaveCertificateIamRoleInput"} + if s.CertificateArn == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateArn")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCertificateArn sets the CertificateArn field's value. func (s *DisassociateEnclaveCertificateIamRoleInput) SetCertificateArn(v string) *DisassociateEnclaveCertificateIamRoleInput { s.CertificateArn = &v @@ -109835,6 +110544,132 @@ func (s *DisassociateIpamResourceDiscoveryOutput) SetIpamResourceDiscoveryAssoci return s } +type DisassociateNatGatewayAddressInput struct { + _ struct{} `type:"structure"` + + // The association IDs of EIPs that have been associated with the NAT gateway. + // + // AssociationIds is a required field + AssociationIds []*string `locationName:"AssociationId" locationNameList:"item" type:"list" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The maximum amount of time to wait (in seconds) before forcibly releasing + // the IP addresses if connections are still in progress. Default value is 350 + // seconds. + MaxDrainDurationSeconds *int64 `min:"1" type:"integer"` + + // The NAT gateway ID. + // + // NatGatewayId is a required field + NatGatewayId *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateNatGatewayAddressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateNatGatewayAddressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateNatGatewayAddressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateNatGatewayAddressInput"} + if s.AssociationIds == nil { + invalidParams.Add(request.NewErrParamRequired("AssociationIds")) + } + if s.MaxDrainDurationSeconds != nil && *s.MaxDrainDurationSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxDrainDurationSeconds", 1)) + } + if s.NatGatewayId == nil { + invalidParams.Add(request.NewErrParamRequired("NatGatewayId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssociationIds sets the AssociationIds field's value. +func (s *DisassociateNatGatewayAddressInput) SetAssociationIds(v []*string) *DisassociateNatGatewayAddressInput { + s.AssociationIds = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DisassociateNatGatewayAddressInput) SetDryRun(v bool) *DisassociateNatGatewayAddressInput { + s.DryRun = &v + return s +} + +// SetMaxDrainDurationSeconds sets the MaxDrainDurationSeconds field's value. +func (s *DisassociateNatGatewayAddressInput) SetMaxDrainDurationSeconds(v int64) *DisassociateNatGatewayAddressInput { + s.MaxDrainDurationSeconds = &v + return s +} + +// SetNatGatewayId sets the NatGatewayId field's value. +func (s *DisassociateNatGatewayAddressInput) SetNatGatewayId(v string) *DisassociateNatGatewayAddressInput { + s.NatGatewayId = &v + return s +} + +type DisassociateNatGatewayAddressOutput struct { + _ struct{} `type:"structure"` + + // Information about the NAT gateway IP addresses. + NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"` + + // The NAT gateway ID. + NatGatewayId *string `locationName:"natGatewayId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateNatGatewayAddressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateNatGatewayAddressOutput) GoString() string { + return s.String() +} + +// SetNatGatewayAddresses sets the NatGatewayAddresses field's value. +func (s *DisassociateNatGatewayAddressOutput) SetNatGatewayAddresses(v []*NatGatewayAddress) *DisassociateNatGatewayAddressOutput { + s.NatGatewayAddresses = v + return s +} + +// SetNatGatewayId sets the NatGatewayId field's value. +func (s *DisassociateNatGatewayAddressOutput) SetNatGatewayId(v string) *DisassociateNatGatewayAddressOutput { + s.NatGatewayId = &v + return s +} + type DisassociateRouteTableInput struct { _ struct{} `type:"structure"` @@ -110012,13 +110847,19 @@ type DisassociateTransitGatewayMulticastDomainInput struct { DryRun *bool `type:"boolean"` // The IDs of the subnets; - SubnetIds []*string `locationNameList:"item" type:"list"` + // + // SubnetIds is a required field + SubnetIds []*string `locationNameList:"item" type:"list" required:"true"` // The ID of the attachment. - TransitGatewayAttachmentId *string `type:"string"` + // + // TransitGatewayAttachmentId is a required field + TransitGatewayAttachmentId *string `type:"string" required:"true"` // The ID of the transit gateway multicast domain. - TransitGatewayMulticastDomainId *string `type:"string"` + // + // TransitGatewayMulticastDomainId is a required field + TransitGatewayMulticastDomainId *string `type:"string" required:"true"` } // String returns the string representation. @@ -110039,6 +110880,25 @@ func (s DisassociateTransitGatewayMulticastDomainInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateTransitGatewayMulticastDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateTransitGatewayMulticastDomainInput"} + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.TransitGatewayAttachmentId == nil { + invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId")) + } + if s.TransitGatewayMulticastDomainId == nil { + invalidParams.Add(request.NewErrParamRequired("TransitGatewayMulticastDomainId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DisassociateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *DisassociateTransitGatewayMulticastDomainInput { s.DryRun = &v @@ -110986,6 +111846,13 @@ type EbsBlockDevice struct { // encryption. For more information, see Supported instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances). // // This parameter is not returned by DescribeImageAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html). + // + // For CreateImage and RegisterImage, you can specify this parameter only for + // block device mappings that result in new, empty volumes when instances are + // launched from the image. Omit this parameter on block device mappings that + // include an existing volume or snapshot. If you include this parameter, and + // specify an encryption setting that is different from the existing volume + // or snapshot, the request will fail. Encrypted *bool `locationName:"encrypted" type:"boolean"` // The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, @@ -115778,6 +116645,8 @@ type FleetData struct { // Indicates whether running instances should be terminated if the target capacity // of the EC2 Fleet is decreased below the current size of the EC2 Fleet. + // + // Supported only for fleets of type maintain. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"FleetExcessCapacityTerminationPolicy"` // The ID of the EC2 Fleet. @@ -117339,7 +118208,9 @@ type GetAssociatedEnclaveCertificateIamRolesInput struct { // The ARN of the ACM certificate for which to view the associated IAM roles, // encryption keys, and Amazon S3 object information. - CertificateArn *string `type:"string"` + // + // CertificateArn is a required field + CertificateArn *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -117366,6 +118237,19 @@ func (s GetAssociatedEnclaveCertificateIamRolesInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAssociatedEnclaveCertificateIamRolesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAssociatedEnclaveCertificateIamRolesInput"} + if s.CertificateArn == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCertificateArn sets the CertificateArn field's value. func (s *GetAssociatedEnclaveCertificateIamRolesInput) SetCertificateArn(v string) *GetAssociatedEnclaveCertificateIamRolesInput { s.CertificateArn = &v @@ -121403,7 +122287,9 @@ type GetTransitGatewayMulticastDomainAssociationsInput struct { NextToken *string `type:"string"` // The ID of the transit gateway multicast domain. - TransitGatewayMulticastDomainId *string `type:"string"` + // + // TransitGatewayMulticastDomainId is a required field + TransitGatewayMulticastDomainId *string `type:"string" required:"true"` } // String returns the string representation. @@ -121430,6 +122316,9 @@ func (s *GetTransitGatewayMulticastDomainAssociationsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 5 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) } + if s.TransitGatewayMulticastDomainId == nil { + invalidParams.Add(request.NewErrParamRequired("TransitGatewayMulticastDomainId")) + } if invalidParams.Len() > 0 { return invalidParams @@ -126925,7 +127814,9 @@ type InstanceCreditSpecificationRequest struct { CpuCredits *string `type:"string"` // The ID of the instance. - InstanceId *string `type:"string"` + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` } // String returns the string representation. @@ -126946,6 +127837,19 @@ func (s InstanceCreditSpecificationRequest) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceCreditSpecificationRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceCreditSpecificationRequest"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCpuCredits sets the CpuCredits field's value. func (s *InstanceCreditSpecificationRequest) SetCpuCredits(v string) *InstanceCreditSpecificationRequest { s.CpuCredits = &v @@ -132059,8 +132963,8 @@ func (s *IpamResourceCidr) SetVpcId(v string) *IpamResourceCidr { return s } -// A resource discovery is an IPAM component that enables IPAM Service to manage -// and monitor resources that belong to the owning account. +// A resource discovery is an IPAM component that enables IPAM to manage and +// monitor resources that belong to the owning account. type IpamResourceDiscovery struct { _ struct{} `type:"structure"` @@ -138607,6 +139511,8 @@ type ModifyFleetInput struct { // Indicates whether running instances should be terminated if the total target // capacity of the EC2 Fleet is decreased below the current size of the EC2 // Fleet. + // + // Supported only for fleets of type maintain. ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"` // The ID of the EC2 Fleet. @@ -139825,6 +140731,16 @@ func (s *ModifyInstanceCreditSpecificationInput) Validate() error { if s.InstanceCreditSpecifications == nil { invalidParams.Add(request.NewErrParamRequired("InstanceCreditSpecifications")) } + if s.InstanceCreditSpecifications != nil { + for i, v := range s.InstanceCreditSpecifications { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceCreditSpecifications", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -141815,7 +142731,9 @@ type ModifyPrivateDnsNameOptionsInput struct { EnableResourceNameDnsARecord *bool `type:"boolean"` // The ID of the instance. - InstanceId *string `type:"string"` + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` // The type of hostname for EC2 instances. For IPv4 only subnets, an instance // DNS name must be based on the instance IPv4 address. For IPv6 only subnets, @@ -141843,6 +142761,19 @@ func (s ModifyPrivateDnsNameOptionsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyPrivateDnsNameOptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyPrivateDnsNameOptionsInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *ModifyPrivateDnsNameOptionsInput) SetDryRun(v bool) *ModifyPrivateDnsNameOptionsInput { s.DryRun = &v @@ -142054,6 +142985,16 @@ func (s *ModifySecurityGroupRulesInput) Validate() error { if s.SecurityGroupRules == nil { invalidParams.Add(request.NewErrParamRequired("SecurityGroupRules")) } + if s.SecurityGroupRules != nil { + for i, v := range s.SecurityGroupRules { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecurityGroupRules", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -142350,9 +143291,11 @@ type ModifySpotFleetRequestInput struct { // Reserved. Context *string `type:"string"` - // Indicates whether running Spot Instances should be terminated if the target - // capacity of the Spot Fleet request is decreased below the current size of - // the Spot Fleet. + // Indicates whether running instances should be terminated if the target capacity + // of the Spot Fleet request is decreased below the current size of the Spot + // Fleet. + // + // Supported only for fleets of type maintain. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"` // The launch template and overrides. You can only use this parameter if you @@ -147273,6 +148216,16 @@ type NatGatewayAddress struct { // associated with the NAT gateway. AllocationId *string `locationName:"allocationId" type:"string"` + // [Public NAT gateway only] The association ID of the Elastic IP address that's + // associated with the NAT gateway. + AssociationId *string `locationName:"associationId" type:"string"` + + // The address failure message. + FailureMessage *string `locationName:"failureMessage" type:"string"` + + // Defines if the IP address is the primary address. + IsPrimary *bool `locationName:"isPrimary" type:"boolean"` + // The ID of the network interface associated with the NAT gateway. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` @@ -147282,6 +148235,9 @@ type NatGatewayAddress struct { // [Public NAT gateway only] The Elastic IP address associated with the NAT // gateway. PublicIp *string `locationName:"publicIp" type:"string"` + + // The address status. + Status *string `locationName:"status" type:"string" enum:"NatGatewayAddressStatus"` } // String returns the string representation. @@ -147308,6 +148264,24 @@ func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress { return s } +// SetAssociationId sets the AssociationId field's value. +func (s *NatGatewayAddress) SetAssociationId(v string) *NatGatewayAddress { + s.AssociationId = &v + return s +} + +// SetFailureMessage sets the FailureMessage field's value. +func (s *NatGatewayAddress) SetFailureMessage(v string) *NatGatewayAddress { + s.FailureMessage = &v + return s +} + +// SetIsPrimary sets the IsPrimary field's value. +func (s *NatGatewayAddress) SetIsPrimary(v bool) *NatGatewayAddress { + s.IsPrimary = &v + return s +} + // SetNetworkInterfaceId sets the NetworkInterfaceId field's value. func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress { s.NetworkInterfaceId = &v @@ -147326,6 +148300,12 @@ func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress { return s } +// SetStatus sets the Status field's value. +func (s *NatGatewayAddress) SetStatus(v string) *NatGatewayAddress { + s.Status = &v + return s +} + // Describes a network ACL. type NetworkAcl struct { _ struct{} `type:"structure"` @@ -153685,10 +154665,14 @@ type RegisterTransitGatewayMulticastGroupMembersInput struct { // The group members' network interface IDs to register with the transit gateway // multicast group. - NetworkInterfaceIds []*string `locationNameList:"item" type:"list"` + // + // NetworkInterfaceIds is a required field + NetworkInterfaceIds []*string `locationNameList:"item" type:"list" required:"true"` // The ID of the transit gateway multicast domain. - TransitGatewayMulticastDomainId *string `type:"string"` + // + // TransitGatewayMulticastDomainId is a required field + TransitGatewayMulticastDomainId *string `type:"string" required:"true"` } // String returns the string representation. @@ -153709,6 +154693,22 @@ func (s RegisterTransitGatewayMulticastGroupMembersInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *RegisterTransitGatewayMulticastGroupMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegisterTransitGatewayMulticastGroupMembersInput"} + if s.NetworkInterfaceIds == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceIds")) + } + if s.TransitGatewayMulticastDomainId == nil { + invalidParams.Add(request.NewErrParamRequired("TransitGatewayMulticastDomainId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetDryRun(v bool) *RegisterTransitGatewayMulticastGroupMembersInput { s.DryRun = &v @@ -153778,10 +154778,14 @@ type RegisterTransitGatewayMulticastGroupSourcesInput struct { // The group sources' network interface IDs to register with the transit gateway // multicast group. - NetworkInterfaceIds []*string `locationNameList:"item" type:"list"` + // + // NetworkInterfaceIds is a required field + NetworkInterfaceIds []*string `locationNameList:"item" type:"list" required:"true"` // The ID of the transit gateway multicast domain. - TransitGatewayMulticastDomainId *string `type:"string"` + // + // TransitGatewayMulticastDomainId is a required field + TransitGatewayMulticastDomainId *string `type:"string" required:"true"` } // String returns the string representation. @@ -153802,6 +154806,22 @@ func (s RegisterTransitGatewayMulticastGroupSourcesInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *RegisterTransitGatewayMulticastGroupSourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegisterTransitGatewayMulticastGroupSourcesInput"} + if s.NetworkInterfaceIds == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceIds")) + } + if s.TransitGatewayMulticastDomainId == nil { + invalidParams.Add(request.NewErrParamRequired("TransitGatewayMulticastDomainId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetDryRun(v bool) *RegisterTransitGatewayMulticastGroupSourcesInput { s.DryRun = &v @@ -155926,8 +156946,8 @@ type RequestLaunchTemplateData struct { // // * resolve:ssm:parameter-name:label // - // For more information, see Use a Systems Manager parameter instead of an AMI - // ID (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#use-an-ssm-parameter-instead-of-an-ami-id) + // For more information, see Use a Systems Manager parameter to find an AMI + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html#using-systems-manager-parameter-to-find-AMI) // in the Amazon Elastic Compute Cloud User Guide. ImageId *string `type:"string"` @@ -161275,8 +162295,9 @@ type S3Storage struct { _ struct{} `type:"structure"` // The access key ID of the owner of the bucket. Before you specify a value - // for your access key ID, review and follow the guidance in Best practices - // for managing Amazon Web Services access keys (https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html). + // for your access key ID, review and follow the guidance in Best Practices + // for Amazon Web Services accounts (https://docs.aws.amazon.com/accounts/latest/reference/best-practices.html) + // in the Account ManagementReference Guide. AWSAccessKeyId *string `type:"string"` // The bucket in which to store the AMI. You can specify a bucket that you already @@ -162638,7 +163659,9 @@ type SearchTransitGatewayMulticastGroupsInput struct { NextToken *string `type:"string"` // The ID of the transit gateway multicast domain. - TransitGatewayMulticastDomainId *string `type:"string"` + // + // TransitGatewayMulticastDomainId is a required field + TransitGatewayMulticastDomainId *string `type:"string" required:"true"` } // String returns the string representation. @@ -162665,6 +163688,9 @@ func (s *SearchTransitGatewayMulticastGroupsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 5 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) } + if s.TransitGatewayMulticastDomainId == nil { + invalidParams.Add(request.NewErrParamRequired("TransitGatewayMulticastDomainId")) + } if invalidParams.Len() > 0 { return invalidParams @@ -163402,7 +164428,9 @@ type SecurityGroupRuleUpdate struct { SecurityGroupRule *SecurityGroupRuleRequest `type:"structure"` // The ID of the security group rule. - SecurityGroupRuleId *string `type:"string"` + // + // SecurityGroupRuleId is a required field + SecurityGroupRuleId *string `type:"string" required:"true"` } // String returns the string representation. @@ -163423,6 +164451,19 @@ func (s SecurityGroupRuleUpdate) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *SecurityGroupRuleUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SecurityGroupRuleUpdate"} + if s.SecurityGroupRuleId == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupRuleId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetSecurityGroupRule sets the SecurityGroupRule field's value. func (s *SecurityGroupRuleUpdate) SetSecurityGroupRule(v *SecurityGroupRuleRequest) *SecurityGroupRuleUpdate { s.SecurityGroupRule = v @@ -165338,9 +166379,11 @@ type SpotFleetRequestConfigData struct { // Reserved. Context *string `locationName:"context" type:"string"` - // Indicates whether running Spot Instances should be terminated if you decrease + // Indicates whether running instances should be terminated if you decrease // the target capacity of the Spot Fleet request below the current size of the // Spot Fleet. + // + // Supported only for fleets of type maintain. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"` // The number of units fulfilled by this request compared to the set target @@ -173200,6 +174243,132 @@ func (s UnassignPrivateIpAddressesOutput) GoString() string { return s.String() } +type UnassignPrivateNatGatewayAddressInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The maximum amount of time to wait (in seconds) before forcibly releasing + // the IP addresses if connections are still in progress. Default value is 350 + // seconds. + MaxDrainDurationSeconds *int64 `min:"1" type:"integer"` + + // The NAT gateway ID. + // + // NatGatewayId is a required field + NatGatewayId *string `type:"string" required:"true"` + + // The private IPv4 addresses you want to unassign. + // + // PrivateIpAddresses is a required field + PrivateIpAddresses []*string `locationName:"PrivateIpAddress" locationNameList:"item" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnassignPrivateNatGatewayAddressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnassignPrivateNatGatewayAddressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UnassignPrivateNatGatewayAddressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateNatGatewayAddressInput"} + if s.MaxDrainDurationSeconds != nil && *s.MaxDrainDurationSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxDrainDurationSeconds", 1)) + } + if s.NatGatewayId == nil { + invalidParams.Add(request.NewErrParamRequired("NatGatewayId")) + } + if s.PrivateIpAddresses == nil { + invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *UnassignPrivateNatGatewayAddressInput) SetDryRun(v bool) *UnassignPrivateNatGatewayAddressInput { + s.DryRun = &v + return s +} + +// SetMaxDrainDurationSeconds sets the MaxDrainDurationSeconds field's value. +func (s *UnassignPrivateNatGatewayAddressInput) SetMaxDrainDurationSeconds(v int64) *UnassignPrivateNatGatewayAddressInput { + s.MaxDrainDurationSeconds = &v + return s +} + +// SetNatGatewayId sets the NatGatewayId field's value. +func (s *UnassignPrivateNatGatewayAddressInput) SetNatGatewayId(v string) *UnassignPrivateNatGatewayAddressInput { + s.NatGatewayId = &v + return s +} + +// SetPrivateIpAddresses sets the PrivateIpAddresses field's value. +func (s *UnassignPrivateNatGatewayAddressInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateNatGatewayAddressInput { + s.PrivateIpAddresses = v + return s +} + +type UnassignPrivateNatGatewayAddressOutput struct { + _ struct{} `type:"structure"` + + // Information about the NAT gateway IP addresses. + NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"` + + // The NAT gateway ID. + NatGatewayId *string `locationName:"natGatewayId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnassignPrivateNatGatewayAddressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnassignPrivateNatGatewayAddressOutput) GoString() string { + return s.String() +} + +// SetNatGatewayAddresses sets the NatGatewayAddresses field's value. +func (s *UnassignPrivateNatGatewayAddressOutput) SetNatGatewayAddresses(v []*NatGatewayAddress) *UnassignPrivateNatGatewayAddressOutput { + s.NatGatewayAddresses = v + return s +} + +// SetNatGatewayId sets the NatGatewayId field's value. +func (s *UnassignPrivateNatGatewayAddressOutput) SetNatGatewayId(v string) *UnassignPrivateNatGatewayAddressOutput { + s.NatGatewayId = &v + return s +} + type UnmonitorInstancesInput struct { _ struct{} `type:"structure"` @@ -184628,6 +185797,38 @@ func MulticastSupportValue_Values() []string { } } +const ( + // NatGatewayAddressStatusAssigning is a NatGatewayAddressStatus enum value + NatGatewayAddressStatusAssigning = "assigning" + + // NatGatewayAddressStatusUnassigning is a NatGatewayAddressStatus enum value + NatGatewayAddressStatusUnassigning = "unassigning" + + // NatGatewayAddressStatusAssociating is a NatGatewayAddressStatus enum value + NatGatewayAddressStatusAssociating = "associating" + + // NatGatewayAddressStatusDisassociating is a NatGatewayAddressStatus enum value + NatGatewayAddressStatusDisassociating = "disassociating" + + // NatGatewayAddressStatusSucceeded is a NatGatewayAddressStatus enum value + NatGatewayAddressStatusSucceeded = "succeeded" + + // NatGatewayAddressStatusFailed is a NatGatewayAddressStatus enum value + NatGatewayAddressStatusFailed = "failed" +) + +// NatGatewayAddressStatus_Values returns all elements of the NatGatewayAddressStatus enum +func NatGatewayAddressStatus_Values() []string { + return []string{ + NatGatewayAddressStatusAssigning, + NatGatewayAddressStatusUnassigning, + NatGatewayAddressStatusAssociating, + NatGatewayAddressStatusDisassociating, + NatGatewayAddressStatusSucceeded, + NatGatewayAddressStatusFailed, + } +} + const ( // NatGatewayStatePending is a NatGatewayState enum value NatGatewayStatePending = "pending" diff --git a/vendor/modules.txt b/vendor/modules.txt index 78aade061..dcaca3f88 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -14,7 +14,7 @@ github.com/armon/go-metrics # github.com/armon/go-radix v1.0.0 ## explicit github.com/armon/go-radix -# github.com/aws/aws-sdk-go v1.44.190 +# github.com/aws/aws-sdk-go v1.44.195 ## explicit; go 1.11 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/awserr