diff --git a/go.mod b/go.mod index 13db9a4b0..2fbcf8e2c 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/IBM/keyprotect-go-client v0.9.2 - github.com/aws/aws-sdk-go v1.44.185 + github.com/aws/aws-sdk-go v1.44.190 github.com/aws/aws-sdk-go-v2/service/sts v1.18.2 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 9149878a3..9766302b1 100644 --- a/go.sum +++ b/go.sum @@ -140,8 +140,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.185 h1:stasiou+Ucx2A0RyXRyPph4sLCBxVQK7DPPK8tNcl5g= -github.com/aws/aws-sdk-go v1.44.185/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +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-v2 v1.17.3 h1:shN7NlnVzvDUgPQ+1rLMSxY8OWRNDRYtiqe0p/PgrhY= github.com/aws/aws-sdk-go-v2 v1.17.3/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.27 h1:I3cakv2Uy1vNmmhRQmFptYDxOvBnwCdNwyw63N0RaRU= 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 58bebbf88..4cb781fed 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 @@ -945,6 +945,15 @@ var awsPartition = partition{ endpointKey{ Region: "ap-northeast-1", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, @@ -4048,12 +4057,32 @@ var awsPartition = partition{ }, "cases": service{ Endpoints: serviceEndpoints{ + endpointKey{ + Region: "fips-us-east-1", + }: endpoint{ + + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-west-2", + }: endpoint{ + + Deprecated: boxedTrue, + }, endpointKey{ Region: "us-east-1", }: endpoint{}, + endpointKey{ + Region: "us-east-1", + Variant: fipsVariant, + }: endpoint{}, endpointKey{ Region: "us-west-2", }: endpoint{}, + endpointKey{ + Region: "us-west-2", + Variant: fipsVariant, + }: endpoint{}, }, }, "cassandra": service{ @@ -7655,6 +7684,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-3", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-4", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -25402,12 +25434,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{}, @@ -30835,6 +30873,9 @@ var awsusgovPartition = partition{ }, }, Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{}, endpointKey{ Region: "us-gov-west-1", }: endpoint{}, @@ -36773,6 +36814,13 @@ var awsisobPartition = partition{ }: endpoint{}, }, }, + "dlm": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-isob-east-1", + }: endpoint{}, + }, + }, "dms": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{}, 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 fb90090f9..261a071a6 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.185" +const SDKVersion = "1.44.190" diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/unmarshal_error.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/unmarshal_error.go index 4f933f2a1..9c1ccde54 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/unmarshal_error.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/unmarshal_error.go @@ -22,7 +22,7 @@ const ( // UnmarshalTypedError provides unmarshaling errors API response errors // for both typed and untyped errors. type UnmarshalTypedError struct { - exceptions map[string]func(protocol.ResponseMetadata) error + exceptions map[string]func(protocol.ResponseMetadata) error queryExceptions map[string]func(protocol.ResponseMetadata, string) error } @@ -30,11 +30,13 @@ type UnmarshalTypedError struct { // set of exception names to the error unmarshalers func NewUnmarshalTypedError(exceptions map[string]func(protocol.ResponseMetadata) error) *UnmarshalTypedError { return &UnmarshalTypedError{ - exceptions: exceptions, + exceptions: exceptions, queryExceptions: map[string]func(protocol.ResponseMetadata, string) error{}, } } +// NewUnmarshalTypedErrorWithOptions works similar to NewUnmarshalTypedError applying options to the UnmarshalTypedError +// before returning it func NewUnmarshalTypedErrorWithOptions(exceptions map[string]func(protocol.ResponseMetadata) error, optFns ...func(*UnmarshalTypedError)) *UnmarshalTypedError { unmarshaledError := NewUnmarshalTypedError(exceptions) for _, fn := range optFns { @@ -43,6 +45,11 @@ func NewUnmarshalTypedErrorWithOptions(exceptions map[string]func(protocol.Respo return unmarshaledError } +// WithQueryCompatibility is a helper function to construct a functional option for use with NewUnmarshalTypedErrorWithOptions. +// The queryExceptions given act as an override for unmarshalling errors when query compatible error codes are found. +// See also [awsQueryCompatible trait] +// +// [awsQueryCompatible trait]: https://smithy.io/2.0/aws/protocols/aws-query-protocol.html#aws-protocols-awsquerycompatible-trait func WithQueryCompatibility(queryExceptions map[string]func(protocol.ResponseMetadata, string) error) func(*UnmarshalTypedError) { return func(typedError *UnmarshalTypedError) { typedError.queryExceptions = queryExceptions 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 df8d93f23..bce051051 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 @@ -851,7 +851,7 @@ func (c *EC2) AllocateIpamPoolCidrRequest(input *AllocateIpamPoolCidrInput) (req // AllocateIpamPoolCidr API operation for Amazon Elastic Compute Cloud. // // Allocate a CIDR from an IPAM pool. In IPAM, an allocation is a CIDR assignment -// from an IPAM pool to another resource or IPAM pool. For more information, +// from an IPAM pool to another IPAM pool or to a resource. For more information, // see Allocate CIDRs (https://docs.aws.amazon.com/vpc/latest/ipam/allocate-cidrs-ipam.html) // in the Amazon VPC IPAM User Guide. // @@ -1664,6 +1664,81 @@ func (c *EC2) AssociateInstanceEventWindowWithContext(ctx aws.Context, input *As return out, req.Send() } +const opAssociateIpamResourceDiscovery = "AssociateIpamResourceDiscovery" + +// AssociateIpamResourceDiscoveryRequest generates a "aws/request.Request" representing the +// client's request for the AssociateIpamResourceDiscovery 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 AssociateIpamResourceDiscovery for more information on using the AssociateIpamResourceDiscovery +// 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 AssociateIpamResourceDiscoveryRequest method. +// req, resp := client.AssociateIpamResourceDiscoveryRequest(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/AssociateIpamResourceDiscovery +func (c *EC2) AssociateIpamResourceDiscoveryRequest(input *AssociateIpamResourceDiscoveryInput) (req *request.Request, output *AssociateIpamResourceDiscoveryOutput) { + op := &request.Operation{ + Name: opAssociateIpamResourceDiscovery, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateIpamResourceDiscoveryInput{} + } + + output = &AssociateIpamResourceDiscoveryOutput{} + req = c.newRequest(op, input, output) + return +} + +// 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. +// +// 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 AssociateIpamResourceDiscovery for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIpamResourceDiscovery +func (c *EC2) AssociateIpamResourceDiscovery(input *AssociateIpamResourceDiscoveryInput) (*AssociateIpamResourceDiscoveryOutput, error) { + req, out := c.AssociateIpamResourceDiscoveryRequest(input) + return out, req.Send() +} + +// AssociateIpamResourceDiscoveryWithContext is the same as AssociateIpamResourceDiscovery with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateIpamResourceDiscovery 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) AssociateIpamResourceDiscoveryWithContext(ctx aws.Context, input *AssociateIpamResourceDiscoveryInput, opts ...request.Option) (*AssociateIpamResourceDiscoveryOutput, error) { + req, out := c.AssociateIpamResourceDiscoveryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAssociateRouteTable = "AssociateRouteTable" // AssociateRouteTableRequest generates a "aws/request.Request" representing the @@ -5890,6 +5965,81 @@ func (c *EC2) CreateIpamPoolWithContext(ctx aws.Context, input *CreateIpamPoolIn return out, req.Send() } +const opCreateIpamResourceDiscovery = "CreateIpamResourceDiscovery" + +// CreateIpamResourceDiscoveryRequest generates a "aws/request.Request" representing the +// client's request for the CreateIpamResourceDiscovery 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 CreateIpamResourceDiscovery for more information on using the CreateIpamResourceDiscovery +// 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 CreateIpamResourceDiscoveryRequest method. +// req, resp := client.CreateIpamResourceDiscoveryRequest(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/CreateIpamResourceDiscovery +func (c *EC2) CreateIpamResourceDiscoveryRequest(input *CreateIpamResourceDiscoveryInput) (req *request.Request, output *CreateIpamResourceDiscoveryOutput) { + op := &request.Operation{ + Name: opCreateIpamResourceDiscovery, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateIpamResourceDiscoveryInput{} + } + + output = &CreateIpamResourceDiscoveryOutput{} + req = c.newRequest(op, input, output) + return +} + +// 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. +// +// 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 CreateIpamResourceDiscovery for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateIpamResourceDiscovery +func (c *EC2) CreateIpamResourceDiscovery(input *CreateIpamResourceDiscoveryInput) (*CreateIpamResourceDiscoveryOutput, error) { + req, out := c.CreateIpamResourceDiscoveryRequest(input) + return out, req.Send() +} + +// CreateIpamResourceDiscoveryWithContext is the same as CreateIpamResourceDiscovery with the addition of +// the ability to pass a context and additional request options. +// +// See CreateIpamResourceDiscovery 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) CreateIpamResourceDiscoveryWithContext(ctx aws.Context, input *CreateIpamResourceDiscoveryInput, opts ...request.Option) (*CreateIpamResourceDiscoveryOutput, error) { + req, out := c.CreateIpamResourceDiscoveryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateIpamScope = "CreateIpamScope" // CreateIpamScopeRequest generates a "aws/request.Request" representing the @@ -11860,6 +12010,81 @@ func (c *EC2) DeleteIpamPoolWithContext(ctx aws.Context, input *DeleteIpamPoolIn return out, req.Send() } +const opDeleteIpamResourceDiscovery = "DeleteIpamResourceDiscovery" + +// DeleteIpamResourceDiscoveryRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIpamResourceDiscovery 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 DeleteIpamResourceDiscovery for more information on using the DeleteIpamResourceDiscovery +// 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 DeleteIpamResourceDiscoveryRequest method. +// req, resp := client.DeleteIpamResourceDiscoveryRequest(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/DeleteIpamResourceDiscovery +func (c *EC2) DeleteIpamResourceDiscoveryRequest(input *DeleteIpamResourceDiscoveryInput) (req *request.Request, output *DeleteIpamResourceDiscoveryOutput) { + op := &request.Operation{ + Name: opDeleteIpamResourceDiscovery, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteIpamResourceDiscoveryInput{} + } + + output = &DeleteIpamResourceDiscoveryOutput{} + req = c.newRequest(op, input, output) + return +} + +// 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. +// +// 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 DeleteIpamResourceDiscovery for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteIpamResourceDiscovery +func (c *EC2) DeleteIpamResourceDiscovery(input *DeleteIpamResourceDiscoveryInput) (*DeleteIpamResourceDiscoveryOutput, error) { + req, out := c.DeleteIpamResourceDiscoveryRequest(input) + return out, req.Send() +} + +// DeleteIpamResourceDiscoveryWithContext is the same as DeleteIpamResourceDiscovery with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteIpamResourceDiscovery 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) DeleteIpamResourceDiscoveryWithContext(ctx aws.Context, input *DeleteIpamResourceDiscoveryInput, opts ...request.Option) (*DeleteIpamResourceDiscoveryOutput, error) { + req, out := c.DeleteIpamResourceDiscoveryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteIpamScope = "DeleteIpamScope" // DeleteIpamScopeRequest generates a "aws/request.Request" representing the @@ -22982,6 +23207,270 @@ func (c *EC2) DescribeIpamPoolsPagesWithContext(ctx aws.Context, input *Describe return p.Err() } +const opDescribeIpamResourceDiscoveries = "DescribeIpamResourceDiscoveries" + +// DescribeIpamResourceDiscoveriesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIpamResourceDiscoveries 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 DescribeIpamResourceDiscoveries for more information on using the DescribeIpamResourceDiscoveries +// 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 DescribeIpamResourceDiscoveriesRequest method. +// req, resp := client.DescribeIpamResourceDiscoveriesRequest(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/DescribeIpamResourceDiscoveries +func (c *EC2) DescribeIpamResourceDiscoveriesRequest(input *DescribeIpamResourceDiscoveriesInput) (req *request.Request, output *DescribeIpamResourceDiscoveriesOutput) { + op := &request.Operation{ + Name: opDescribeIpamResourceDiscoveries, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeIpamResourceDiscoveriesInput{} + } + + output = &DescribeIpamResourceDiscoveriesOutput{} + req = c.newRequest(op, input, output) + return +} + +// 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. +// +// 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 DescribeIpamResourceDiscoveries for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpamResourceDiscoveries +func (c *EC2) DescribeIpamResourceDiscoveries(input *DescribeIpamResourceDiscoveriesInput) (*DescribeIpamResourceDiscoveriesOutput, error) { + req, out := c.DescribeIpamResourceDiscoveriesRequest(input) + return out, req.Send() +} + +// DescribeIpamResourceDiscoveriesWithContext is the same as DescribeIpamResourceDiscoveries with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeIpamResourceDiscoveries 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) DescribeIpamResourceDiscoveriesWithContext(ctx aws.Context, input *DescribeIpamResourceDiscoveriesInput, opts ...request.Option) (*DescribeIpamResourceDiscoveriesOutput, error) { + req, out := c.DescribeIpamResourceDiscoveriesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeIpamResourceDiscoveriesPages iterates over the pages of a DescribeIpamResourceDiscoveries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeIpamResourceDiscoveries method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeIpamResourceDiscoveries operation. +// pageNum := 0 +// err := client.DescribeIpamResourceDiscoveriesPages(params, +// func(page *ec2.DescribeIpamResourceDiscoveriesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *EC2) DescribeIpamResourceDiscoveriesPages(input *DescribeIpamResourceDiscoveriesInput, fn func(*DescribeIpamResourceDiscoveriesOutput, bool) bool) error { + return c.DescribeIpamResourceDiscoveriesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeIpamResourceDiscoveriesPagesWithContext same as DescribeIpamResourceDiscoveriesPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribeIpamResourceDiscoveriesPagesWithContext(ctx aws.Context, input *DescribeIpamResourceDiscoveriesInput, fn func(*DescribeIpamResourceDiscoveriesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeIpamResourceDiscoveriesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeIpamResourceDiscoveriesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeIpamResourceDiscoveriesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeIpamResourceDiscoveryAssociations = "DescribeIpamResourceDiscoveryAssociations" + +// DescribeIpamResourceDiscoveryAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIpamResourceDiscoveryAssociations 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 DescribeIpamResourceDiscoveryAssociations for more information on using the DescribeIpamResourceDiscoveryAssociations +// 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 DescribeIpamResourceDiscoveryAssociationsRequest method. +// req, resp := client.DescribeIpamResourceDiscoveryAssociationsRequest(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/DescribeIpamResourceDiscoveryAssociations +func (c *EC2) DescribeIpamResourceDiscoveryAssociationsRequest(input *DescribeIpamResourceDiscoveryAssociationsInput) (req *request.Request, output *DescribeIpamResourceDiscoveryAssociationsOutput) { + op := &request.Operation{ + Name: opDescribeIpamResourceDiscoveryAssociations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeIpamResourceDiscoveryAssociationsInput{} + } + + output = &DescribeIpamResourceDiscoveryAssociationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeIpamResourceDiscoveryAssociations API operation for Amazon Elastic Compute Cloud. +// +// Describes resource discovery association with an Amazon VPC IPAM. An associated +// resource discovery is a resource discovery that has been associated with +// an IPAM.. +// +// 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 DescribeIpamResourceDiscoveryAssociations for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpamResourceDiscoveryAssociations +func (c *EC2) DescribeIpamResourceDiscoveryAssociations(input *DescribeIpamResourceDiscoveryAssociationsInput) (*DescribeIpamResourceDiscoveryAssociationsOutput, error) { + req, out := c.DescribeIpamResourceDiscoveryAssociationsRequest(input) + return out, req.Send() +} + +// DescribeIpamResourceDiscoveryAssociationsWithContext is the same as DescribeIpamResourceDiscoveryAssociations with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeIpamResourceDiscoveryAssociations 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) DescribeIpamResourceDiscoveryAssociationsWithContext(ctx aws.Context, input *DescribeIpamResourceDiscoveryAssociationsInput, opts ...request.Option) (*DescribeIpamResourceDiscoveryAssociationsOutput, error) { + req, out := c.DescribeIpamResourceDiscoveryAssociationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeIpamResourceDiscoveryAssociationsPages iterates over the pages of a DescribeIpamResourceDiscoveryAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeIpamResourceDiscoveryAssociations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeIpamResourceDiscoveryAssociations operation. +// pageNum := 0 +// err := client.DescribeIpamResourceDiscoveryAssociationsPages(params, +// func(page *ec2.DescribeIpamResourceDiscoveryAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *EC2) DescribeIpamResourceDiscoveryAssociationsPages(input *DescribeIpamResourceDiscoveryAssociationsInput, fn func(*DescribeIpamResourceDiscoveryAssociationsOutput, bool) bool) error { + return c.DescribeIpamResourceDiscoveryAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeIpamResourceDiscoveryAssociationsPagesWithContext same as DescribeIpamResourceDiscoveryAssociationsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribeIpamResourceDiscoveryAssociationsPagesWithContext(ctx aws.Context, input *DescribeIpamResourceDiscoveryAssociationsInput, fn func(*DescribeIpamResourceDiscoveryAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeIpamResourceDiscoveryAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeIpamResourceDiscoveryAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeIpamResourceDiscoveryAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeIpamScopes = "DescribeIpamScopes" // DescribeIpamScopesRequest generates a "aws/request.Request" representing the @@ -35577,6 +36066,81 @@ func (c *EC2) DisassociateInstanceEventWindowWithContext(ctx aws.Context, input return out, req.Send() } +const opDisassociateIpamResourceDiscovery = "DisassociateIpamResourceDiscovery" + +// DisassociateIpamResourceDiscoveryRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateIpamResourceDiscovery 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 DisassociateIpamResourceDiscovery for more information on using the DisassociateIpamResourceDiscovery +// 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 DisassociateIpamResourceDiscoveryRequest method. +// req, resp := client.DisassociateIpamResourceDiscoveryRequest(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/DisassociateIpamResourceDiscovery +func (c *EC2) DisassociateIpamResourceDiscoveryRequest(input *DisassociateIpamResourceDiscoveryInput) (req *request.Request, output *DisassociateIpamResourceDiscoveryOutput) { + op := &request.Operation{ + Name: opDisassociateIpamResourceDiscovery, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateIpamResourceDiscoveryInput{} + } + + output = &DisassociateIpamResourceDiscoveryOutput{} + req = c.newRequest(op, input, output) + return +} + +// 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. +// +// 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 DisassociateIpamResourceDiscovery for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIpamResourceDiscovery +func (c *EC2) DisassociateIpamResourceDiscovery(input *DisassociateIpamResourceDiscoveryInput) (*DisassociateIpamResourceDiscoveryOutput, error) { + req, out := c.DisassociateIpamResourceDiscoveryRequest(input) + return out, req.Send() +} + +// DisassociateIpamResourceDiscoveryWithContext is the same as DisassociateIpamResourceDiscovery with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateIpamResourceDiscovery 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) DisassociateIpamResourceDiscoveryWithContext(ctx aws.Context, input *DisassociateIpamResourceDiscoveryInput, opts ...request.Option) (*DisassociateIpamResourceDiscoveryOutput, error) { + req, out := c.DisassociateIpamResourceDiscoveryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisassociateRouteTable = "DisassociateRouteTable" // DisassociateRouteTableRequest generates a "aws/request.Request" representing the @@ -39048,6 +39612,273 @@ func (c *EC2) GetIpamAddressHistoryPagesWithContext(ctx aws.Context, input *GetI return p.Err() } +const opGetIpamDiscoveredAccounts = "GetIpamDiscoveredAccounts" + +// GetIpamDiscoveredAccountsRequest generates a "aws/request.Request" representing the +// client's request for the GetIpamDiscoveredAccounts 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 GetIpamDiscoveredAccounts for more information on using the GetIpamDiscoveredAccounts +// 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 GetIpamDiscoveredAccountsRequest method. +// req, resp := client.GetIpamDiscoveredAccountsRequest(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/GetIpamDiscoveredAccounts +func (c *EC2) GetIpamDiscoveredAccountsRequest(input *GetIpamDiscoveredAccountsInput) (req *request.Request, output *GetIpamDiscoveredAccountsOutput) { + op := &request.Operation{ + Name: opGetIpamDiscoveredAccounts, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetIpamDiscoveredAccountsInput{} + } + + output = &GetIpamDiscoveredAccountsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetIpamDiscoveredAccounts API operation for Amazon Elastic Compute Cloud. +// +// Gets IPAM discovered accounts. A discovered account is an Amazon Web Services +// account that is monitored under a resource discovery. If you have integrated +// IPAM with Amazon Web Services Organizations, all accounts in the organization +// are discovered accounts. Only the IPAM account can get all discovered accounts +// in the organization. +// +// 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 GetIpamDiscoveredAccounts for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamDiscoveredAccounts +func (c *EC2) GetIpamDiscoveredAccounts(input *GetIpamDiscoveredAccountsInput) (*GetIpamDiscoveredAccountsOutput, error) { + req, out := c.GetIpamDiscoveredAccountsRequest(input) + return out, req.Send() +} + +// GetIpamDiscoveredAccountsWithContext is the same as GetIpamDiscoveredAccounts with the addition of +// the ability to pass a context and additional request options. +// +// See GetIpamDiscoveredAccounts 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) GetIpamDiscoveredAccountsWithContext(ctx aws.Context, input *GetIpamDiscoveredAccountsInput, opts ...request.Option) (*GetIpamDiscoveredAccountsOutput, error) { + req, out := c.GetIpamDiscoveredAccountsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetIpamDiscoveredAccountsPages iterates over the pages of a GetIpamDiscoveredAccounts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetIpamDiscoveredAccounts method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetIpamDiscoveredAccounts operation. +// pageNum := 0 +// err := client.GetIpamDiscoveredAccountsPages(params, +// func(page *ec2.GetIpamDiscoveredAccountsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *EC2) GetIpamDiscoveredAccountsPages(input *GetIpamDiscoveredAccountsInput, fn func(*GetIpamDiscoveredAccountsOutput, bool) bool) error { + return c.GetIpamDiscoveredAccountsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetIpamDiscoveredAccountsPagesWithContext same as GetIpamDiscoveredAccountsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) GetIpamDiscoveredAccountsPagesWithContext(ctx aws.Context, input *GetIpamDiscoveredAccountsInput, fn func(*GetIpamDiscoveredAccountsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetIpamDiscoveredAccountsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetIpamDiscoveredAccountsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetIpamDiscoveredAccountsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetIpamDiscoveredResourceCidrs = "GetIpamDiscoveredResourceCidrs" + +// GetIpamDiscoveredResourceCidrsRequest generates a "aws/request.Request" representing the +// client's request for the GetIpamDiscoveredResourceCidrs 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 GetIpamDiscoveredResourceCidrs for more information on using the GetIpamDiscoveredResourceCidrs +// 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 GetIpamDiscoveredResourceCidrsRequest method. +// req, resp := client.GetIpamDiscoveredResourceCidrsRequest(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/GetIpamDiscoveredResourceCidrs +func (c *EC2) GetIpamDiscoveredResourceCidrsRequest(input *GetIpamDiscoveredResourceCidrsInput) (req *request.Request, output *GetIpamDiscoveredResourceCidrsOutput) { + op := &request.Operation{ + Name: opGetIpamDiscoveredResourceCidrs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetIpamDiscoveredResourceCidrsInput{} + } + + output = &GetIpamDiscoveredResourceCidrsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetIpamDiscoveredResourceCidrs API operation for Amazon Elastic Compute Cloud. +// +// Returns the resource CIDRs that are monitored as part of a resource discovery. +// A discovered resource is a resource CIDR monitored under a resource discovery. +// The following resources can be discovered: VPCs, Public IPv4 pools, VPC subnets, +// and Elastic IP addresses. +// +// 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 GetIpamDiscoveredResourceCidrs for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamDiscoveredResourceCidrs +func (c *EC2) GetIpamDiscoveredResourceCidrs(input *GetIpamDiscoveredResourceCidrsInput) (*GetIpamDiscoveredResourceCidrsOutput, error) { + req, out := c.GetIpamDiscoveredResourceCidrsRequest(input) + return out, req.Send() +} + +// GetIpamDiscoveredResourceCidrsWithContext is the same as GetIpamDiscoveredResourceCidrs with the addition of +// the ability to pass a context and additional request options. +// +// See GetIpamDiscoveredResourceCidrs 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) GetIpamDiscoveredResourceCidrsWithContext(ctx aws.Context, input *GetIpamDiscoveredResourceCidrsInput, opts ...request.Option) (*GetIpamDiscoveredResourceCidrsOutput, error) { + req, out := c.GetIpamDiscoveredResourceCidrsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetIpamDiscoveredResourceCidrsPages iterates over the pages of a GetIpamDiscoveredResourceCidrs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetIpamDiscoveredResourceCidrs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetIpamDiscoveredResourceCidrs operation. +// pageNum := 0 +// err := client.GetIpamDiscoveredResourceCidrsPages(params, +// func(page *ec2.GetIpamDiscoveredResourceCidrsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *EC2) GetIpamDiscoveredResourceCidrsPages(input *GetIpamDiscoveredResourceCidrsInput, fn func(*GetIpamDiscoveredResourceCidrsOutput, bool) bool) error { + return c.GetIpamDiscoveredResourceCidrsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetIpamDiscoveredResourceCidrsPagesWithContext same as GetIpamDiscoveredResourceCidrsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) GetIpamDiscoveredResourceCidrsPagesWithContext(ctx aws.Context, input *GetIpamDiscoveredResourceCidrsInput, fn func(*GetIpamDiscoveredResourceCidrsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetIpamDiscoveredResourceCidrsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetIpamDiscoveredResourceCidrsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetIpamDiscoveredResourceCidrsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetIpamPoolAllocations = "GetIpamPoolAllocations" // GetIpamPoolAllocationsRequest generates a "aws/request.Request" representing the @@ -39357,7 +40188,11 @@ func (c *EC2) GetIpamResourceCidrsRequest(input *GetIpamResourceCidrsInput) (req // GetIpamResourceCidrs API operation for Amazon Elastic Compute Cloud. // -// Get information about the resources in a scope. +// 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. // // 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 @@ -44306,6 +45141,81 @@ func (c *EC2) ModifyIpamResourceCidrWithContext(ctx aws.Context, input *ModifyIp return out, req.Send() } +const opModifyIpamResourceDiscovery = "ModifyIpamResourceDiscovery" + +// ModifyIpamResourceDiscoveryRequest generates a "aws/request.Request" representing the +// client's request for the ModifyIpamResourceDiscovery 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 ModifyIpamResourceDiscovery for more information on using the ModifyIpamResourceDiscovery +// 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 ModifyIpamResourceDiscoveryRequest method. +// req, resp := client.ModifyIpamResourceDiscoveryRequest(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/ModifyIpamResourceDiscovery +func (c *EC2) ModifyIpamResourceDiscoveryRequest(input *ModifyIpamResourceDiscoveryInput) (req *request.Request, output *ModifyIpamResourceDiscoveryOutput) { + op := &request.Operation{ + Name: opModifyIpamResourceDiscovery, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyIpamResourceDiscoveryInput{} + } + + output = &ModifyIpamResourceDiscoveryOutput{} + req = c.newRequest(op, input, output) + return +} + +// 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. +// +// 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 ModifyIpamResourceDiscovery for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIpamResourceDiscovery +func (c *EC2) ModifyIpamResourceDiscovery(input *ModifyIpamResourceDiscoveryInput) (*ModifyIpamResourceDiscoveryOutput, error) { + req, out := c.ModifyIpamResourceDiscoveryRequest(input) + return out, req.Send() +} + +// ModifyIpamResourceDiscoveryWithContext is the same as ModifyIpamResourceDiscovery with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyIpamResourceDiscovery 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) ModifyIpamResourceDiscoveryWithContext(ctx aws.Context, input *ModifyIpamResourceDiscoveryInput, opts ...request.Option) (*ModifyIpamResourceDiscoveryOutput, error) { + req, out := c.ModifyIpamResourceDiscoveryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyIpamScope = "ModifyIpamScope" // ModifyIpamScopeRequest generates a "aws/request.Request" representing the @@ -47597,13 +48507,12 @@ func (c *EC2) MoveByoipCidrToIpamRequest(input *MoveByoipCidrToIpamInput) (req * // MoveByoipCidrToIpam API operation for Amazon Elastic Compute Cloud. // -// Move an BYOIP IPv4 CIDR to IPAM from a public IPv4 pool. +// Move a BYOIPv4 CIDR to IPAM from a public IPv4 pool. // -// If you already have an IPv4 BYOIP CIDR with Amazon Web Services, you can -// move the CIDR to IPAM from a public IPv4 pool. You cannot move an IPv6 CIDR -// to IPAM. If you are bringing a new IP address to Amazon Web Services for -// the first time, complete the steps in Tutorial: BYOIP address CIDRs to IPAM -// (https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-byoip-ipam.html). +// If you already have a BYOIPv4 CIDR with Amazon Web Services, you can move +// the CIDR to IPAM from a public IPv4 pool. You cannot move an IPv6 CIDR to +// IPAM. If you are bringing a new IP address to Amazon Web Services for the +// first time, complete the steps in Tutorial: BYOIP address CIDRs to IPAM (https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-byoip-ipam.html). // // 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 @@ -56533,7 +57442,7 @@ type AssociateEnclaveCertificateIamRoleInput struct { _ struct{} `type:"structure"` // The ARN of the ACM certificate with which to associate the IAM role. - CertificateArn *string `min:"1" type:"string"` + CertificateArn *string `type:"string"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -56543,7 +57452,7 @@ 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 `min:"1" type:"string"` + RoleArn *string `type:"string"` } // String returns the string representation. @@ -56564,22 +57473,6 @@ 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 && len(*s.CertificateArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 1)) - } - if s.RoleArn != nil && len(*s.RoleArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) - } - - 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 @@ -56842,6 +57735,128 @@ func (s *AssociateInstanceEventWindowOutput) SetInstanceEventWindow(v *InstanceE return s } +type AssociateIpamResourceDiscoveryInput struct { + _ struct{} `type:"structure"` + + // A client token. + ClientToken *string `type:"string" idempotencyToken:"true"` + + // A check for 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"` + + // An IPAM ID. + // + // IpamId is a required field + IpamId *string `type:"string" required:"true"` + + // A resource discovery ID. + // + // IpamResourceDiscoveryId is a required field + IpamResourceDiscoveryId *string `type:"string" required:"true"` + + // Tag specifications. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" 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 AssociateIpamResourceDiscoveryInput) 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 AssociateIpamResourceDiscoveryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateIpamResourceDiscoveryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateIpamResourceDiscoveryInput"} + if s.IpamId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamId")) + } + if s.IpamResourceDiscoveryId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamResourceDiscoveryId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *AssociateIpamResourceDiscoveryInput) SetClientToken(v string) *AssociateIpamResourceDiscoveryInput { + s.ClientToken = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *AssociateIpamResourceDiscoveryInput) SetDryRun(v bool) *AssociateIpamResourceDiscoveryInput { + s.DryRun = &v + return s +} + +// SetIpamId sets the IpamId field's value. +func (s *AssociateIpamResourceDiscoveryInput) SetIpamId(v string) *AssociateIpamResourceDiscoveryInput { + s.IpamId = &v + return s +} + +// SetIpamResourceDiscoveryId sets the IpamResourceDiscoveryId field's value. +func (s *AssociateIpamResourceDiscoveryInput) SetIpamResourceDiscoveryId(v string) *AssociateIpamResourceDiscoveryInput { + s.IpamResourceDiscoveryId = &v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *AssociateIpamResourceDiscoveryInput) SetTagSpecifications(v []*TagSpecification) *AssociateIpamResourceDiscoveryInput { + s.TagSpecifications = v + return s +} + +type AssociateIpamResourceDiscoveryOutput struct { + _ struct{} `type:"structure"` + + // A resource discovery association. An associated resource discovery is a resource + // discovery that has been associated with an IPAM. + IpamResourceDiscoveryAssociation *IpamResourceDiscoveryAssociation `locationName:"ipamResourceDiscoveryAssociation" type:"structure"` +} + +// 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 AssociateIpamResourceDiscoveryOutput) 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 AssociateIpamResourceDiscoveryOutput) GoString() string { + return s.String() +} + +// SetIpamResourceDiscoveryAssociation sets the IpamResourceDiscoveryAssociation field's value. +func (s *AssociateIpamResourceDiscoveryOutput) SetIpamResourceDiscoveryAssociation(v *IpamResourceDiscoveryAssociation) *AssociateIpamResourceDiscoveryOutput { + s.IpamResourceDiscoveryAssociation = v + return s +} + type AssociateRouteTableInput struct { _ struct{} `type:"structure"` @@ -68331,6 +69346,15 @@ type CreateIpamPoolInput struct { // Possible values: Any Amazon Web Services Region, such as us-east-1. Locale *string `type:"string"` + // The IP address source for pools in the public scope. Only used for provisioning + // IP address CIDRs to pools in the public scope. Default is byoip. For more + // information, see Create IPv6 pools (https://docs.aws.amazon.com/vpc/latest/ipam/intro-create-ipv6-pools.html) + // in the Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided + // IPv6 CIDR block to a top-level IPv6 pool if PublicIpSource is amazon. For + // information on increasing the default limit, see Quotas for your IPAM (https://docs.aws.amazon.com/vpc/latest/ipam/quotas-ipam.html) + // in the Amazon VPC IPAM User Guide. + PublicIpSource *string `type:"string" enum:"IpamPoolPublicIpSource"` + // Determines if the pool is publicly advertisable. This option is not available // for pools with AddressFamily set to ipv4. PubliclyAdvertisable *bool `type:"boolean"` @@ -68453,6 +69477,12 @@ func (s *CreateIpamPoolInput) SetLocale(v string) *CreateIpamPoolInput { return s } +// SetPublicIpSource sets the PublicIpSource field's value. +func (s *CreateIpamPoolInput) SetPublicIpSource(v string) *CreateIpamPoolInput { + s.PublicIpSource = &v + return s +} + // SetPubliclyAdvertisable sets the PubliclyAdvertisable field's value. func (s *CreateIpamPoolInput) SetPubliclyAdvertisable(v bool) *CreateIpamPoolInput { s.PubliclyAdvertisable = &v @@ -68502,6 +69532,110 @@ func (s *CreateIpamPoolOutput) SetIpamPool(v *IpamPool) *CreateIpamPoolOutput { return s } +type CreateIpamResourceDiscoveryInput struct { + _ struct{} `type:"structure"` + + // A client token for the IPAM resource discovery. + ClientToken *string `type:"string" idempotencyToken:"true"` + + // A description for the IPAM resource discovery. + Description *string `type:"string"` + + // A check for 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"` + + // Operating Regions for the IPAM resource discovery. Operating Regions are + // Amazon Web Services Regions where the IPAM is allowed to manage IP address + // CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services + // Regions you select as operating Regions. + OperatingRegions []*AddIpamOperatingRegion `locationName:"OperatingRegion" type:"list"` + + // Tag specifications for the IPAM resource discovery. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" 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 CreateIpamResourceDiscoveryInput) 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 CreateIpamResourceDiscoveryInput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateIpamResourceDiscoveryInput) SetClientToken(v string) *CreateIpamResourceDiscoveryInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateIpamResourceDiscoveryInput) SetDescription(v string) *CreateIpamResourceDiscoveryInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateIpamResourceDiscoveryInput) SetDryRun(v bool) *CreateIpamResourceDiscoveryInput { + s.DryRun = &v + return s +} + +// SetOperatingRegions sets the OperatingRegions field's value. +func (s *CreateIpamResourceDiscoveryInput) SetOperatingRegions(v []*AddIpamOperatingRegion) *CreateIpamResourceDiscoveryInput { + s.OperatingRegions = v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateIpamResourceDiscoveryInput) SetTagSpecifications(v []*TagSpecification) *CreateIpamResourceDiscoveryInput { + s.TagSpecifications = v + return s +} + +type CreateIpamResourceDiscoveryOutput struct { + _ struct{} `type:"structure"` + + // An IPAM resource discovery. + IpamResourceDiscovery *IpamResourceDiscovery `locationName:"ipamResourceDiscovery" type:"structure"` +} + +// 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 CreateIpamResourceDiscoveryOutput) 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 CreateIpamResourceDiscoveryOutput) GoString() string { + return s.String() +} + +// SetIpamResourceDiscovery sets the IpamResourceDiscovery field's value. +func (s *CreateIpamResourceDiscoveryOutput) SetIpamResourceDiscovery(v *IpamResourceDiscovery) *CreateIpamResourceDiscoveryOutput { + s.IpamResourceDiscovery = v + return s +} + type CreateIpamScopeInput struct { _ struct{} `type:"structure"` @@ -69141,9 +70275,12 @@ type CreateLocalGatewayRouteInput struct { // The CIDR range used for destination matches. Routing decisions are based // on the most specific match. - // - // DestinationCidrBlock is a required field - DestinationCidrBlock *string `type:"string" required:"true"` + DestinationCidrBlock *string `type:"string"` + + // The ID of the prefix list. Use a prefix list in place of DestinationCidrBlock. + // You cannot use DestinationPrefixListId and DestinationCidrBlock in the same + // request. + DestinationPrefixListId *string `type:"string"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -69184,9 +70321,6 @@ func (s CreateLocalGatewayRouteInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateLocalGatewayRouteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateLocalGatewayRouteInput"} - if s.DestinationCidrBlock == nil { - invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock")) - } if s.LocalGatewayRouteTableId == nil { invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId")) } @@ -69203,6 +70337,12 @@ func (s *CreateLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *Create return s } +// SetDestinationPrefixListId sets the DestinationPrefixListId field's value. +func (s *CreateLocalGatewayRouteInput) SetDestinationPrefixListId(v string) *CreateLocalGatewayRouteInput { + s.DestinationPrefixListId = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *CreateLocalGatewayRouteInput) SetDryRun(v bool) *CreateLocalGatewayRouteInput { s.DryRun = &v @@ -72092,6 +73232,11 @@ func (s *CreateSnapshotsInput) Validate() error { if s.InstanceSpecification == nil { invalidParams.Add(request.NewErrParamRequired("InstanceSpecification")) } + if s.InstanceSpecification != nil { + if err := s.InstanceSpecification.Validate(); err != nil { + invalidParams.AddNested("InstanceSpecification", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -79223,6 +80368,95 @@ func (s *DeleteIpamPoolOutput) SetIpamPool(v *IpamPool) *DeleteIpamPoolOutput { return s } +type DeleteIpamResourceDiscoveryInput struct { + _ struct{} `type:"structure"` + + // A check for 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 IPAM resource discovery ID. + // + // IpamResourceDiscoveryId is a required field + IpamResourceDiscoveryId *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 DeleteIpamResourceDiscoveryInput) 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 DeleteIpamResourceDiscoveryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIpamResourceDiscoveryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIpamResourceDiscoveryInput"} + if s.IpamResourceDiscoveryId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamResourceDiscoveryId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteIpamResourceDiscoveryInput) SetDryRun(v bool) *DeleteIpamResourceDiscoveryInput { + s.DryRun = &v + return s +} + +// SetIpamResourceDiscoveryId sets the IpamResourceDiscoveryId field's value. +func (s *DeleteIpamResourceDiscoveryInput) SetIpamResourceDiscoveryId(v string) *DeleteIpamResourceDiscoveryInput { + s.IpamResourceDiscoveryId = &v + return s +} + +type DeleteIpamResourceDiscoveryOutput struct { + _ struct{} `type:"structure"` + + // The IPAM resource discovery. + IpamResourceDiscovery *IpamResourceDiscovery `locationName:"ipamResourceDiscovery" type:"structure"` +} + +// 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 DeleteIpamResourceDiscoveryOutput) 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 DeleteIpamResourceDiscoveryOutput) GoString() string { + return s.String() +} + +// SetIpamResourceDiscovery sets the IpamResourceDiscovery field's value. +func (s *DeleteIpamResourceDiscoveryOutput) SetIpamResourceDiscovery(v *IpamResourceDiscovery) *DeleteIpamResourceDiscoveryOutput { + s.IpamResourceDiscovery = v + return s +} + type DeleteIpamScopeInput struct { _ struct{} `type:"structure"` @@ -79726,9 +80960,11 @@ type DeleteLocalGatewayRouteInput struct { _ struct{} `type:"structure"` // The CIDR range for the route. This must match the CIDR for the route exactly. - // - // DestinationCidrBlock is a required field - DestinationCidrBlock *string `type:"string" required:"true"` + DestinationCidrBlock *string `type:"string"` + + // Use a prefix list in place of DestinationCidrBlock. You cannot use DestinationPrefixListId + // and DestinationCidrBlock in the same request. + DestinationPrefixListId *string `type:"string"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -79763,9 +80999,6 @@ func (s DeleteLocalGatewayRouteInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteLocalGatewayRouteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteLocalGatewayRouteInput"} - if s.DestinationCidrBlock == nil { - invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock")) - } if s.LocalGatewayRouteTableId == nil { invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId")) } @@ -79782,6 +81015,12 @@ func (s *DeleteLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *Delete return s } +// SetDestinationPrefixListId sets the DestinationPrefixListId field's value. +func (s *DeleteLocalGatewayRouteInput) SetDestinationPrefixListId(v string) *DeleteLocalGatewayRouteInput { + s.DestinationPrefixListId = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *DeleteLocalGatewayRouteInput) SetDryRun(v bool) *DeleteLocalGatewayRouteInput { s.DryRun = &v @@ -93070,6 +94309,257 @@ func (s *DescribeIpamPoolsOutput) SetNextToken(v string) *DescribeIpamPoolsOutpu return s } +type DescribeIpamResourceDiscoveriesInput struct { + _ struct{} `type:"structure"` + + // A check for 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 resource discovery filters. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The IPAM resource discovery IDs. + IpamResourceDiscoveryIds []*string `locationName:"IpamResourceDiscoveryId" locationNameList:"item" type:"list"` + + // The maximum number of resource discoveries to return in one page of results. + MaxResults *int64 `min:"5" type:"integer"` + + // Specify the pagination token from a previous request to retrieve the next + // page of results. + NextToken *string `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 DescribeIpamResourceDiscoveriesInput) 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 DescribeIpamResourceDiscoveriesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeIpamResourceDiscoveriesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIpamResourceDiscoveriesInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeIpamResourceDiscoveriesInput) SetDryRun(v bool) *DescribeIpamResourceDiscoveriesInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeIpamResourceDiscoveriesInput) SetFilters(v []*Filter) *DescribeIpamResourceDiscoveriesInput { + s.Filters = v + return s +} + +// SetIpamResourceDiscoveryIds sets the IpamResourceDiscoveryIds field's value. +func (s *DescribeIpamResourceDiscoveriesInput) SetIpamResourceDiscoveryIds(v []*string) *DescribeIpamResourceDiscoveriesInput { + s.IpamResourceDiscoveryIds = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeIpamResourceDiscoveriesInput) SetMaxResults(v int64) *DescribeIpamResourceDiscoveriesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeIpamResourceDiscoveriesInput) SetNextToken(v string) *DescribeIpamResourceDiscoveriesInput { + s.NextToken = &v + return s +} + +type DescribeIpamResourceDiscoveriesOutput struct { + _ struct{} `type:"structure"` + + // The resource discoveries. + IpamResourceDiscoveries []*IpamResourceDiscovery `locationName:"ipamResourceDiscoverySet" locationNameList:"item" type:"list"` + + // Specify the pagination token from a previous request to retrieve the next + // page of results. + NextToken *string `locationName:"nextToken" 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 DescribeIpamResourceDiscoveriesOutput) 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 DescribeIpamResourceDiscoveriesOutput) GoString() string { + return s.String() +} + +// SetIpamResourceDiscoveries sets the IpamResourceDiscoveries field's value. +func (s *DescribeIpamResourceDiscoveriesOutput) SetIpamResourceDiscoveries(v []*IpamResourceDiscovery) *DescribeIpamResourceDiscoveriesOutput { + s.IpamResourceDiscoveries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeIpamResourceDiscoveriesOutput) SetNextToken(v string) *DescribeIpamResourceDiscoveriesOutput { + s.NextToken = &v + return s +} + +type DescribeIpamResourceDiscoveryAssociationsInput struct { + _ struct{} `type:"structure"` + + // A check for 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 resource discovery association filters. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The resource discovery association IDs. + IpamResourceDiscoveryAssociationIds []*string `locationName:"IpamResourceDiscoveryAssociationId" locationNameList:"item" type:"list"` + + // The maximum number of resource discovery associations to return in one page + // of results. + MaxResults *int64 `min:"5" type:"integer"` + + // Specify the pagination token from a previous request to retrieve the next + // page of results. + NextToken *string `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 DescribeIpamResourceDiscoveryAssociationsInput) 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 DescribeIpamResourceDiscoveryAssociationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeIpamResourceDiscoveryAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIpamResourceDiscoveryAssociationsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeIpamResourceDiscoveryAssociationsInput) SetDryRun(v bool) *DescribeIpamResourceDiscoveryAssociationsInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeIpamResourceDiscoveryAssociationsInput) SetFilters(v []*Filter) *DescribeIpamResourceDiscoveryAssociationsInput { + s.Filters = v + return s +} + +// SetIpamResourceDiscoveryAssociationIds sets the IpamResourceDiscoveryAssociationIds field's value. +func (s *DescribeIpamResourceDiscoveryAssociationsInput) SetIpamResourceDiscoveryAssociationIds(v []*string) *DescribeIpamResourceDiscoveryAssociationsInput { + s.IpamResourceDiscoveryAssociationIds = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeIpamResourceDiscoveryAssociationsInput) SetMaxResults(v int64) *DescribeIpamResourceDiscoveryAssociationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeIpamResourceDiscoveryAssociationsInput) SetNextToken(v string) *DescribeIpamResourceDiscoveryAssociationsInput { + s.NextToken = &v + return s +} + +type DescribeIpamResourceDiscoveryAssociationsOutput struct { + _ struct{} `type:"structure"` + + // The resource discovery associations. + IpamResourceDiscoveryAssociations []*IpamResourceDiscoveryAssociation `locationName:"ipamResourceDiscoveryAssociationSet" locationNameList:"item" type:"list"` + + // Specify the pagination token from a previous request to retrieve the next + // page of results. + NextToken *string `locationName:"nextToken" 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 DescribeIpamResourceDiscoveryAssociationsOutput) 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 DescribeIpamResourceDiscoveryAssociationsOutput) GoString() string { + return s.String() +} + +// SetIpamResourceDiscoveryAssociations sets the IpamResourceDiscoveryAssociations field's value. +func (s *DescribeIpamResourceDiscoveryAssociationsOutput) SetIpamResourceDiscoveryAssociations(v []*IpamResourceDiscoveryAssociation) *DescribeIpamResourceDiscoveryAssociationsOutput { + s.IpamResourceDiscoveryAssociations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeIpamResourceDiscoveryAssociationsOutput) SetNextToken(v string) *DescribeIpamResourceDiscoveryAssociationsOutput { + s.NextToken = &v + return s +} + type DescribeIpamScopesInput struct { _ struct{} `type:"structure"` @@ -107997,7 +109487,7 @@ type DisassociateEnclaveCertificateIamRoleInput struct { _ struct{} `type:"structure"` // The ARN of the ACM certificate from which to disassociate the IAM role. - CertificateArn *string `min:"1" type:"string"` + CertificateArn *string `type:"string"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -108006,7 +109496,7 @@ type DisassociateEnclaveCertificateIamRoleInput struct { DryRun *bool `type:"boolean"` // The ARN of the IAM role to disassociate. - RoleArn *string `min:"1" type:"string"` + RoleArn *string `type:"string"` } // String returns the string representation. @@ -108027,22 +109517,6 @@ 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 && len(*s.CertificateArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 1)) - } - if s.RoleArn != nil && len(*s.RoleArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) - } - - 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 @@ -108272,6 +109746,95 @@ func (s *DisassociateInstanceEventWindowOutput) SetInstanceEventWindow(v *Instan return s } +type DisassociateIpamResourceDiscoveryInput struct { + _ struct{} `type:"structure"` + + // A check for 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"` + + // A resource discovery association ID. + // + // IpamResourceDiscoveryAssociationId is a required field + IpamResourceDiscoveryAssociationId *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 DisassociateIpamResourceDiscoveryInput) 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 DisassociateIpamResourceDiscoveryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateIpamResourceDiscoveryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateIpamResourceDiscoveryInput"} + if s.IpamResourceDiscoveryAssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamResourceDiscoveryAssociationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DisassociateIpamResourceDiscoveryInput) SetDryRun(v bool) *DisassociateIpamResourceDiscoveryInput { + s.DryRun = &v + return s +} + +// SetIpamResourceDiscoveryAssociationId sets the IpamResourceDiscoveryAssociationId field's value. +func (s *DisassociateIpamResourceDiscoveryInput) SetIpamResourceDiscoveryAssociationId(v string) *DisassociateIpamResourceDiscoveryInput { + s.IpamResourceDiscoveryAssociationId = &v + return s +} + +type DisassociateIpamResourceDiscoveryOutput struct { + _ struct{} `type:"structure"` + + // A resource discovery association. + IpamResourceDiscoveryAssociation *IpamResourceDiscoveryAssociation `locationName:"ipamResourceDiscoveryAssociation" type:"structure"` +} + +// 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 DisassociateIpamResourceDiscoveryOutput) 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 DisassociateIpamResourceDiscoveryOutput) GoString() string { + return s.String() +} + +// SetIpamResourceDiscoveryAssociation sets the IpamResourceDiscoveryAssociation field's value. +func (s *DisassociateIpamResourceDiscoveryOutput) SetIpamResourceDiscoveryAssociation(v *IpamResourceDiscoveryAssociation) *DisassociateIpamResourceDiscoveryOutput { + s.IpamResourceDiscoveryAssociation = v + return s +} + type DisassociateRouteTableInput struct { _ struct{} `type:"structure"` @@ -115776,7 +117339,7 @@ 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 `min:"1" type:"string"` + CertificateArn *string `type:"string"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -115803,19 +117366,6 @@ 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 && len(*s.CertificateArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 1)) - } - - 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 @@ -117670,6 +119220,295 @@ func (s *GetIpamAddressHistoryOutput) SetNextToken(v string) *GetIpamAddressHist return s } +type GetIpamDiscoveredAccountsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Web Services Region that the account information is returned from. + // + // DiscoveryRegion is a required field + DiscoveryRegion *string `type:"string" required:"true"` + + // A check for 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"` + + // Discovered account filters. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // A resource discovery ID. + // + // IpamResourceDiscoveryId is a required field + IpamResourceDiscoveryId *string `type:"string" required:"true"` + + // The maximum number of discovered accounts to return in one page of results. + MaxResults *int64 `min:"5" type:"integer"` + + // Specify the pagination token from a previous request to retrieve the next + // page of results. + NextToken *string `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 GetIpamDiscoveredAccountsInput) 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 GetIpamDiscoveredAccountsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIpamDiscoveredAccountsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIpamDiscoveredAccountsInput"} + if s.DiscoveryRegion == nil { + invalidParams.Add(request.NewErrParamRequired("DiscoveryRegion")) + } + if s.IpamResourceDiscoveryId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamResourceDiscoveryId")) + } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDiscoveryRegion sets the DiscoveryRegion field's value. +func (s *GetIpamDiscoveredAccountsInput) SetDiscoveryRegion(v string) *GetIpamDiscoveredAccountsInput { + s.DiscoveryRegion = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *GetIpamDiscoveredAccountsInput) SetDryRun(v bool) *GetIpamDiscoveredAccountsInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *GetIpamDiscoveredAccountsInput) SetFilters(v []*Filter) *GetIpamDiscoveredAccountsInput { + s.Filters = v + return s +} + +// SetIpamResourceDiscoveryId sets the IpamResourceDiscoveryId field's value. +func (s *GetIpamDiscoveredAccountsInput) SetIpamResourceDiscoveryId(v string) *GetIpamDiscoveredAccountsInput { + s.IpamResourceDiscoveryId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetIpamDiscoveredAccountsInput) SetMaxResults(v int64) *GetIpamDiscoveredAccountsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIpamDiscoveredAccountsInput) SetNextToken(v string) *GetIpamDiscoveredAccountsInput { + s.NextToken = &v + return s +} + +type GetIpamDiscoveredAccountsOutput struct { + _ struct{} `type:"structure"` + + // Discovered accounts. + IpamDiscoveredAccounts []*IpamDiscoveredAccount `locationName:"ipamDiscoveredAccountSet" locationNameList:"item" type:"list"` + + // Specify the pagination token from a previous request to retrieve the next + // page of results. + NextToken *string `locationName:"nextToken" 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 GetIpamDiscoveredAccountsOutput) 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 GetIpamDiscoveredAccountsOutput) GoString() string { + return s.String() +} + +// SetIpamDiscoveredAccounts sets the IpamDiscoveredAccounts field's value. +func (s *GetIpamDiscoveredAccountsOutput) SetIpamDiscoveredAccounts(v []*IpamDiscoveredAccount) *GetIpamDiscoveredAccountsOutput { + s.IpamDiscoveredAccounts = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIpamDiscoveredAccountsOutput) SetNextToken(v string) *GetIpamDiscoveredAccountsOutput { + s.NextToken = &v + return s +} + +type GetIpamDiscoveredResourceCidrsInput struct { + _ struct{} `type:"structure"` + + // A check for 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"` + + // Filters. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // A resource discovery ID. + // + // IpamResourceDiscoveryId is a required field + IpamResourceDiscoveryId *string `type:"string" required:"true"` + + // The maximum number of discovered resource CIDRs to return in one page of + // results. + MaxResults *int64 `min:"5" type:"integer"` + + // Specify the pagination token from a previous request to retrieve the next + // page of results. + NextToken *string `type:"string"` + + // A resource Region. + // + // ResourceRegion is a required field + ResourceRegion *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 GetIpamDiscoveredResourceCidrsInput) 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 GetIpamDiscoveredResourceCidrsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIpamDiscoveredResourceCidrsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIpamDiscoveredResourceCidrsInput"} + if s.IpamResourceDiscoveryId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamResourceDiscoveryId")) + } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + if s.ResourceRegion == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceRegion")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *GetIpamDiscoveredResourceCidrsInput) SetDryRun(v bool) *GetIpamDiscoveredResourceCidrsInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *GetIpamDiscoveredResourceCidrsInput) SetFilters(v []*Filter) *GetIpamDiscoveredResourceCidrsInput { + s.Filters = v + return s +} + +// SetIpamResourceDiscoveryId sets the IpamResourceDiscoveryId field's value. +func (s *GetIpamDiscoveredResourceCidrsInput) SetIpamResourceDiscoveryId(v string) *GetIpamDiscoveredResourceCidrsInput { + s.IpamResourceDiscoveryId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetIpamDiscoveredResourceCidrsInput) SetMaxResults(v int64) *GetIpamDiscoveredResourceCidrsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIpamDiscoveredResourceCidrsInput) SetNextToken(v string) *GetIpamDiscoveredResourceCidrsInput { + s.NextToken = &v + return s +} + +// SetResourceRegion sets the ResourceRegion field's value. +func (s *GetIpamDiscoveredResourceCidrsInput) SetResourceRegion(v string) *GetIpamDiscoveredResourceCidrsInput { + s.ResourceRegion = &v + return s +} + +type GetIpamDiscoveredResourceCidrsOutput struct { + _ struct{} `type:"structure"` + + // Discovered resource CIDRs. + IpamDiscoveredResourceCidrs []*IpamDiscoveredResourceCidr `locationName:"ipamDiscoveredResourceCidrSet" locationNameList:"item" type:"list"` + + // Specify the pagination token from a previous request to retrieve the next + // page of results. + NextToken *string `locationName:"nextToken" 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 GetIpamDiscoveredResourceCidrsOutput) 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 GetIpamDiscoveredResourceCidrsOutput) GoString() string { + return s.String() +} + +// SetIpamDiscoveredResourceCidrs sets the IpamDiscoveredResourceCidrs field's value. +func (s *GetIpamDiscoveredResourceCidrsOutput) SetIpamDiscoveredResourceCidrs(v []*IpamDiscoveredResourceCidr) *GetIpamDiscoveredResourceCidrsOutput { + s.IpamDiscoveredResourceCidrs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIpamDiscoveredResourceCidrsOutput) SetNextToken(v string) *GetIpamDiscoveredResourceCidrsOutput { + s.NextToken = &v + return s +} + type GetIpamPoolAllocationsInput struct { _ struct{} `type:"structure"` @@ -127709,7 +129548,9 @@ type InstanceSpecification struct { ExcludeDataVolumeIds []*string `locationName:"ExcludeDataVolumeId" locationNameList:"VolumeId" type:"list"` // The instance to specify which volumes should be snapshotted. - InstanceId *string `type:"string"` + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` } // String returns the string representation. @@ -127730,6 +129571,19 @@ func (s InstanceSpecification) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceSpecification"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetExcludeBootVolume sets the ExcludeBootVolume field's value. func (s *InstanceSpecification) SetExcludeBootVolume(v bool) *InstanceSpecification { s.ExcludeBootVolume = &v @@ -128911,10 +130765,16 @@ func (s *IpRange) SetDescription(v string) *IpRange { type Ipam struct { _ struct{} `type:"structure"` + // The IPAM's default resource discovery association ID. + DefaultResourceDiscoveryAssociationId *string `locationName:"defaultResourceDiscoveryAssociationId" type:"string"` + + // The IPAM's default resource discovery ID. + DefaultResourceDiscoveryId *string `locationName:"defaultResourceDiscoveryId" type:"string"` + // The description for the IPAM. Description *string `locationName:"description" type:"string"` - // The ARN of the IPAM. + // The Amazon Resource Name (ARN) of the IPAM. IpamArn *string `locationName:"ipamArn" min:"1" type:"string"` // The ID of the IPAM. @@ -128941,6 +130801,9 @@ type Ipam struct { // The ID of the IPAM's default public scope. PublicDefaultScopeId *string `locationName:"publicDefaultScopeId" type:"string"` + // The IPAM's resource discovery association count. + ResourceDiscoveryAssociationCount *int64 `locationName:"resourceDiscoveryAssociationCount" type:"integer"` + // The number of scopes in the IPAM. The scope quota is 5. For more information // on quotas, see Quotas in IPAM (https://docs.aws.amazon.com/vpc/latest/ipam/quotas-ipam.html) // in the Amazon VPC IPAM User Guide. @@ -128974,6 +130837,18 @@ func (s Ipam) GoString() string { return s.String() } +// SetDefaultResourceDiscoveryAssociationId sets the DefaultResourceDiscoveryAssociationId field's value. +func (s *Ipam) SetDefaultResourceDiscoveryAssociationId(v string) *Ipam { + s.DefaultResourceDiscoveryAssociationId = &v + return s +} + +// SetDefaultResourceDiscoveryId sets the DefaultResourceDiscoveryId field's value. +func (s *Ipam) SetDefaultResourceDiscoveryId(v string) *Ipam { + s.DefaultResourceDiscoveryId = &v + return s +} + // SetDescription sets the Description field's value. func (s *Ipam) SetDescription(v string) *Ipam { s.Description = &v @@ -129022,6 +130897,12 @@ func (s *Ipam) SetPublicDefaultScopeId(v string) *Ipam { return s } +// SetResourceDiscoveryAssociationCount sets the ResourceDiscoveryAssociationCount field's value. +func (s *Ipam) SetResourceDiscoveryAssociationCount(v int64) *Ipam { + s.ResourceDiscoveryAssociationCount = &v + return s +} + // SetScopeCount sets the ScopeCount field's value. func (s *Ipam) SetScopeCount(v int64) *Ipam { s.ScopeCount = &v @@ -129215,6 +131096,265 @@ func (s *IpamCidrAuthorizationContext) SetSignature(v string) *IpamCidrAuthoriza return s } +// An IPAM discovered account. A discovered account is an Amazon Web Services +// account that is monitored under a resource discovery. If you have integrated +// IPAM with Amazon Web Services Organizations, all accounts in the organization +// are discovered accounts. +type IpamDiscoveredAccount struct { + _ struct{} `type:"structure"` + + // The account ID. + AccountId *string `locationName:"accountId" type:"string"` + + // The Amazon Web Services Region that the account information is returned from. + // An account can be discovered in multiple regions and will have a separate + // discovered account for each Region. + DiscoveryRegion *string `locationName:"discoveryRegion" type:"string"` + + // The resource discovery failure reason. + FailureReason *IpamDiscoveryFailureReason `locationName:"failureReason" type:"structure"` + + // The last attempted resource discovery time. + LastAttemptedDiscoveryTime *time.Time `locationName:"lastAttemptedDiscoveryTime" type:"timestamp"` + + // The last successful resource discovery time. + LastSuccessfulDiscoveryTime *time.Time `locationName:"lastSuccessfulDiscoveryTime" type:"timestamp"` +} + +// 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 IpamDiscoveredAccount) 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 IpamDiscoveredAccount) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *IpamDiscoveredAccount) SetAccountId(v string) *IpamDiscoveredAccount { + s.AccountId = &v + return s +} + +// SetDiscoveryRegion sets the DiscoveryRegion field's value. +func (s *IpamDiscoveredAccount) SetDiscoveryRegion(v string) *IpamDiscoveredAccount { + s.DiscoveryRegion = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *IpamDiscoveredAccount) SetFailureReason(v *IpamDiscoveryFailureReason) *IpamDiscoveredAccount { + s.FailureReason = v + return s +} + +// SetLastAttemptedDiscoveryTime sets the LastAttemptedDiscoveryTime field's value. +func (s *IpamDiscoveredAccount) SetLastAttemptedDiscoveryTime(v time.Time) *IpamDiscoveredAccount { + s.LastAttemptedDiscoveryTime = &v + return s +} + +// SetLastSuccessfulDiscoveryTime sets the LastSuccessfulDiscoveryTime field's value. +func (s *IpamDiscoveredAccount) SetLastSuccessfulDiscoveryTime(v time.Time) *IpamDiscoveredAccount { + s.LastSuccessfulDiscoveryTime = &v + return s +} + +// An IPAM discovered resource CIDR. A discovered resource is a resource CIDR +// monitored under a resource discovery. The following resources can be discovered: +// VPCs, Public IPv4 pools, VPC subnets, and Elastic IP addresses. The discovered +// resource CIDR is the IP address range in CIDR notation that is associated +// with the resource. +type IpamDiscoveredResourceCidr struct { + _ struct{} `type:"structure"` + + // The percentage of IP address space in use. To convert the decimal to a percentage, + // multiply the decimal by 100. Note the following: + // + // * For resources that are VPCs, this is the percentage of IP address space + // in the VPC that's taken up by subnet CIDRs. + // + // * For resources that are subnets, if the subnet has an IPv4 CIDR provisioned + // to it, this is the percentage of IPv4 address space in the subnet that's + // in use. If the subnet has an IPv6 CIDR provisioned to it, the percentage + // of IPv6 address space in use is not represented. The percentage of IPv6 + // address space in use cannot currently be calculated. + // + // * For resources that are public IPv4 pools, this is the percentage of + // IP address space in the pool that's been allocated to Elastic IP addresses + // (EIPs). + IpUsage *float64 `locationName:"ipUsage" type:"double"` + + // The resource discovery ID. + IpamResourceDiscoveryId *string `locationName:"ipamResourceDiscoveryId" type:"string"` + + // The resource CIDR. + ResourceCidr *string `locationName:"resourceCidr" type:"string"` + + // The resource ID. + ResourceId *string `locationName:"resourceId" type:"string"` + + // The resource owner ID. + ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"` + + // The resource Region. + ResourceRegion *string `locationName:"resourceRegion" type:"string"` + + // The resource tags. + ResourceTags []*IpamResourceTag `locationName:"resourceTagSet" locationNameList:"item" type:"list"` + + // The resource type. + ResourceType *string `locationName:"resourceType" type:"string" enum:"IpamResourceType"` + + // The last successful resource discovery time. + SampleTime *time.Time `locationName:"sampleTime" type:"timestamp"` + + // The VPC ID. + VpcId *string `locationName:"vpcId" 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 IpamDiscoveredResourceCidr) 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 IpamDiscoveredResourceCidr) GoString() string { + return s.String() +} + +// SetIpUsage sets the IpUsage field's value. +func (s *IpamDiscoveredResourceCidr) SetIpUsage(v float64) *IpamDiscoveredResourceCidr { + s.IpUsage = &v + return s +} + +// SetIpamResourceDiscoveryId sets the IpamResourceDiscoveryId field's value. +func (s *IpamDiscoveredResourceCidr) SetIpamResourceDiscoveryId(v string) *IpamDiscoveredResourceCidr { + s.IpamResourceDiscoveryId = &v + return s +} + +// SetResourceCidr sets the ResourceCidr field's value. +func (s *IpamDiscoveredResourceCidr) SetResourceCidr(v string) *IpamDiscoveredResourceCidr { + s.ResourceCidr = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *IpamDiscoveredResourceCidr) SetResourceId(v string) *IpamDiscoveredResourceCidr { + s.ResourceId = &v + return s +} + +// SetResourceOwnerId sets the ResourceOwnerId field's value. +func (s *IpamDiscoveredResourceCidr) SetResourceOwnerId(v string) *IpamDiscoveredResourceCidr { + s.ResourceOwnerId = &v + return s +} + +// SetResourceRegion sets the ResourceRegion field's value. +func (s *IpamDiscoveredResourceCidr) SetResourceRegion(v string) *IpamDiscoveredResourceCidr { + s.ResourceRegion = &v + return s +} + +// SetResourceTags sets the ResourceTags field's value. +func (s *IpamDiscoveredResourceCidr) SetResourceTags(v []*IpamResourceTag) *IpamDiscoveredResourceCidr { + s.ResourceTags = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *IpamDiscoveredResourceCidr) SetResourceType(v string) *IpamDiscoveredResourceCidr { + s.ResourceType = &v + return s +} + +// SetSampleTime sets the SampleTime field's value. +func (s *IpamDiscoveredResourceCidr) SetSampleTime(v time.Time) *IpamDiscoveredResourceCidr { + s.SampleTime = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *IpamDiscoveredResourceCidr) SetVpcId(v string) *IpamDiscoveredResourceCidr { + s.VpcId = &v + return s +} + +// The discovery failure reason. +type IpamDiscoveryFailureReason struct { + _ struct{} `type:"structure"` + + // The discovery failure code. + // + // * assume-role-failure - IPAM could not assume the Amazon Web Services + // IAM service-linked role. This could be because of any of the following: + // SLR has not been created yet and IPAM is still creating it. You have opted-out + // of the IPAM home Region. Account you are using as your IPAM account has + // been suspended. + // + // * throttling-failure - IPAM account is already using the allotted transactions + // per second and IPAM is receiving a throttling error when assuming the + // Amazon Web Services IAM SLR. + // + // * unauthorized-failure - Amazon Web Services account making the request + // is not authorized. For more information, see AuthFailure (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html) + // in the Amazon Elastic Compute Cloud API Reference. + Code *string `locationName:"code" type:"string" enum:"IpamDiscoveryFailureCode"` + + // The discovery failure message. + Message *string `locationName:"message" 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 IpamDiscoveryFailureReason) 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 IpamDiscoveryFailureReason) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *IpamDiscoveryFailureReason) SetCode(v string) *IpamDiscoveryFailureReason { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *IpamDiscoveryFailureReason) SetMessage(v string) *IpamDiscoveryFailureReason { + s.Message = &v + return s +} + // The operating Regions for an IPAM. Operating Regions are Amazon Web Services // Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers // and monitors resources in the Amazon Web Services Regions you select as operating @@ -129311,7 +131451,7 @@ type IpamPool struct { // The ARN of the IPAM. IpamArn *string `locationName:"ipamArn" min:"1" type:"string"` - // The ARN of the IPAM pool. + // The Amazon Resource Name (ARN) of the IPAM pool. IpamPoolArn *string `locationName:"ipamPoolArn" min:"1" type:"string"` // The ID of the IPAM pool. @@ -129349,6 +131489,15 @@ type IpamPool struct { // in the Amazon VPC IPAM User Guide. PoolDepth *int64 `locationName:"poolDepth" type:"integer"` + // The IP address source for pools in the public scope. Only used for provisioning + // IP address CIDRs to pools in the public scope. Default is BYOIP. For more + // information, see Create IPv6 pools (https://docs.aws.amazon.com/vpc/latest/ipam/intro-create-ipv6-pools.html) + // in the Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided + // IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the + // default limit, see Quotas for your IPAM (https://docs.aws.amazon.com/vpc/latest/ipam/quotas-ipam.html) + // in the Amazon VPC IPAM User Guide. + PublicIpSource *string `locationName:"publicIpSource" type:"string" enum:"IpamPoolPublicIpSource"` + // Determines if a pool is publicly advertisable. This option is not available // for pools with AddressFamily set to ipv4. PubliclyAdvertisable *bool `locationName:"publiclyAdvertisable" type:"boolean"` @@ -129490,6 +131639,12 @@ func (s *IpamPool) SetPoolDepth(v int64) *IpamPool { return s } +// SetPublicIpSource sets the PublicIpSource field's value. +func (s *IpamPool) SetPublicIpSource(v string) *IpamPool { + s.PublicIpSource = &v + return s +} + // SetPubliclyAdvertisable sets the PubliclyAdvertisable field's value. func (s *IpamPool) SetPubliclyAdvertisable(v bool) *IpamPool { s.PubliclyAdvertisable = &v @@ -129521,7 +131676,7 @@ func (s *IpamPool) SetTags(v []*Tag) *IpamPool { } // In IPAM, an allocation is a CIDR assignment from an IPAM pool to another -// resource or IPAM pool. +// IPAM pool or to a resource. type IpamPoolAllocation struct { _ struct{} `type:"structure"` @@ -129623,6 +131778,15 @@ type IpamPoolCidr struct { // Details related to why an IPAM pool CIDR failed to be provisioned. FailureReason *IpamPoolCidrFailureReason `locationName:"failureReason" type:"structure"` + // The IPAM pool CIDR ID. + IpamPoolCidrId *string `locationName:"ipamPoolCidrId" type:"string"` + + // The netmask length of the CIDR you'd like to provision to a pool. Can be + // used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for + // provisioning CIDRs to pools with source pools. Cannot be used to provision + // BYOIP CIDRs to top-level pools. "NetmaskLength" or "Cidr" is required. + NetmaskLength *int64 `locationName:"netmaskLength" type:"integer"` + // The state of the CIDR. State *string `locationName:"state" type:"string" enum:"IpamPoolCidrState"` } @@ -129657,6 +131821,18 @@ func (s *IpamPoolCidr) SetFailureReason(v *IpamPoolCidrFailureReason) *IpamPoolC return s } +// SetIpamPoolCidrId sets the IpamPoolCidrId field's value. +func (s *IpamPoolCidr) SetIpamPoolCidrId(v string) *IpamPoolCidr { + s.IpamPoolCidrId = &v + return s +} + +// SetNetmaskLength sets the NetmaskLength field's value. +func (s *IpamPoolCidr) SetNetmaskLength(v int64) *IpamPoolCidr { + s.NetmaskLength = &v + return s +} + // SetState sets the State field's value. func (s *IpamPoolCidr) SetState(v string) *IpamPoolCidr { s.State = &v @@ -129716,8 +131892,8 @@ type IpamResourceCidr struct { // The percentage of IP address space in use. To convert the decimal to a percentage, // multiply the decimal by 100. Note the following: // - // * For a resources that are VPCs, this is the percentage of IP address - // space in the VPC that's taken up by subnet CIDRs. + // * For resources that are VPCs, this is the percentage of IP address space + // in the VPC that's taken up by subnet CIDRs. // // * For resources that are subnets, if the subnet has an IPv4 CIDR provisioned // to it, this is the percentage of IPv4 address space in the subnet that's @@ -129883,6 +132059,301 @@ 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. +type IpamResourceDiscovery struct { + _ struct{} `type:"structure"` + + // The resource discovery description. + Description *string `locationName:"description" type:"string"` + + // The resource discovery Amazon Resource Name (ARN). + IpamResourceDiscoveryArn *string `locationName:"ipamResourceDiscoveryArn" type:"string"` + + // The resource discovery ID. + IpamResourceDiscoveryId *string `locationName:"ipamResourceDiscoveryId" type:"string"` + + // The resource discovery Region. + IpamResourceDiscoveryRegion *string `locationName:"ipamResourceDiscoveryRegion" type:"string"` + + // Defines if the resource discovery is the default. The default resource discovery + // is the resource discovery automatically created when you create an IPAM. + IsDefault *bool `locationName:"isDefault" type:"boolean"` + + // The operating Regions for the resource discovery. Operating Regions are Amazon + // Web Services Regions where the IPAM is allowed to manage IP address CIDRs. + // IPAM only discovers and monitors resources in the Amazon Web Services Regions + // you select as operating Regions. + OperatingRegions []*IpamOperatingRegion `locationName:"operatingRegionSet" locationNameList:"item" type:"list"` + + // The ID of the owner. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The lifecycle state of the resource discovery. + // + // * create-in-progress - Resource discovery is being created. + // + // * create-complete - Resource discovery creation is complete. + // + // * create-failed - Resource discovery creation has failed. + // + // * modify-in-progress - Resource discovery is being modified. + // + // * modify-complete - Resource discovery modification is complete. + // + // * modify-failed - Resource discovery modification has failed. + // + // * delete-in-progress - Resource discovery is being deleted. + // + // * delete-complete - Resource discovery deletion is complete. + // + // * delete-failed - Resource discovery deletion has failed. + // + // * isolate-in-progress - Amazon Web Services account that created the resource + // discovery has been removed and the resource discovery is being isolated. + // + // * isolate-complete - Resource discovery isolation is complete. + // + // * restore-in-progress - Amazon Web Services account that created the resource + // discovery and was isolated has been restored. + State *string `locationName:"state" type:"string" enum:"IpamResourceDiscoveryState"` + + // A tag is a label that you assign to an Amazon Web Services resource. Each + // tag consists of a key and an optional value. You can use tags to search and + // filter your resources or track your Amazon Web Services costs. + Tags []*Tag `locationName:"tagSet" 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 IpamResourceDiscovery) 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 IpamResourceDiscovery) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *IpamResourceDiscovery) SetDescription(v string) *IpamResourceDiscovery { + s.Description = &v + return s +} + +// SetIpamResourceDiscoveryArn sets the IpamResourceDiscoveryArn field's value. +func (s *IpamResourceDiscovery) SetIpamResourceDiscoveryArn(v string) *IpamResourceDiscovery { + s.IpamResourceDiscoveryArn = &v + return s +} + +// SetIpamResourceDiscoveryId sets the IpamResourceDiscoveryId field's value. +func (s *IpamResourceDiscovery) SetIpamResourceDiscoveryId(v string) *IpamResourceDiscovery { + s.IpamResourceDiscoveryId = &v + return s +} + +// SetIpamResourceDiscoveryRegion sets the IpamResourceDiscoveryRegion field's value. +func (s *IpamResourceDiscovery) SetIpamResourceDiscoveryRegion(v string) *IpamResourceDiscovery { + s.IpamResourceDiscoveryRegion = &v + return s +} + +// SetIsDefault sets the IsDefault field's value. +func (s *IpamResourceDiscovery) SetIsDefault(v bool) *IpamResourceDiscovery { + s.IsDefault = &v + return s +} + +// SetOperatingRegions sets the OperatingRegions field's value. +func (s *IpamResourceDiscovery) SetOperatingRegions(v []*IpamOperatingRegion) *IpamResourceDiscovery { + s.OperatingRegions = v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *IpamResourceDiscovery) SetOwnerId(v string) *IpamResourceDiscovery { + s.OwnerId = &v + return s +} + +// SetState sets the State field's value. +func (s *IpamResourceDiscovery) SetState(v string) *IpamResourceDiscovery { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *IpamResourceDiscovery) SetTags(v []*Tag) *IpamResourceDiscovery { + s.Tags = v + return s +} + +// An IPAM resource discovery association. An associated resource discovery +// is a resource discovery that has been associated with an IPAM. IPAM aggregates +// the resource CIDRs discovered by the associated resource discovery. +type IpamResourceDiscoveryAssociation struct { + _ struct{} `type:"structure"` + + // The IPAM ARN. + IpamArn *string `locationName:"ipamArn" min:"1" type:"string"` + + // The IPAM ID. + IpamId *string `locationName:"ipamId" type:"string"` + + // The IPAM home Region. + IpamRegion *string `locationName:"ipamRegion" type:"string"` + + // The resource discovery association Amazon Resource Name (ARN). + IpamResourceDiscoveryAssociationArn *string `locationName:"ipamResourceDiscoveryAssociationArn" type:"string"` + + // The resource discovery association ID. + IpamResourceDiscoveryAssociationId *string `locationName:"ipamResourceDiscoveryAssociationId" type:"string"` + + // The resource discovery ID. + IpamResourceDiscoveryId *string `locationName:"ipamResourceDiscoveryId" type:"string"` + + // Defines if the resource discovery is the default. When you create an IPAM, + // a default resource discovery is created for your IPAM and it's associated + // with your IPAM. + IsDefault *bool `locationName:"isDefault" type:"boolean"` + + // The Amazon Web Services account ID of the resource discovery owner. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The resource discovery status. + // + // * active - Connection or permissions required to read the results of the + // resource discovery are intact. + // + // * not-found - Connection or permissions required to read the results of + // the resource discovery are broken. This may happen if the owner of the + // resource discovery stopped sharing it or deleted the resource discovery. + // Verify the resource discovery still exists and the Amazon Web Services + // RAM resource share is still intact. + ResourceDiscoveryStatus *string `locationName:"resourceDiscoveryStatus" type:"string" enum:"IpamAssociatedResourceDiscoveryStatus"` + + // The lifecycle state of the association when you associate or disassociate + // a resource discovery. + // + // * associate-in-progress - Resource discovery is being associated. + // + // * associate-complete - Resource discovery association is complete. + // + // * associate-failed - Resource discovery association has failed. + // + // * disassociate-in-progress - Resource discovery is being disassociated. + // + // * disassociate-complete - Resource discovery disassociation is complete. + // + // * disassociate-failed - Resource discovery disassociation has failed. + // + // * isolate-in-progress - Amazon Web Services account that created the resource + // discovery association has been removed and the resource discovery associatation + // is being isolated. + // + // * isolate-complete - Resource discovery isolation is complete.. + // + // * restore-in-progress - Resource discovery is being restored. + State *string `locationName:"state" type:"string" enum:"IpamResourceDiscoveryAssociationState"` + + // A tag is a label that you assign to an Amazon Web Services resource. Each + // tag consists of a key and an optional value. You can use tags to search and + // filter your resources or track your Amazon Web Services costs. + Tags []*Tag `locationName:"tagSet" 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 IpamResourceDiscoveryAssociation) 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 IpamResourceDiscoveryAssociation) GoString() string { + return s.String() +} + +// SetIpamArn sets the IpamArn field's value. +func (s *IpamResourceDiscoveryAssociation) SetIpamArn(v string) *IpamResourceDiscoveryAssociation { + s.IpamArn = &v + return s +} + +// SetIpamId sets the IpamId field's value. +func (s *IpamResourceDiscoveryAssociation) SetIpamId(v string) *IpamResourceDiscoveryAssociation { + s.IpamId = &v + return s +} + +// SetIpamRegion sets the IpamRegion field's value. +func (s *IpamResourceDiscoveryAssociation) SetIpamRegion(v string) *IpamResourceDiscoveryAssociation { + s.IpamRegion = &v + return s +} + +// SetIpamResourceDiscoveryAssociationArn sets the IpamResourceDiscoveryAssociationArn field's value. +func (s *IpamResourceDiscoveryAssociation) SetIpamResourceDiscoveryAssociationArn(v string) *IpamResourceDiscoveryAssociation { + s.IpamResourceDiscoveryAssociationArn = &v + return s +} + +// SetIpamResourceDiscoveryAssociationId sets the IpamResourceDiscoveryAssociationId field's value. +func (s *IpamResourceDiscoveryAssociation) SetIpamResourceDiscoveryAssociationId(v string) *IpamResourceDiscoveryAssociation { + s.IpamResourceDiscoveryAssociationId = &v + return s +} + +// SetIpamResourceDiscoveryId sets the IpamResourceDiscoveryId field's value. +func (s *IpamResourceDiscoveryAssociation) SetIpamResourceDiscoveryId(v string) *IpamResourceDiscoveryAssociation { + s.IpamResourceDiscoveryId = &v + return s +} + +// SetIsDefault sets the IsDefault field's value. +func (s *IpamResourceDiscoveryAssociation) SetIsDefault(v bool) *IpamResourceDiscoveryAssociation { + s.IsDefault = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *IpamResourceDiscoveryAssociation) SetOwnerId(v string) *IpamResourceDiscoveryAssociation { + s.OwnerId = &v + return s +} + +// SetResourceDiscoveryStatus sets the ResourceDiscoveryStatus field's value. +func (s *IpamResourceDiscoveryAssociation) SetResourceDiscoveryStatus(v string) *IpamResourceDiscoveryAssociation { + s.ResourceDiscoveryStatus = &v + return s +} + +// SetState sets the State field's value. +func (s *IpamResourceDiscoveryAssociation) SetState(v string) *IpamResourceDiscoveryAssociation { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *IpamResourceDiscoveryAssociation) SetTags(v []*Tag) *IpamResourceDiscoveryAssociation { + s.Tags = v + return s +} + // The key/value combination of a tag assigned to the resource. Use the tag // key in the filter name and the tag value as the filter value. For example, // to find all resources that have a tag with the key Owner and the value TeamA, @@ -129949,7 +132420,7 @@ type IpamScope struct { // The Amazon Web Services Region of the IPAM scope. IpamRegion *string `locationName:"ipamRegion" type:"string"` - // The ARN of the scope. + // The Amazon Resource Name (ARN) of the scope. IpamScopeArn *string `locationName:"ipamScopeArn" min:"1" type:"string"` // The ID of the scope. @@ -134213,6 +136684,9 @@ type LocalGatewayRoute struct { // The CIDR block used for destination matches. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"` + // The ID of the prefix list. + DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"` + // The Amazon Resource Name (ARN) of the local gateway route table. LocalGatewayRouteTableArn *string `locationName:"localGatewayRouteTableArn" min:"1" type:"string"` @@ -134268,6 +136742,12 @@ func (s *LocalGatewayRoute) SetDestinationCidrBlock(v string) *LocalGatewayRoute return s } +// SetDestinationPrefixListId sets the DestinationPrefixListId field's value. +func (s *LocalGatewayRoute) SetDestinationPrefixListId(v string) *LocalGatewayRoute { + s.DestinationPrefixListId = &v + return s +} + // SetLocalGatewayRouteTableArn sets the LocalGatewayRouteTableArn field's value. func (s *LocalGatewayRoute) SetLocalGatewayRouteTableArn(v string) *LocalGatewayRoute { s.LocalGatewayRouteTableArn = &v @@ -138553,6 +141033,125 @@ func (s *ModifyIpamResourceCidrOutput) SetIpamResourceCidr(v *IpamResourceCidr) return s } +type ModifyIpamResourceDiscoveryInput struct { + _ struct{} `type:"structure"` + + // Add operating Regions to the resource discovery. Operating Regions are Amazon + // Web Services Regions where the IPAM is allowed to manage IP address CIDRs. + // IPAM only discovers and monitors resources in the Amazon Web Services Regions + // you select as operating Regions. + AddOperatingRegions []*AddIpamOperatingRegion `locationName:"AddOperatingRegion" type:"list"` + + // A resource discovery description. + Description *string `type:"string"` + + // A check for 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"` + + // A resource discovery ID. + // + // IpamResourceDiscoveryId is a required field + IpamResourceDiscoveryId *string `type:"string" required:"true"` + + // Remove operating Regions. + RemoveOperatingRegions []*RemoveIpamOperatingRegion `locationName:"RemoveOperatingRegion" 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 ModifyIpamResourceDiscoveryInput) 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 ModifyIpamResourceDiscoveryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyIpamResourceDiscoveryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyIpamResourceDiscoveryInput"} + if s.IpamResourceDiscoveryId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamResourceDiscoveryId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddOperatingRegions sets the AddOperatingRegions field's value. +func (s *ModifyIpamResourceDiscoveryInput) SetAddOperatingRegions(v []*AddIpamOperatingRegion) *ModifyIpamResourceDiscoveryInput { + s.AddOperatingRegions = v + return s +} + +// SetDescription sets the Description field's value. +func (s *ModifyIpamResourceDiscoveryInput) SetDescription(v string) *ModifyIpamResourceDiscoveryInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyIpamResourceDiscoveryInput) SetDryRun(v bool) *ModifyIpamResourceDiscoveryInput { + s.DryRun = &v + return s +} + +// SetIpamResourceDiscoveryId sets the IpamResourceDiscoveryId field's value. +func (s *ModifyIpamResourceDiscoveryInput) SetIpamResourceDiscoveryId(v string) *ModifyIpamResourceDiscoveryInput { + s.IpamResourceDiscoveryId = &v + return s +} + +// SetRemoveOperatingRegions sets the RemoveOperatingRegions field's value. +func (s *ModifyIpamResourceDiscoveryInput) SetRemoveOperatingRegions(v []*RemoveIpamOperatingRegion) *ModifyIpamResourceDiscoveryInput { + s.RemoveOperatingRegions = v + return s +} + +type ModifyIpamResourceDiscoveryOutput struct { + _ struct{} `type:"structure"` + + // A resource discovery. + IpamResourceDiscovery *IpamResourceDiscovery `locationName:"ipamResourceDiscovery" type:"structure"` +} + +// 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 ModifyIpamResourceDiscoveryOutput) 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 ModifyIpamResourceDiscoveryOutput) GoString() string { + return s.String() +} + +// SetIpamResourceDiscovery sets the IpamResourceDiscovery field's value. +func (s *ModifyIpamResourceDiscoveryOutput) SetIpamResourceDiscovery(v *IpamResourceDiscovery) *ModifyIpamResourceDiscoveryOutput { + s.IpamResourceDiscovery = v + return s +} + type ModifyIpamScopeInput struct { _ struct{} `type:"structure"` @@ -138779,9 +141378,12 @@ type ModifyLocalGatewayRouteInput struct { // The CIDR block used for destination matches. The value that you provide must // match the CIDR of an existing route in the table. - // - // DestinationCidrBlock is a required field - DestinationCidrBlock *string `type:"string" required:"true"` + DestinationCidrBlock *string `type:"string"` + + // The ID of the prefix list. Use a prefix list in place of DestinationCidrBlock. + // You cannot use DestinationPrefixListId and DestinationCidrBlock in the same + // request. + DestinationPrefixListId *string `type:"string"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -138822,9 +141424,6 @@ func (s ModifyLocalGatewayRouteInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ModifyLocalGatewayRouteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ModifyLocalGatewayRouteInput"} - if s.DestinationCidrBlock == nil { - invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock")) - } if s.LocalGatewayRouteTableId == nil { invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId")) } @@ -138841,6 +141440,12 @@ func (s *ModifyLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *Modify return s } +// SetDestinationPrefixListId sets the DestinationPrefixListId field's value. +func (s *ModifyLocalGatewayRouteInput) SetDestinationPrefixListId(v string) *ModifyLocalGatewayRouteInput { + s.DestinationPrefixListId = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *ModifyLocalGatewayRouteInput) SetDryRun(v bool) *ModifyLocalGatewayRouteInput { s.DryRun = &v @@ -149317,7 +151922,9 @@ func (s *ProvisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *ProvisionByoipCid type ProvisionIpamPoolCidrInput struct { _ struct{} `type:"structure"` - // The CIDR you want to assign to the IPAM pool. + // The CIDR you want to assign to the IPAM pool. Either "NetmaskLength" or "Cidr" + // is required. This value will be null if you specify "NetmaskLength" and will + // be filled in during the provisioning process. Cidr *string `type:"string"` // A signed document that proves that you are authorized to bring a specified @@ -149325,6 +151932,10 @@ type ProvisionIpamPoolCidrInput struct { // only. CidrAuthorizationContext *IpamCidrAuthorizationContext `type:"structure"` + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + // A check for 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 @@ -149335,6 +151946,12 @@ type ProvisionIpamPoolCidrInput struct { // // IpamPoolId is a required field IpamPoolId *string `type:"string" required:"true"` + + // The netmask length of the CIDR you'd like to provision to a pool. Can be + // used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for + // provisioning CIDRs to pools with source pools. Cannot be used to provision + // BYOIP CIDRs to top-level pools. Either "NetmaskLength" or "Cidr" is required. + NetmaskLength *int64 `type:"integer"` } // String returns the string representation. @@ -149380,6 +151997,12 @@ func (s *ProvisionIpamPoolCidrInput) SetCidrAuthorizationContext(v *IpamCidrAuth return s } +// SetClientToken sets the ClientToken field's value. +func (s *ProvisionIpamPoolCidrInput) SetClientToken(v string) *ProvisionIpamPoolCidrInput { + s.ClientToken = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *ProvisionIpamPoolCidrInput) SetDryRun(v bool) *ProvisionIpamPoolCidrInput { s.DryRun = &v @@ -149392,6 +152015,12 @@ func (s *ProvisionIpamPoolCidrInput) SetIpamPoolId(v string) *ProvisionIpamPoolC return s } +// SetNetmaskLength sets the NetmaskLength field's value. +func (s *ProvisionIpamPoolCidrInput) SetNetmaskLength(v int64) *ProvisionIpamPoolCidrInput { + s.NetmaskLength = &v + return s +} + type ProvisionIpamPoolCidrOutput struct { _ struct{} `type:"structure"` @@ -159833,6 +162462,8 @@ type SearchLocalGatewayRoutesInput struct { // One or more filters. // + // * prefix-list-id - The ID of the prefix list. + // // * route-search.exact-match - The exact match of the specified filter. // // * route-search.longest-prefix-match - The longest prefix that matches @@ -181005,6 +183636,22 @@ func IpamAddressHistoryResourceType_Values() []string { } } +const ( + // IpamAssociatedResourceDiscoveryStatusActive is a IpamAssociatedResourceDiscoveryStatus enum value + IpamAssociatedResourceDiscoveryStatusActive = "active" + + // IpamAssociatedResourceDiscoveryStatusNotFound is a IpamAssociatedResourceDiscoveryStatus enum value + IpamAssociatedResourceDiscoveryStatusNotFound = "not-found" +) + +// IpamAssociatedResourceDiscoveryStatus_Values returns all elements of the IpamAssociatedResourceDiscoveryStatus enum +func IpamAssociatedResourceDiscoveryStatus_Values() []string { + return []string{ + IpamAssociatedResourceDiscoveryStatusActive, + IpamAssociatedResourceDiscoveryStatusNotFound, + } +} + const ( // IpamComplianceStatusCompliant is a IpamComplianceStatus enum value IpamComplianceStatusCompliant = "compliant" @@ -181029,6 +183676,26 @@ func IpamComplianceStatus_Values() []string { } } +const ( + // IpamDiscoveryFailureCodeAssumeRoleFailure is a IpamDiscoveryFailureCode enum value + IpamDiscoveryFailureCodeAssumeRoleFailure = "assume-role-failure" + + // IpamDiscoveryFailureCodeThrottlingFailure is a IpamDiscoveryFailureCode enum value + IpamDiscoveryFailureCodeThrottlingFailure = "throttling-failure" + + // IpamDiscoveryFailureCodeUnauthorizedFailure is a IpamDiscoveryFailureCode enum value + IpamDiscoveryFailureCodeUnauthorizedFailure = "unauthorized-failure" +) + +// IpamDiscoveryFailureCode_Values returns all elements of the IpamDiscoveryFailureCode enum +func IpamDiscoveryFailureCode_Values() []string { + return []string{ + IpamDiscoveryFailureCodeAssumeRoleFailure, + IpamDiscoveryFailureCodeThrottlingFailure, + IpamDiscoveryFailureCodeUnauthorizedFailure, + } +} + const ( // IpamManagementStateManaged is a IpamManagementState enum value IpamManagementStateManaged = "managed" @@ -181108,12 +183775,16 @@ func IpamPoolAwsService_Values() []string { const ( // IpamPoolCidrFailureCodeCidrNotAvailable is a IpamPoolCidrFailureCode enum value IpamPoolCidrFailureCodeCidrNotAvailable = "cidr-not-available" + + // IpamPoolCidrFailureCodeLimitExceeded is a IpamPoolCidrFailureCode enum value + IpamPoolCidrFailureCodeLimitExceeded = "limit-exceeded" ) // IpamPoolCidrFailureCode_Values returns all elements of the IpamPoolCidrFailureCode enum func IpamPoolCidrFailureCode_Values() []string { return []string{ IpamPoolCidrFailureCodeCidrNotAvailable, + IpamPoolCidrFailureCodeLimitExceeded, } } @@ -181157,6 +183828,22 @@ func IpamPoolCidrState_Values() []string { } } +const ( + // IpamPoolPublicIpSourceAmazon is a IpamPoolPublicIpSource enum value + IpamPoolPublicIpSourceAmazon = "amazon" + + // IpamPoolPublicIpSourceByoip is a IpamPoolPublicIpSource enum value + IpamPoolPublicIpSourceByoip = "byoip" +) + +// IpamPoolPublicIpSource_Values returns all elements of the IpamPoolPublicIpSource enum +func IpamPoolPublicIpSource_Values() []string { + return []string{ + IpamPoolPublicIpSourceAmazon, + IpamPoolPublicIpSourceByoip, + } +} + const ( // IpamPoolStateCreateInProgress is a IpamPoolState enum value IpamPoolStateCreateInProgress = "create-in-progress" @@ -181213,6 +183900,106 @@ func IpamPoolState_Values() []string { } } +const ( + // IpamResourceDiscoveryAssociationStateAssociateInProgress is a IpamResourceDiscoveryAssociationState enum value + IpamResourceDiscoveryAssociationStateAssociateInProgress = "associate-in-progress" + + // IpamResourceDiscoveryAssociationStateAssociateComplete is a IpamResourceDiscoveryAssociationState enum value + IpamResourceDiscoveryAssociationStateAssociateComplete = "associate-complete" + + // IpamResourceDiscoveryAssociationStateAssociateFailed is a IpamResourceDiscoveryAssociationState enum value + IpamResourceDiscoveryAssociationStateAssociateFailed = "associate-failed" + + // IpamResourceDiscoveryAssociationStateDisassociateInProgress is a IpamResourceDiscoveryAssociationState enum value + IpamResourceDiscoveryAssociationStateDisassociateInProgress = "disassociate-in-progress" + + // IpamResourceDiscoveryAssociationStateDisassociateComplete is a IpamResourceDiscoveryAssociationState enum value + IpamResourceDiscoveryAssociationStateDisassociateComplete = "disassociate-complete" + + // IpamResourceDiscoveryAssociationStateDisassociateFailed is a IpamResourceDiscoveryAssociationState enum value + IpamResourceDiscoveryAssociationStateDisassociateFailed = "disassociate-failed" + + // IpamResourceDiscoveryAssociationStateIsolateInProgress is a IpamResourceDiscoveryAssociationState enum value + IpamResourceDiscoveryAssociationStateIsolateInProgress = "isolate-in-progress" + + // IpamResourceDiscoveryAssociationStateIsolateComplete is a IpamResourceDiscoveryAssociationState enum value + IpamResourceDiscoveryAssociationStateIsolateComplete = "isolate-complete" + + // IpamResourceDiscoveryAssociationStateRestoreInProgress is a IpamResourceDiscoveryAssociationState enum value + IpamResourceDiscoveryAssociationStateRestoreInProgress = "restore-in-progress" +) + +// IpamResourceDiscoveryAssociationState_Values returns all elements of the IpamResourceDiscoveryAssociationState enum +func IpamResourceDiscoveryAssociationState_Values() []string { + return []string{ + IpamResourceDiscoveryAssociationStateAssociateInProgress, + IpamResourceDiscoveryAssociationStateAssociateComplete, + IpamResourceDiscoveryAssociationStateAssociateFailed, + IpamResourceDiscoveryAssociationStateDisassociateInProgress, + IpamResourceDiscoveryAssociationStateDisassociateComplete, + IpamResourceDiscoveryAssociationStateDisassociateFailed, + IpamResourceDiscoveryAssociationStateIsolateInProgress, + IpamResourceDiscoveryAssociationStateIsolateComplete, + IpamResourceDiscoveryAssociationStateRestoreInProgress, + } +} + +const ( + // IpamResourceDiscoveryStateCreateInProgress is a IpamResourceDiscoveryState enum value + IpamResourceDiscoveryStateCreateInProgress = "create-in-progress" + + // IpamResourceDiscoveryStateCreateComplete is a IpamResourceDiscoveryState enum value + IpamResourceDiscoveryStateCreateComplete = "create-complete" + + // IpamResourceDiscoveryStateCreateFailed is a IpamResourceDiscoveryState enum value + IpamResourceDiscoveryStateCreateFailed = "create-failed" + + // IpamResourceDiscoveryStateModifyInProgress is a IpamResourceDiscoveryState enum value + IpamResourceDiscoveryStateModifyInProgress = "modify-in-progress" + + // IpamResourceDiscoveryStateModifyComplete is a IpamResourceDiscoveryState enum value + IpamResourceDiscoveryStateModifyComplete = "modify-complete" + + // IpamResourceDiscoveryStateModifyFailed is a IpamResourceDiscoveryState enum value + IpamResourceDiscoveryStateModifyFailed = "modify-failed" + + // IpamResourceDiscoveryStateDeleteInProgress is a IpamResourceDiscoveryState enum value + IpamResourceDiscoveryStateDeleteInProgress = "delete-in-progress" + + // IpamResourceDiscoveryStateDeleteComplete is a IpamResourceDiscoveryState enum value + IpamResourceDiscoveryStateDeleteComplete = "delete-complete" + + // IpamResourceDiscoveryStateDeleteFailed is a IpamResourceDiscoveryState enum value + IpamResourceDiscoveryStateDeleteFailed = "delete-failed" + + // IpamResourceDiscoveryStateIsolateInProgress is a IpamResourceDiscoveryState enum value + IpamResourceDiscoveryStateIsolateInProgress = "isolate-in-progress" + + // IpamResourceDiscoveryStateIsolateComplete is a IpamResourceDiscoveryState enum value + IpamResourceDiscoveryStateIsolateComplete = "isolate-complete" + + // IpamResourceDiscoveryStateRestoreInProgress is a IpamResourceDiscoveryState enum value + IpamResourceDiscoveryStateRestoreInProgress = "restore-in-progress" +) + +// IpamResourceDiscoveryState_Values returns all elements of the IpamResourceDiscoveryState enum +func IpamResourceDiscoveryState_Values() []string { + return []string{ + IpamResourceDiscoveryStateCreateInProgress, + IpamResourceDiscoveryStateCreateComplete, + IpamResourceDiscoveryStateCreateFailed, + IpamResourceDiscoveryStateModifyInProgress, + IpamResourceDiscoveryStateModifyComplete, + IpamResourceDiscoveryStateModifyFailed, + IpamResourceDiscoveryStateDeleteInProgress, + IpamResourceDiscoveryStateDeleteComplete, + IpamResourceDiscoveryStateDeleteFailed, + IpamResourceDiscoveryStateIsolateInProgress, + IpamResourceDiscoveryStateIsolateComplete, + IpamResourceDiscoveryStateRestoreInProgress, + } +} + const ( // IpamResourceTypeVpc is a IpamResourceType enum value IpamResourceTypeVpc = "vpc" @@ -182902,6 +185689,12 @@ const ( // ResourceTypeVpcBlockPublicAccessExclusion is a ResourceType enum value ResourceTypeVpcBlockPublicAccessExclusion = "vpc-block-public-access-exclusion" + + // ResourceTypeIpamResourceDiscovery is a ResourceType enum value + ResourceTypeIpamResourceDiscovery = "ipam-resource-discovery" + + // ResourceTypeIpamResourceDiscoveryAssociation is a ResourceType enum value + ResourceTypeIpamResourceDiscoveryAssociation = "ipam-resource-discovery-association" ) // ResourceType_Values returns all elements of the ResourceType enum @@ -182990,6 +185783,8 @@ func ResourceType_Values() []string { ResourceTypeVerifiedAccessTrustProvider, ResourceTypeVpnConnectionDeviceType, ResourceTypeVpcBlockPublicAccessExclusion, + ResourceTypeIpamResourceDiscovery, + ResourceTypeIpamResourceDiscoveryAssociation, } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go index c0706bec9..63729d0a7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go @@ -56,12 +56,11 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // AssumeRole API operation for AWS Security Token Service. // // Returns a set of temporary security credentials that you can use to access -// Amazon Web Services resources that you might not normally have access to. -// These temporary credentials consist of an access key ID, a secret access -// key, and a security token. Typically, you use AssumeRole within your account -// or for cross-account access. For a comparison of AssumeRole with other API -// operations that produce temporary credentials, see Requesting Temporary Security -// Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) +// Amazon Web Services resources. These temporary credentials consist of an +// access key ID, a secret access key, and a security token. Typically, you +// use AssumeRole within your account or for cross-account access. For a comparison +// of AssumeRole with other API operations that produce temporary credentials, +// see Requesting Temporary Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) // and Comparing the Amazon Web Services STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) // in the IAM User Guide. // @@ -1103,13 +1102,15 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re // # Permissions // // You can use the temporary credentials created by GetFederationToken in any -// Amazon Web Services service except the following: +// Amazon Web Services service with the following exceptions: // // - You cannot call any IAM operations using the CLI or the Amazon Web Services -// API. +// API. This limitation does not apply to console sessions. // // - You cannot call any STS operations except GetCallerIdentity. // +// You can use temporary credentials for single sign-on (SSO) to the console. +// // You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // to this operation. You can pass a single JSON policy document to use as an // inline session policy. You can also specify up to 10 managed policy Amazon diff --git a/vendor/modules.txt b/vendor/modules.txt index 0504a40d8..5021f83c2 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.185 +# github.com/aws/aws-sdk-go v1.44.190 ## explicit; go 1.11 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/awserr