From 6bdeffda59197cf2c344b56c733ec575a7081c92 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Wed, 19 Jan 2022 21:02:32 +0530 Subject: [PATCH 01/30] build: pull ceph base image from quay.io pull the ceph image from quay.io instead of dockerhub. From ceph doc, the images are available in both quay and dockerhub https://docs.ceph.com/en/latest/install/ containers/#official-releases but latest images are not updated in dockerhub. Signed-off-by: Madhu Rajanna --- build.env | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.env b/build.env index 28dbdb7a0..13322bb9b 100644 --- a/build.env +++ b/build.env @@ -12,7 +12,7 @@ CSI_IMAGE_VERSION=canary # Ceph version to use -BASE_IMAGE=docker.io/ceph/ceph:v16 +BASE_IMAGE=quay.io/ceph/ceph:v16 CEPH_VERSION=pacific # standard Golang options @@ -45,7 +45,7 @@ CHANGE_MINIKUBE_NONE_USER=true # Rook options ROOK_VERSION=v1.6.2 # Provide ceph image path -ROOK_CEPH_CLUSTER_IMAGE=docker.io/ceph/ceph:v16 +ROOK_CEPH_CLUSTER_IMAGE=quay.io/ceph/ceph:v16 # CSI sidecar version CSI_ATTACHER_VERSION=v3.4.0 From 6f0087e870b244fcc6a02f8747bef53b5f81f444 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Thu, 20 Jan 2022 20:36:07 +0530 Subject: [PATCH 02/30] build: use cephcsi image version from build.env we dont need to specify the image version separately in minikube script, use the image version defined in the build.env Signed-off-by: Madhu Rajanna --- scripts/minikube.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/minikube.sh b/scripts/minikube.sh index 057cbb4c6..9e2d5ca40 100755 --- a/scripts/minikube.sh +++ b/scripts/minikube.sh @@ -168,6 +168,9 @@ CSI_PROVISIONER_VERSION=${CSI_PROVISIONER_VERSION:-"v2.2.2"} CSI_RESIZER_VERSION=${CSI_RESIZER_VERSION:-"v1.2.0"} CSI_NODE_DRIVER_REGISTRAR_VERSION=${CSI_NODE_DRIVER_REGISTRAR_VERSION:-"v2.2.0"} +# configure csi image version +CSI_IMAGE_VERSION=${CSI_IMAGE_VERSION:-"canary"} + #feature-gates for kube K8S_FEATURE_GATES=${K8S_FEATURE_GATES:-""} @@ -284,7 +287,7 @@ teardown-rook) ;; cephcsi) echo "copying the cephcsi image" - copy_image_to_cluster "${CEPHCSI_IMAGE_REPO}"/cephcsi:canary "${CEPHCSI_IMAGE_REPO}"/cephcsi:canary + copy_image_to_cluster "${CEPHCSI_IMAGE_REPO}"/cephcsi:"${CSI_IMAGE_VERSION}" "${CEPHCSI_IMAGE_REPO}"/cephcsi:"${CSI_IMAGE_VERSION}" ;; k8s-sidecar) echo "copying the kubernetes sidecar images" From f56ee59515d5ff1c7d9dcf9cd0ce11efb7a93615 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Jan 2022 09:43:15 +0000 Subject: [PATCH 03/30] rebase: bump github.com/aws/aws-sdk-go from 1.42.7 to 1.42.37 Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.42.7 to 1.42.37. - [Release notes](https://github.com/aws/aws-sdk-go/releases) - [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go/compare/v1.42.7...v1.42.37) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 4 +- go.sum | 8 +- .../stscreds/web_identity_provider.go | 40 +- .../aws/aws-sdk-go/aws/endpoints/defaults.go | 988 +- .../aws/aws-sdk-go/aws/session/credentials.go | 33 +- .../aws/aws-sdk-go/aws/session/session.go | 5 + .../github.com/aws/aws-sdk-go/aws/version.go | 2 +- .../private/protocol/rest/unmarshal.go | 2 +- .../aws/aws-sdk-go/service/ec2/api.go | 16431 ++++++++++++++-- .../aws/aws-sdk-go/service/ec2/doc.go | 21 +- .../aws/aws-sdk-go/service/ec2/service.go | 4 + .../aws/aws-sdk-go/service/ec2/waiters.go | 51 + .../aws/aws-sdk-go/service/kms/service.go | 4 + .../aws/aws-sdk-go/service/sts/api.go | 168 +- .../aws/aws-sdk-go/service/sts/errors.go | 2 +- .../aws/aws-sdk-go/service/sts/service.go | 4 + vendor/golang.org/x/net/http2/server.go | 2 +- vendor/modules.txt | 4 +- 18 files changed, 16492 insertions(+), 1281 deletions(-) diff --git a/go.mod b/go.mod index e9b6f268d..72ccac696 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.17 require ( github.com/IBM/keyprotect-go-client v0.7.0 - github.com/aws/aws-sdk-go v1.42.7 + github.com/aws/aws-sdk-go v1.42.37 github.com/ceph/ceph-csi/api v0.0.0-00010101000000-000000000000 github.com/ceph/go-ceph v0.13.0 github.com/container-storage-interface/spec v1.5.0 @@ -126,7 +126,7 @@ require ( go.opentelemetry.io/otel/trace v0.20.0 // indirect go.opentelemetry.io/proto/otlp v0.7.0 // indirect go.uber.org/atomic v1.9.0 // indirect - golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect + golang.org/x/net v0.0.0-20211216030914-fe4d6282115f // indirect golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect golang.org/x/text v0.3.7 // indirect diff --git a/go.sum b/go.sum index 18969c5f7..a0200de55 100644 --- a/go.sum +++ b/go.sum @@ -138,8 +138,8 @@ github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpi github.com/aws/aws-sdk-go v1.25.41/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.35.24/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k= github.com/aws/aws-sdk-go v1.38.49/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.42.7 h1:Ee7QC4Y/eGebVGO/5IGN3fSXXSrheesZYYj2pYJG7Zk= -github.com/aws/aws-sdk-go v1.42.7/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= +github.com/aws/aws-sdk-go v1.42.37 h1:EIziSq3REaoi1LgUBgxoQr29DQS7GYHnBbZPajtJmXM= +github.com/aws/aws-sdk-go v1.42.37/go.mod h1:OGr6lGMAKGlG9CVrYnWYDKIyb829c6EVBRjxqjmPepc= github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= @@ -1258,11 +1258,11 @@ golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211216030914-fe4d6282115f h1:hEYJvxw1lSnWIl8X9ofsYMklzaDs90JI2az5YMd4fPM= +golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190130055435-99b60b757ec1/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go index cefe2a76d..19ad619aa 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go @@ -28,7 +28,7 @@ const ( // compare test values. var now = time.Now -// TokenFetcher shuold return WebIdentity token bytes or an error +// TokenFetcher should return WebIdentity token bytes or an error type TokenFetcher interface { FetchToken(credentials.Context) ([]byte, error) } @@ -50,6 +50,8 @@ func (f FetchTokenPath) FetchToken(ctx credentials.Context) ([]byte, error) { // an OIDC token. type WebIdentityRoleProvider struct { credentials.Expiry + + // The policy ARNs to use with the web identity assumed role. PolicyArns []*sts.PolicyDescriptorType // Duration the STS credentials will be valid for. Truncated to seconds. @@ -74,6 +76,9 @@ type WebIdentityRoleProvider struct { // NewWebIdentityCredentials will return a new set of credentials with a given // configuration, role arn, and token file path. +// +// Deprecated: Use NewWebIdentityRoleProviderWithOptions for flexible +// functional options, and wrap with credentials.NewCredentials helper. func NewWebIdentityCredentials(c client.ConfigProvider, roleARN, roleSessionName, path string) *credentials.Credentials { svc := sts.New(c) p := NewWebIdentityRoleProvider(svc, roleARN, roleSessionName, path) @@ -82,19 +87,42 @@ func NewWebIdentityCredentials(c client.ConfigProvider, roleARN, roleSessionName // NewWebIdentityRoleProvider will return a new WebIdentityRoleProvider with the // provided stsiface.STSAPI +// +// Deprecated: Use NewWebIdentityRoleProviderWithOptions for flexible +// functional options. func NewWebIdentityRoleProvider(svc stsiface.STSAPI, roleARN, roleSessionName, path string) *WebIdentityRoleProvider { - return NewWebIdentityRoleProviderWithToken(svc, roleARN, roleSessionName, FetchTokenPath(path)) + return NewWebIdentityRoleProviderWithOptions(svc, roleARN, roleSessionName, FetchTokenPath(path)) } // NewWebIdentityRoleProviderWithToken will return a new WebIdentityRoleProvider with the // provided stsiface.STSAPI and a TokenFetcher +// +// Deprecated: Use NewWebIdentityRoleProviderWithOptions for flexible +// functional options. func NewWebIdentityRoleProviderWithToken(svc stsiface.STSAPI, roleARN, roleSessionName string, tokenFetcher TokenFetcher) *WebIdentityRoleProvider { - return &WebIdentityRoleProvider{ + return NewWebIdentityRoleProviderWithOptions(svc, roleARN, roleSessionName, tokenFetcher) +} + +// NewWebIdentityRoleProviderWithOptions will return an initialize +// WebIdentityRoleProvider with the provided stsiface.STSAPI, role ARN, and a +// TokenFetcher. Additional options can be provided as functional options. +// +// TokenFetcher is the implementation that will retrieve the JWT token from to +// assume the role with. Use the provided FetchTokenPath implementation to +// retrieve the JWT token using a file system path. +func NewWebIdentityRoleProviderWithOptions(svc stsiface.STSAPI, roleARN, roleSessionName string, tokenFetcher TokenFetcher, optFns ...func(*WebIdentityRoleProvider)) *WebIdentityRoleProvider { + p := WebIdentityRoleProvider{ client: svc, tokenFetcher: tokenFetcher, roleARN: roleARN, roleSessionName: roleSessionName, } + + for _, fn := range optFns { + fn(&p) + } + + return &p } // Retrieve will attempt to assume a role from a token which is located at @@ -104,9 +132,9 @@ func (p *WebIdentityRoleProvider) Retrieve() (credentials.Value, error) { return p.RetrieveWithContext(aws.BackgroundContext()) } -// RetrieveWithContext will attempt to assume a role from a token which is located at -// 'WebIdentityTokenFilePath' specified destination and if that is empty an -// error will be returned. +// RetrieveWithContext will attempt to assume a role from a token which is +// located at 'WebIdentityTokenFilePath' specified destination and if that is +// empty an error will be returned. func (p *WebIdentityRoleProvider) RetrieveWithContext(ctx credentials.Context) (credentials.Value, error) { b, err := p.tokenFetcher.FetchToken(ctx) if err != nil { 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 a08a84bb2..983cac3bc 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 @@ -25,6 +25,7 @@ const ( ApSouth1RegionID = "ap-south-1" // Asia Pacific (Mumbai). ApSoutheast1RegionID = "ap-southeast-1" // Asia Pacific (Singapore). ApSoutheast2RegionID = "ap-southeast-2" // Asia Pacific (Sydney). + ApSoutheast3RegionID = "ap-southeast-3" // Asia Pacific (Jakarta). CaCentral1RegionID = "ca-central-1" // Canada (Central). EuCentral1RegionID = "eu-central-1" // Europe (Frankfurt). EuNorth1RegionID = "eu-north-1" // Europe (Stockholm). @@ -161,6 +162,9 @@ var awsPartition = partition{ "ap-southeast-2": region{ Description: "Asia Pacific (Sydney)", }, + "ap-southeast-3": region{ + Description: "Asia Pacific (Jakarta)", + }, "ca-central-1": region{ Description: "Canada (Central)", }, @@ -235,6 +239,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -391,6 +398,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -1007,6 +1017,14 @@ var awsPartition = partition{ Region: "ap-southeast-2", }, }, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{ + Hostname: "api.ecr.ap-southeast-3.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-3", + }, + }, endpointKey{ Region: "ca-central-1", }: endpoint{ @@ -1430,6 +1448,50 @@ var awsPartition = partition{ }, }, }, + "api.iotwireless": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{ + Hostname: "api.iotwireless.ap-northeast-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-northeast-1", + }, + }, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{ + Hostname: "api.iotwireless.ap-southeast-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-2", + }, + }, + endpointKey{ + Region: "eu-west-1", + }: endpoint{ + Hostname: "api.iotwireless.eu-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-1", + }, + }, + endpointKey{ + Region: "us-east-1", + }: endpoint{ + Hostname: "api.iotwireless.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + endpointKey{ + Region: "us-west-2", + }: endpoint{ + Hostname: "api.iotwireless.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + }, + }, "api.mediatailor": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -1852,6 +1914,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -1907,6 +1972,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-northeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, endpointKey{ Region: "ap-south-1", }: endpoint{}, @@ -2419,6 +2487,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -2491,6 +2562,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -2888,6 +2962,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -3061,6 +3138,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -3179,36 +3259,12 @@ var awsPartition = partition{ }, "cloudhsm": service{ Endpoints: serviceEndpoints{ - endpointKey{ - Region: "ap-northeast-1", - }: endpoint{}, - endpointKey{ - Region: "ap-southeast-1", - }: endpoint{}, - endpointKey{ - Region: "ap-southeast-2", - }: endpoint{}, - endpointKey{ - Region: "ca-central-1", - }: endpoint{}, - endpointKey{ - Region: "eu-central-1", - }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, endpointKey{ Region: "us-east-1", }: endpoint{}, - endpointKey{ - Region: "us-east-2", - }: endpoint{}, - endpointKey{ - Region: "us-west-1", - }: endpoint{}, - endpointKey{ - Region: "us-west-2", - }: endpoint{}, }, }, "cloudhsmv2": service{ @@ -3790,6 +3846,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -4723,6 +4782,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -5389,6 +5451,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -5541,6 +5606,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -5785,6 +5853,37 @@ var awsPartition = partition{ }, }, }, + "drs": service{ + Endpoints: serviceEndpoints{ + 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{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "ds": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -5958,6 +6057,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -6262,6 +6364,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -6434,6 +6539,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -6699,6 +6807,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -7349,6 +7460,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -7482,6 +7596,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -7820,6 +7937,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -7956,6 +8076,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -8057,6 +8180,55 @@ var awsPartition = partition{ }, }, }, + "evidently": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{ + Hostname: "evidently.ap-northeast-1.amazonaws.com", + }, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{ + Hostname: "evidently.ap-southeast-1.amazonaws.com", + }, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{ + Hostname: "evidently.ap-southeast-2.amazonaws.com", + }, + endpointKey{ + Region: "eu-central-1", + }: endpoint{ + Hostname: "evidently.eu-central-1.amazonaws.com", + }, + endpointKey{ + Region: "eu-north-1", + }: endpoint{ + Hostname: "evidently.eu-north-1.amazonaws.com", + }, + endpointKey{ + Region: "eu-west-1", + }: endpoint{ + Hostname: "evidently.eu-west-1.amazonaws.com", + }, + endpointKey{ + Region: "us-east-1", + }: endpoint{ + Hostname: "evidently.us-east-1.amazonaws.com", + }, + endpointKey{ + Region: "us-east-2", + }: endpoint{ + Hostname: "evidently.us-east-2.amazonaws.com", + }, + endpointKey{ + Region: "us-west-2", + }: endpoint{ + Hostname: "evidently.us-west-2.amazonaws.com", + }, + }, + }, "finspace": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -9134,6 +9306,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -9554,6 +9729,9 @@ var awsPartition = partition{ endpointKey{ Region: "me-south-1", }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, endpointKey{ Region: "us-east-1", }: endpoint{}, @@ -10012,6 +10190,67 @@ var awsPartition = partition{ }, }, }, + "inspector2": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "ap-east-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + }: endpoint{}, + endpointKey{ + Region: "me-south-1", + }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "iot": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ @@ -10776,6 +11015,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -10879,6 +11121,9 @@ var awsPartition = partition{ }, "kinesisanalytics": service{ Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, endpointKey{ Region: "ap-east-1", }: endpoint{}, @@ -10888,6 +11133,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-northeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, endpointKey{ Region: "ap-south-1", }: endpoint{}, @@ -11133,6 +11381,15 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + Variant: fipsVariant, + }: endpoint{ + Hostname: "kms-fips.ap-southeast-3.amazonaws.com", + }, endpointKey{ Region: "ap-southeast-3-fips", }: endpoint{ @@ -11510,48 +11767,147 @@ var awsPartition = partition{ endpointKey{ Region: "af-south-1", }: endpoint{}, + endpointKey{ + Region: "af-south-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.af-south-1.api.aws", + }, endpointKey{ Region: "ap-east-1", }: endpoint{}, + endpointKey{ + Region: "ap-east-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.ap-east-1.api.aws", + }, endpointKey{ Region: "ap-northeast-1", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.ap-northeast-1.api.aws", + }, endpointKey{ Region: "ap-northeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.ap-northeast-2.api.aws", + }, endpointKey{ Region: "ap-northeast-3", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.ap-northeast-3.api.aws", + }, endpointKey{ Region: "ap-south-1", }: endpoint{}, + endpointKey{ + Region: "ap-south-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.ap-south-1.api.aws", + }, endpointKey{ Region: "ap-southeast-1", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.ap-southeast-1.api.aws", + }, endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.ap-southeast-2.api.aws", + }, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.ap-southeast-3.api.aws", + }, endpointKey{ Region: "ca-central-1", }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.ca-central-1.api.aws", + }, endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.eu-central-1.api.aws", + }, endpointKey{ Region: "eu-north-1", }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.eu-north-1.api.aws", + }, endpointKey{ Region: "eu-south-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.eu-south-1.api.aws", + }, endpointKey{ Region: "eu-west-1", }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.eu-west-1.api.aws", + }, endpointKey{ Region: "eu-west-2", }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.eu-west-2.api.aws", + }, endpointKey{ Region: "eu-west-3", }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.eu-west-3.api.aws", + }, endpointKey{ Region: "fips-us-east-1", }: endpoint{ @@ -11591,12 +11947,30 @@ var awsPartition = partition{ endpointKey{ Region: "me-south-1", }: endpoint{}, + endpointKey{ + Region: "me-south-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.me-south-1.api.aws", + }, endpointKey{ Region: "sa-east-1", }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.sa-east-1.api.aws", + }, endpointKey{ Region: "us-east-1", }: endpoint{}, + endpointKey{ + Region: "us-east-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.us-east-1.api.aws", + }, endpointKey{ Region: "us-east-1", Variant: fipsVariant, @@ -11606,6 +11980,12 @@ var awsPartition = partition{ endpointKey{ Region: "us-east-2", }: endpoint{}, + endpointKey{ + Region: "us-east-2", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.us-east-2.api.aws", + }, endpointKey{ Region: "us-east-2", Variant: fipsVariant, @@ -11615,6 +11995,12 @@ var awsPartition = partition{ endpointKey{ Region: "us-west-1", }: endpoint{}, + endpointKey{ + Region: "us-west-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.us-west-1.api.aws", + }, endpointKey{ Region: "us-west-1", Variant: fipsVariant, @@ -11624,6 +12010,12 @@ var awsPartition = partition{ endpointKey{ Region: "us-west-2", }: endpoint{}, + endpointKey{ + Region: "us-west-2", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.us-west-2.api.aws", + }, endpointKey{ Region: "us-west-2", Variant: fipsVariant, @@ -11831,6 +12223,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -11945,6 +12340,37 @@ var awsPartition = partition{ }: endpoint{}, }, }, + "lookoutmetrics": service{ + Endpoints: serviceEndpoints{ + 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-north-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "lookoutvision": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -12575,6 +13001,52 @@ var awsPartition = partition{ }: endpoint{}, }, }, + "meetings-chime": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "meetings-chime-fips.us-east-1.amazonaws.com", + }, + endpointKey{ + Region: "us-east-1-fips", + }: endpoint{ + Hostname: "meetings-chime-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + Variant: fipsVariant, + }: endpoint{ + Hostname: "meetings-chime-fips.us-west-2.amazonaws.com", + }, + endpointKey{ + Region: "us-west-2-fips", + }: endpoint{ + Hostname: "meetings-chime-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + Deprecated: boxedTrue, + }, + }, + }, "messaging-chime": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -12630,6 +13102,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -12698,6 +13173,9 @@ var awsPartition = partition{ }, "mgn": service{ Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, endpointKey{ Region: "ap-east-1", }: endpoint{}, @@ -12728,12 +13206,21 @@ var awsPartition = partition{ endpointKey{ Region: "eu-north-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, endpointKey{ Region: "eu-west-2", }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + }: endpoint{}, + endpointKey{ + Region: "me-south-1", + }: endpoint{}, endpointKey{ Region: "sa-east-1", }: endpoint{}, @@ -12924,6 +13411,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -13900,6 +14390,73 @@ var awsPartition = partition{ }: endpoint{}, }, }, + "pi": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-east-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, + endpointKey{ + Region: "ap-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + }: endpoint{}, + endpointKey{ + Region: "me-south-1", + }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "pinpoint": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ @@ -14558,6 +15115,73 @@ var awsPartition = partition{ }, }, }, + "rbin": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-east-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, + endpointKey{ + Region: "ap-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + }: endpoint{}, + endpointKey{ + Region: "me-south-1", + }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "rds": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -14584,6 +15208,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -14864,6 +15491,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -15259,6 +15889,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -15508,6 +16141,40 @@ var awsPartition = partition{ }: endpoint{}, }, }, + "rum": service{ + Endpoints: serviceEndpoints{ + 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-north-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "runtime-v2-lex": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -15863,6 +16530,15 @@ var awsPartition = partition{ Hostname: "s3.dualstack.ap-southeast-2.amazonaws.com", SignatureVersions: []string{"s3", "s3v4"}, }, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "s3.dualstack.ap-southeast-3.amazonaws.com", + }, endpointKey{ Region: "aws-global", }: endpoint{ @@ -16630,6 +17306,123 @@ var awsPartition = partition{ }, }, }, + "s3-outposts": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-east-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, + endpointKey{ + Region: "ap-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + Variant: fipsVariant, + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + }: endpoint{}, + endpointKey{ + Region: "fips-ca-central-1", + }: endpoint{ + + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-east-1", + }: endpoint{ + + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-east-2", + }: endpoint{ + + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-west-1", + }: endpoint{ + + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-west-2", + }: endpoint{ + + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "me-south-1", + }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + Variant: fipsVariant, + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + Variant: fipsVariant, + }: endpoint{}, + endpointKey{ + Region: "us-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-1", + Variant: fipsVariant, + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + Variant: fipsVariant, + }: endpoint{}, + }, + }, "savingsplans": service{ PartitionEndpoint: "aws-global", IsRegionalized: boxedFalse, @@ -16761,6 +17554,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -18171,6 +18967,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -18304,6 +19103,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -18434,6 +19236,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -18628,6 +19433,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -18755,6 +19563,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -18914,6 +19725,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -18991,6 +19805,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "aws-global", }: endpoint{ @@ -19139,6 +19956,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -19266,6 +20086,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -20754,6 +21577,19 @@ var awsPartition = partition{ }, }, }, + "workspaces-web": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "xray": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -21760,9 +22596,21 @@ var awscnPartition = partition{ endpointKey{ Region: "cn-north-1", }: endpoint{}, + endpointKey{ + Region: "cn-north-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.cn-north-1.api.amazonwebservices.com.cn", + }, endpointKey{ Region: "cn-northwest-1", }: endpoint{}, + endpointKey{ + Region: "cn-northwest-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "lambda.cn-northwest-1.api.amazonwebservices.com.cn", + }, }, }, "license-manager": service{ @@ -21863,6 +22711,16 @@ var awscnPartition = partition{ }: endpoint{}, }, }, + "pi": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "cn-north-1", + }: endpoint{}, + endpointKey{ + Region: "cn-northwest-1", + }: endpoint{}, + }, + }, "polly": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -24552,6 +25410,15 @@ var awsusgovPartition = partition{ }, }, Endpoints: serviceEndpoints{ + endpointKey{ + Region: "fips-us-gov-east-1", + }: endpoint{ + Hostname: "identitystore.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "fips-us-gov-west-1", }: endpoint{ @@ -24561,6 +25428,15 @@ var awsusgovPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-gov-east-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "identitystore.us-gov-east-1.amazonaws.com", + }, endpointKey{ Region: "us-gov-west-1", }: endpoint{}, @@ -25196,6 +26072,14 @@ var awsusgovPartition = partition{ }, "oidc": service{ Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{ + Hostname: "oidc.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, endpointKey{ Region: "us-gov-west-1", }: endpoint{ @@ -25319,6 +26203,14 @@ var awsusgovPartition = partition{ }, "portal.sso": service{ Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{ + Hostname: "portal.sso.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, endpointKey{ Region: "us-gov-west-1", }: endpoint{ @@ -25856,6 +26748,36 @@ var awsusgovPartition = partition{ }, }, }, + "s3-outposts": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "fips-us-gov-east-1", + }: endpoint{ + + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-gov-west-1", + }: endpoint{ + + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-gov-east-1", + Variant: fipsVariant, + }: endpoint{}, + endpointKey{ + Region: "us-gov-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-gov-west-1", + Variant: fipsVariant, + }: endpoint{}, + }, + }, "secretsmanager": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -27105,6 +28027,24 @@ var awsisoPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "us-iso-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-iso-west-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "dms.us-iso-west-1.c2s.ic.gov", + }, + endpointKey{ + Region: "us-iso-west-1-fips", + }: endpoint{ + Hostname: "dms.us-iso-west-1.c2s.ic.gov", + CredentialScope: credentialScope{ + Region: "us-iso-west-1", + }, + Deprecated: boxedTrue, + }, }, }, "ds": service{ diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go b/vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go index 3efdac29f..1d3f4c3ad 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go @@ -14,8 +14,17 @@ import ( "github.com/aws/aws-sdk-go/aws/defaults" "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/internal/shareddefaults" + "github.com/aws/aws-sdk-go/service/sts" ) +// CredentialsProviderOptions specifies additional options for configuring +// credentials providers. +type CredentialsProviderOptions struct { + // WebIdentityRoleProviderOptions configures a WebIdentityRoleProvider, + // such as setting its ExpiryWindow. + WebIdentityRoleProviderOptions func(*stscreds.WebIdentityRoleProvider) +} + func resolveCredentials(cfg *aws.Config, envCfg envConfig, sharedCfg sharedConfig, handlers request.Handlers, @@ -40,6 +49,7 @@ func resolveCredentials(cfg *aws.Config, envCfg.WebIdentityTokenFilePath, envCfg.RoleARN, envCfg.RoleSessionName, + sessOpts.CredentialsProviderOptions, ) default: @@ -59,6 +69,7 @@ var WebIdentityEmptyTokenFilePathErr = awserr.New(stscreds.ErrCodeWebIdentity, " func assumeWebIdentity(cfg *aws.Config, handlers request.Handlers, filepath string, roleARN, sessionName string, + credOptions *CredentialsProviderOptions, ) (*credentials.Credentials, error) { if len(filepath) == 0 { @@ -69,17 +80,18 @@ func assumeWebIdentity(cfg *aws.Config, handlers request.Handlers, return nil, WebIdentityEmptyRoleARNErr } - creds := stscreds.NewWebIdentityCredentials( - &Session{ - Config: cfg, - Handlers: handlers.Copy(), - }, - roleARN, - sessionName, - filepath, - ) + svc := sts.New(&Session{ + Config: cfg, + Handlers: handlers.Copy(), + }) - return creds, nil + var optFns []func(*stscreds.WebIdentityRoleProvider) + if credOptions != nil && credOptions.WebIdentityRoleProviderOptions != nil { + optFns = append(optFns, credOptions.WebIdentityRoleProviderOptions) + } + + p := stscreds.NewWebIdentityRoleProviderWithOptions(svc, roleARN, sessionName, stscreds.FetchTokenPath(filepath), optFns...) + return credentials.NewCredentials(p), nil } func resolveCredsFromProfile(cfg *aws.Config, @@ -114,6 +126,7 @@ func resolveCredsFromProfile(cfg *aws.Config, sharedCfg.WebIdentityTokenFile, sharedCfg.RoleARN, sharedCfg.RoleSessionName, + sessOpts.CredentialsProviderOptions, ) case sharedCfg.hasSSOConfiguration(): diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go index ebace4bb7..4293dbe10 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go @@ -304,6 +304,11 @@ type Options struct { // // AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE=IPv6 EC2IMDSEndpointMode endpoints.EC2IMDSEndpointModeState + + // Specifies options for creating credential providers. + // These are only used if the aws.Config does not already + // include credentials. + CredentialsProviderOptions *CredentialsProviderOptions } // NewSessionWithOptions returns a new Session created from SDK defaults, config files, 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 0c20299e9..839550b7d 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.42.7" +const SDKVersion = "1.42.37" diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go index 92f8b4d9a..c26fbfa5a 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go @@ -140,7 +140,7 @@ func unmarshalLocationElements(resp *http.Response, v reflect.Value, lowerCaseHe prefix := field.Tag.Get("locationName") err := unmarshalHeaderMap(m, resp.Header, prefix, lowerCaseHeaderMaps) if err != nil { - awserr.New(request.ErrCodeSerialization, "failed to decode REST response", err) + return awserr.New(request.ErrCodeSerialization, "failed to decode REST response", err) } } } 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 9cd38b26d..c7601994f 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 @@ -738,6 +738,83 @@ func (c *EC2) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInpu return out, req.Send() } +const opAllocateIpamPoolCidr = "AllocateIpamPoolCidr" + +// AllocateIpamPoolCidrRequest generates a "aws/request.Request" representing the +// client's request for the AllocateIpamPoolCidr 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 AllocateIpamPoolCidr for more information on using the AllocateIpamPoolCidr +// 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 AllocateIpamPoolCidrRequest method. +// req, resp := client.AllocateIpamPoolCidrRequest(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/AllocateIpamPoolCidr +func (c *EC2) AllocateIpamPoolCidrRequest(input *AllocateIpamPoolCidrInput) (req *request.Request, output *AllocateIpamPoolCidrOutput) { + op := &request.Operation{ + Name: opAllocateIpamPoolCidr, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AllocateIpamPoolCidrInput{} + } + + output = &AllocateIpamPoolCidrOutput{} + req = c.newRequest(op, input, output) + return +} + +// 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, +// see Allocate CIDRs (/vpc/latest/ipam/allocate-cidrs-ipam.html) in the Amazon +// VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AllocateIpamPoolCidr for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateIpamPoolCidr +func (c *EC2) AllocateIpamPoolCidr(input *AllocateIpamPoolCidrInput) (*AllocateIpamPoolCidrOutput, error) { + req, out := c.AllocateIpamPoolCidrRequest(input) + return out, req.Send() +} + +// AllocateIpamPoolCidrWithContext is the same as AllocateIpamPoolCidr with the addition of +// the ability to pass a context and additional request options. +// +// See AllocateIpamPoolCidr 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) AllocateIpamPoolCidrWithContext(ctx aws.Context, input *AllocateIpamPoolCidrInput, opts ...request.Option) (*AllocateIpamPoolCidrOutput, error) { + req, out := c.AllocateIpamPoolCidrRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opApplySecurityGroupsToClientVpnTargetNetwork = "ApplySecurityGroupsToClientVpnTargetNetwork" // ApplySecurityGroupsToClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the @@ -2543,7 +2620,7 @@ func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupE // // An outbound rule permits instances to send traffic to the specified IPv4 // or IPv6 CIDR address ranges, or to the instances that are associated with -// the specified destination security groups. +// the specified source security groups. // // You specify a protocol for each rule (for example, TCP). For the TCP and // UDP protocols, you must also specify the destination port or port range. @@ -5253,6 +5330,249 @@ func (c *EC2) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInt return out, req.Send() } +const opCreateIpam = "CreateIpam" + +// CreateIpamRequest generates a "aws/request.Request" representing the +// client's request for the CreateIpam 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 CreateIpam for more information on using the CreateIpam +// 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 CreateIpamRequest method. +// req, resp := client.CreateIpamRequest(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/CreateIpam +func (c *EC2) CreateIpamRequest(input *CreateIpamInput) (req *request.Request, output *CreateIpamOutput) { + op := &request.Operation{ + Name: opCreateIpam, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateIpamInput{} + } + + output = &CreateIpamOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateIpam API operation for Amazon Elastic Compute Cloud. +// +// Create an IPAM. Amazon VCP IP Address Manager (IPAM) is a VPC feature that +// you can use to automate your IP address management workflows including assigning, +// tracking, troubleshooting, and auditing IP addresses across Amazon Web Services +// Regions and accounts throughout your Amazon Web Services Organization. +// +// For more information, see Create an IPAM (/vpc/latest/ipam/create-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateIpam for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateIpam +func (c *EC2) CreateIpam(input *CreateIpamInput) (*CreateIpamOutput, error) { + req, out := c.CreateIpamRequest(input) + return out, req.Send() +} + +// CreateIpamWithContext is the same as CreateIpam with the addition of +// the ability to pass a context and additional request options. +// +// See CreateIpam 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) CreateIpamWithContext(ctx aws.Context, input *CreateIpamInput, opts ...request.Option) (*CreateIpamOutput, error) { + req, out := c.CreateIpamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateIpamPool = "CreateIpamPool" + +// CreateIpamPoolRequest generates a "aws/request.Request" representing the +// client's request for the CreateIpamPool 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 CreateIpamPool for more information on using the CreateIpamPool +// 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 CreateIpamPoolRequest method. +// req, resp := client.CreateIpamPoolRequest(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/CreateIpamPool +func (c *EC2) CreateIpamPoolRequest(input *CreateIpamPoolInput) (req *request.Request, output *CreateIpamPoolOutput) { + op := &request.Operation{ + Name: opCreateIpamPool, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateIpamPoolInput{} + } + + output = &CreateIpamPoolOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateIpamPool API operation for Amazon Elastic Compute Cloud. +// +// Create an IP address pool for Amazon VPC IP Address Manager (IPAM). In IPAM, +// a pool is a collection of contiguous IP addresses CIDRs. Pools enable you +// to organize your IP addresses according to your routing and security needs. +// For example, if you have separate routing and security needs for development +// and production applications, you can create a pool for each. +// +// For more information, see Create a top-level pool (/vpc/latest/ipam/create-top-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateIpamPool for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateIpamPool +func (c *EC2) CreateIpamPool(input *CreateIpamPoolInput) (*CreateIpamPoolOutput, error) { + req, out := c.CreateIpamPoolRequest(input) + return out, req.Send() +} + +// CreateIpamPoolWithContext is the same as CreateIpamPool with the addition of +// the ability to pass a context and additional request options. +// +// See CreateIpamPool 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) CreateIpamPoolWithContext(ctx aws.Context, input *CreateIpamPoolInput, opts ...request.Option) (*CreateIpamPoolOutput, error) { + req, out := c.CreateIpamPoolRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateIpamScope = "CreateIpamScope" + +// CreateIpamScopeRequest generates a "aws/request.Request" representing the +// client's request for the CreateIpamScope 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 CreateIpamScope for more information on using the CreateIpamScope +// 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 CreateIpamScopeRequest method. +// req, resp := client.CreateIpamScopeRequest(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/CreateIpamScope +func (c *EC2) CreateIpamScopeRequest(input *CreateIpamScopeInput) (req *request.Request, output *CreateIpamScopeOutput) { + op := &request.Operation{ + Name: opCreateIpamScope, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateIpamScopeInput{} + } + + output = &CreateIpamScopeOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateIpamScope API operation for Amazon Elastic Compute Cloud. +// +// Create an IPAM scope. In IPAM, a scope is the highest-level container within +// IPAM. An IPAM contains two default scopes. Each scope represents the IP space +// for a single network. The private scope is intended for all private IP address +// space. The public scope is intended for all public IP address space. Scopes +// enable you to reuse IP addresses across multiple unconnected networks without +// causing IP address overlap or conflict. +// +// For more information, see Add a scope (/vpc/latest/ipam/add-scope-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateIpamScope for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateIpamScope +func (c *EC2) CreateIpamScope(input *CreateIpamScopeInput) (*CreateIpamScopeOutput, error) { + req, out := c.CreateIpamScopeRequest(input) + return out, req.Send() +} + +// CreateIpamScopeWithContext is the same as CreateIpamScope with the addition of +// the ability to pass a context and additional request options. +// +// See CreateIpamScope 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) CreateIpamScopeWithContext(ctx aws.Context, input *CreateIpamScopeInput, opts ...request.Option) (*CreateIpamScopeOutput, error) { + req, out := c.CreateIpamScopeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateKeyPair = "CreateKeyPair" // CreateKeyPairRequest generates a "aws/request.Request" representing the @@ -5981,6 +6301,85 @@ func (c *EC2) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNet return out, req.Send() } +const opCreateNetworkInsightsAccessScope = "CreateNetworkInsightsAccessScope" + +// CreateNetworkInsightsAccessScopeRequest generates a "aws/request.Request" representing the +// client's request for the CreateNetworkInsightsAccessScope 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 CreateNetworkInsightsAccessScope for more information on using the CreateNetworkInsightsAccessScope +// 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 CreateNetworkInsightsAccessScopeRequest method. +// req, resp := client.CreateNetworkInsightsAccessScopeRequest(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/CreateNetworkInsightsAccessScope +func (c *EC2) CreateNetworkInsightsAccessScopeRequest(input *CreateNetworkInsightsAccessScopeInput) (req *request.Request, output *CreateNetworkInsightsAccessScopeOutput) { + op := &request.Operation{ + Name: opCreateNetworkInsightsAccessScope, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateNetworkInsightsAccessScopeInput{} + } + + output = &CreateNetworkInsightsAccessScopeOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateNetworkInsightsAccessScope API operation for Amazon Elastic Compute Cloud. +// +// Creates a Network Access Scope. +// +// Amazon Web Services Network Access Analyzer enables cloud networking and +// cloud operations teams to verify that their networks on Amazon Web Services +// conform to their network security and governance objectives. For more information, +// see the Amazon Web Services Network Access Analyzer Guide (https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/). +// +// 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 CreateNetworkInsightsAccessScope for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInsightsAccessScope +func (c *EC2) CreateNetworkInsightsAccessScope(input *CreateNetworkInsightsAccessScopeInput) (*CreateNetworkInsightsAccessScopeOutput, error) { + req, out := c.CreateNetworkInsightsAccessScopeRequest(input) + return out, req.Send() +} + +// CreateNetworkInsightsAccessScopeWithContext is the same as CreateNetworkInsightsAccessScope with the addition of +// the ability to pass a context and additional request options. +// +// See CreateNetworkInsightsAccessScope 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) CreateNetworkInsightsAccessScopeWithContext(ctx aws.Context, input *CreateNetworkInsightsAccessScopeInput, opts ...request.Option) (*CreateNetworkInsightsAccessScopeOutput, error) { + req, out := c.CreateNetworkInsightsAccessScopeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateNetworkInsightsPath = "CreateNetworkInsightsPath" // CreateNetworkInsightsPathRequest generates a "aws/request.Request" representing the @@ -6300,6 +6699,84 @@ func (c *EC2) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlac return out, req.Send() } +const opCreatePublicIpv4Pool = "CreatePublicIpv4Pool" + +// CreatePublicIpv4PoolRequest generates a "aws/request.Request" representing the +// client's request for the CreatePublicIpv4Pool 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 CreatePublicIpv4Pool for more information on using the CreatePublicIpv4Pool +// 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 CreatePublicIpv4PoolRequest method. +// req, resp := client.CreatePublicIpv4PoolRequest(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/CreatePublicIpv4Pool +func (c *EC2) CreatePublicIpv4PoolRequest(input *CreatePublicIpv4PoolInput) (req *request.Request, output *CreatePublicIpv4PoolOutput) { + op := &request.Operation{ + Name: opCreatePublicIpv4Pool, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreatePublicIpv4PoolInput{} + } + + output = &CreatePublicIpv4PoolOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePublicIpv4Pool API operation for Amazon Elastic Compute Cloud. +// +// Creates a public IPv4 address pool. A public IPv4 pool is an EC2 IP address +// pool required for the public IPv4 CIDRs that you own and bring to Amazon +// Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web +// Services, however, use IPAM pools only. To monitor the status of pool creation, +// use DescribePublicIpv4Pools (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribePublicIpv4Pools.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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreatePublicIpv4Pool for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePublicIpv4Pool +func (c *EC2) CreatePublicIpv4Pool(input *CreatePublicIpv4PoolInput) (*CreatePublicIpv4PoolOutput, error) { + req, out := c.CreatePublicIpv4PoolRequest(input) + return out, req.Send() +} + +// CreatePublicIpv4PoolWithContext is the same as CreatePublicIpv4Pool with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePublicIpv4Pool 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) CreatePublicIpv4PoolWithContext(ctx aws.Context, input *CreatePublicIpv4PoolInput, opts ...request.Option) (*CreatePublicIpv4PoolOutput, error) { + req, out := c.CreatePublicIpv4PoolRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateReplaceRootVolumeTask = "CreateReplaceRootVolumeTask" // CreateReplaceRootVolumeTaskRequest generates a "aws/request.Request" representing the @@ -10132,6 +10609,247 @@ func (c *EC2) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInt return out, req.Send() } +const opDeleteIpam = "DeleteIpam" + +// DeleteIpamRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIpam 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 DeleteIpam for more information on using the DeleteIpam +// 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 DeleteIpamRequest method. +// req, resp := client.DeleteIpamRequest(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/DeleteIpam +func (c *EC2) DeleteIpamRequest(input *DeleteIpamInput) (req *request.Request, output *DeleteIpamOutput) { + op := &request.Operation{ + Name: opDeleteIpam, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteIpamInput{} + } + + output = &DeleteIpamOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteIpam API operation for Amazon Elastic Compute Cloud. +// +// Delete an IPAM. Deleting an IPAM removes all monitored data associated with +// the IPAM including the historical data for CIDRs. +// +// You cannot delete an IPAM if there are CIDRs provisioned to pools or if there +// are allocations in the pools within the IPAM. To deprovision pool CIDRs, +// see DeprovisionIpamPoolCidr (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeprovisionIpamPoolCidr.html). +// To release allocations, see ReleaseIpamPoolAllocation (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ReleaseIpamPoolAllocation.html). +// +// For more information, see Delete an IPAM (/vpc/latest/ipam/delete-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteIpam for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteIpam +func (c *EC2) DeleteIpam(input *DeleteIpamInput) (*DeleteIpamOutput, error) { + req, out := c.DeleteIpamRequest(input) + return out, req.Send() +} + +// DeleteIpamWithContext is the same as DeleteIpam with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteIpam 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) DeleteIpamWithContext(ctx aws.Context, input *DeleteIpamInput, opts ...request.Option) (*DeleteIpamOutput, error) { + req, out := c.DeleteIpamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteIpamPool = "DeleteIpamPool" + +// DeleteIpamPoolRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIpamPool 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 DeleteIpamPool for more information on using the DeleteIpamPool +// 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 DeleteIpamPoolRequest method. +// req, resp := client.DeleteIpamPoolRequest(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/DeleteIpamPool +func (c *EC2) DeleteIpamPoolRequest(input *DeleteIpamPoolInput) (req *request.Request, output *DeleteIpamPoolOutput) { + op := &request.Operation{ + Name: opDeleteIpamPool, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteIpamPoolInput{} + } + + output = &DeleteIpamPoolOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteIpamPool API operation for Amazon Elastic Compute Cloud. +// +// Delete an IPAM pool. +// +// You cannot delete an IPAM pool if there are allocations in it or CIDRs provisioned +// to it. To release allocations, see ReleaseIpamPoolAllocation (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ReleaseIpamPoolAllocation.html). +// To deprovision pool CIDRs, see DeprovisionIpamPoolCidr (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeprovisionIpamPoolCidr.html). +// +// For more information, see Delete a pool (/vpc/latest/ipam/delete-pool-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteIpamPool for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteIpamPool +func (c *EC2) DeleteIpamPool(input *DeleteIpamPoolInput) (*DeleteIpamPoolOutput, error) { + req, out := c.DeleteIpamPoolRequest(input) + return out, req.Send() +} + +// DeleteIpamPoolWithContext is the same as DeleteIpamPool with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteIpamPool 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) DeleteIpamPoolWithContext(ctx aws.Context, input *DeleteIpamPoolInput, opts ...request.Option) (*DeleteIpamPoolOutput, error) { + req, out := c.DeleteIpamPoolRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteIpamScope = "DeleteIpamScope" + +// DeleteIpamScopeRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIpamScope 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 DeleteIpamScope for more information on using the DeleteIpamScope +// 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 DeleteIpamScopeRequest method. +// req, resp := client.DeleteIpamScopeRequest(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/DeleteIpamScope +func (c *EC2) DeleteIpamScopeRequest(input *DeleteIpamScopeInput) (req *request.Request, output *DeleteIpamScopeOutput) { + op := &request.Operation{ + Name: opDeleteIpamScope, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteIpamScopeInput{} + } + + output = &DeleteIpamScopeOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteIpamScope API operation for Amazon Elastic Compute Cloud. +// +// Delete the scope for an IPAM. You cannot delete the default scopes. +// +// For more information, see Delete a scope (/vpc/latest/ipam/delete-scope-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteIpamScope for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteIpamScope +func (c *EC2) DeleteIpamScope(input *DeleteIpamScopeInput) (*DeleteIpamScopeOutput, error) { + req, out := c.DeleteIpamScopeRequest(input) + return out, req.Send() +} + +// DeleteIpamScopeWithContext is the same as DeleteIpamScope with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteIpamScope 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) DeleteIpamScopeWithContext(ctx aws.Context, input *DeleteIpamScopeInput, opts ...request.Option) (*DeleteIpamScopeOutput, error) { + req, out := c.DeleteIpamScopeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteKeyPair = "DeleteKeyPair" // DeleteKeyPairRequest generates a "aws/request.Request" representing the @@ -10811,6 +11529,154 @@ func (c *EC2) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNet return out, req.Send() } +const opDeleteNetworkInsightsAccessScope = "DeleteNetworkInsightsAccessScope" + +// DeleteNetworkInsightsAccessScopeRequest generates a "aws/request.Request" representing the +// client's request for the DeleteNetworkInsightsAccessScope 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 DeleteNetworkInsightsAccessScope for more information on using the DeleteNetworkInsightsAccessScope +// 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 DeleteNetworkInsightsAccessScopeRequest method. +// req, resp := client.DeleteNetworkInsightsAccessScopeRequest(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/DeleteNetworkInsightsAccessScope +func (c *EC2) DeleteNetworkInsightsAccessScopeRequest(input *DeleteNetworkInsightsAccessScopeInput) (req *request.Request, output *DeleteNetworkInsightsAccessScopeOutput) { + op := &request.Operation{ + Name: opDeleteNetworkInsightsAccessScope, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteNetworkInsightsAccessScopeInput{} + } + + output = &DeleteNetworkInsightsAccessScopeOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteNetworkInsightsAccessScope API operation for Amazon Elastic Compute Cloud. +// +// Deletes the specified Network Access Scope. +// +// 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 DeleteNetworkInsightsAccessScope for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInsightsAccessScope +func (c *EC2) DeleteNetworkInsightsAccessScope(input *DeleteNetworkInsightsAccessScopeInput) (*DeleteNetworkInsightsAccessScopeOutput, error) { + req, out := c.DeleteNetworkInsightsAccessScopeRequest(input) + return out, req.Send() +} + +// DeleteNetworkInsightsAccessScopeWithContext is the same as DeleteNetworkInsightsAccessScope with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteNetworkInsightsAccessScope 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) DeleteNetworkInsightsAccessScopeWithContext(ctx aws.Context, input *DeleteNetworkInsightsAccessScopeInput, opts ...request.Option) (*DeleteNetworkInsightsAccessScopeOutput, error) { + req, out := c.DeleteNetworkInsightsAccessScopeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteNetworkInsightsAccessScopeAnalysis = "DeleteNetworkInsightsAccessScopeAnalysis" + +// DeleteNetworkInsightsAccessScopeAnalysisRequest generates a "aws/request.Request" representing the +// client's request for the DeleteNetworkInsightsAccessScopeAnalysis 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 DeleteNetworkInsightsAccessScopeAnalysis for more information on using the DeleteNetworkInsightsAccessScopeAnalysis +// 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 DeleteNetworkInsightsAccessScopeAnalysisRequest method. +// req, resp := client.DeleteNetworkInsightsAccessScopeAnalysisRequest(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/DeleteNetworkInsightsAccessScopeAnalysis +func (c *EC2) DeleteNetworkInsightsAccessScopeAnalysisRequest(input *DeleteNetworkInsightsAccessScopeAnalysisInput) (req *request.Request, output *DeleteNetworkInsightsAccessScopeAnalysisOutput) { + op := &request.Operation{ + Name: opDeleteNetworkInsightsAccessScopeAnalysis, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteNetworkInsightsAccessScopeAnalysisInput{} + } + + output = &DeleteNetworkInsightsAccessScopeAnalysisOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteNetworkInsightsAccessScopeAnalysis API operation for Amazon Elastic Compute Cloud. +// +// Deletes the specified Network Access Scope analysis. +// +// 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 DeleteNetworkInsightsAccessScopeAnalysis for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInsightsAccessScopeAnalysis +func (c *EC2) DeleteNetworkInsightsAccessScopeAnalysis(input *DeleteNetworkInsightsAccessScopeAnalysisInput) (*DeleteNetworkInsightsAccessScopeAnalysisOutput, error) { + req, out := c.DeleteNetworkInsightsAccessScopeAnalysisRequest(input) + return out, req.Send() +} + +// DeleteNetworkInsightsAccessScopeAnalysisWithContext is the same as DeleteNetworkInsightsAccessScopeAnalysis with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteNetworkInsightsAccessScopeAnalysis 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) DeleteNetworkInsightsAccessScopeAnalysisWithContext(ctx aws.Context, input *DeleteNetworkInsightsAccessScopeAnalysisInput, opts ...request.Option) (*DeleteNetworkInsightsAccessScopeAnalysisOutput, error) { + req, out := c.DeleteNetworkInsightsAccessScopeAnalysisRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteNetworkInsightsAnalysis = "DeleteNetworkInsightsAnalysis" // DeleteNetworkInsightsAnalysisRequest generates a "aws/request.Request" representing the @@ -11190,6 +12056,83 @@ func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlac return out, req.Send() } +const opDeletePublicIpv4Pool = "DeletePublicIpv4Pool" + +// DeletePublicIpv4PoolRequest generates a "aws/request.Request" representing the +// client's request for the DeletePublicIpv4Pool 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 DeletePublicIpv4Pool for more information on using the DeletePublicIpv4Pool +// 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 DeletePublicIpv4PoolRequest method. +// req, resp := client.DeletePublicIpv4PoolRequest(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/DeletePublicIpv4Pool +func (c *EC2) DeletePublicIpv4PoolRequest(input *DeletePublicIpv4PoolInput) (req *request.Request, output *DeletePublicIpv4PoolOutput) { + op := &request.Operation{ + Name: opDeletePublicIpv4Pool, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeletePublicIpv4PoolInput{} + } + + output = &DeletePublicIpv4PoolOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeletePublicIpv4Pool API operation for Amazon Elastic Compute Cloud. +// +// Delete a public IPv4 pool. A public IPv4 pool is an EC2 IP address pool required +// for the public IPv4 CIDRs that you own and bring to Amazon Web Services to +// manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, +// use IPAM pools only. +// +// 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 DeletePublicIpv4Pool for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePublicIpv4Pool +func (c *EC2) DeletePublicIpv4Pool(input *DeletePublicIpv4PoolInput) (*DeletePublicIpv4PoolOutput, error) { + req, out := c.DeletePublicIpv4PoolRequest(input) + return out, req.Send() +} + +// DeletePublicIpv4PoolWithContext is the same as DeletePublicIpv4Pool with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePublicIpv4Pool 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) DeletePublicIpv4PoolWithContext(ctx aws.Context, input *DeletePublicIpv4PoolInput, opts ...request.Option) (*DeletePublicIpv4PoolOutput, error) { + req, out := c.DeletePublicIpv4PoolRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteQueuedReservedInstances = "DeleteQueuedReservedInstances" // DeleteQueuedReservedInstancesRequest generates a "aws/request.Request" representing the @@ -13666,6 +14609,157 @@ func (c *EC2) DeprovisionByoipCidrWithContext(ctx aws.Context, input *Deprovisio return out, req.Send() } +const opDeprovisionIpamPoolCidr = "DeprovisionIpamPoolCidr" + +// DeprovisionIpamPoolCidrRequest generates a "aws/request.Request" representing the +// client's request for the DeprovisionIpamPoolCidr 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 DeprovisionIpamPoolCidr for more information on using the DeprovisionIpamPoolCidr +// 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 DeprovisionIpamPoolCidrRequest method. +// req, resp := client.DeprovisionIpamPoolCidrRequest(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/DeprovisionIpamPoolCidr +func (c *EC2) DeprovisionIpamPoolCidrRequest(input *DeprovisionIpamPoolCidrInput) (req *request.Request, output *DeprovisionIpamPoolCidrOutput) { + op := &request.Operation{ + Name: opDeprovisionIpamPoolCidr, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeprovisionIpamPoolCidrInput{} + } + + output = &DeprovisionIpamPoolCidrOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeprovisionIpamPoolCidr API operation for Amazon Elastic Compute Cloud. +// +// Deprovision a CIDR provisioned from an IPAM pool. If you deprovision a CIDR +// from a pool that has a source pool, the CIDR is recycled back into the source +// pool. For more information, see Deprovision pool CIDRs (/vpc/latest/ipam/depro-pool-cidr-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeprovisionIpamPoolCidr for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionIpamPoolCidr +func (c *EC2) DeprovisionIpamPoolCidr(input *DeprovisionIpamPoolCidrInput) (*DeprovisionIpamPoolCidrOutput, error) { + req, out := c.DeprovisionIpamPoolCidrRequest(input) + return out, req.Send() +} + +// DeprovisionIpamPoolCidrWithContext is the same as DeprovisionIpamPoolCidr with the addition of +// the ability to pass a context and additional request options. +// +// See DeprovisionIpamPoolCidr 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) DeprovisionIpamPoolCidrWithContext(ctx aws.Context, input *DeprovisionIpamPoolCidrInput, opts ...request.Option) (*DeprovisionIpamPoolCidrOutput, error) { + req, out := c.DeprovisionIpamPoolCidrRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeprovisionPublicIpv4PoolCidr = "DeprovisionPublicIpv4PoolCidr" + +// DeprovisionPublicIpv4PoolCidrRequest generates a "aws/request.Request" representing the +// client's request for the DeprovisionPublicIpv4PoolCidr 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 DeprovisionPublicIpv4PoolCidr for more information on using the DeprovisionPublicIpv4PoolCidr +// 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 DeprovisionPublicIpv4PoolCidrRequest method. +// req, resp := client.DeprovisionPublicIpv4PoolCidrRequest(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/DeprovisionPublicIpv4PoolCidr +func (c *EC2) DeprovisionPublicIpv4PoolCidrRequest(input *DeprovisionPublicIpv4PoolCidrInput) (req *request.Request, output *DeprovisionPublicIpv4PoolCidrOutput) { + op := &request.Operation{ + Name: opDeprovisionPublicIpv4PoolCidr, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeprovisionPublicIpv4PoolCidrInput{} + } + + output = &DeprovisionPublicIpv4PoolCidrOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeprovisionPublicIpv4PoolCidr API operation for Amazon Elastic Compute Cloud. +// +// Deprovision a CIDR from a public IPv4 pool. +// +// 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 DeprovisionPublicIpv4PoolCidr for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionPublicIpv4PoolCidr +func (c *EC2) DeprovisionPublicIpv4PoolCidr(input *DeprovisionPublicIpv4PoolCidrInput) (*DeprovisionPublicIpv4PoolCidrOutput, error) { + req, out := c.DeprovisionPublicIpv4PoolCidrRequest(input) + return out, req.Send() +} + +// DeprovisionPublicIpv4PoolCidrWithContext is the same as DeprovisionPublicIpv4PoolCidr with the addition of +// the ability to pass a context and additional request options. +// +// See DeprovisionPublicIpv4PoolCidr 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) DeprovisionPublicIpv4PoolCidrWithContext(ctx aws.Context, input *DeprovisionPublicIpv4PoolCidrInput, opts ...request.Option) (*DeprovisionPublicIpv4PoolCidrOutput, error) { + req, out := c.DeprovisionPublicIpv4PoolCidrRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeregisterImage = "DeregisterImage" // DeregisterImageRequest generates a "aws/request.Request" representing the @@ -14020,8 +15114,8 @@ func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesI // DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud. // -// Describes attributes of your AWS account. The following are the supported -// account attributes: +// Describes attributes of your Amazon Web Services account. The following are +// the supported account attributes: // // * supported-platforms: Indicates whether your account can launch instances // into EC2-Classic and EC2-VPC, or only into EC2-VPC. @@ -16695,6 +17789,138 @@ func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExp return out, req.Send() } +const opDescribeFastLaunchImages = "DescribeFastLaunchImages" + +// DescribeFastLaunchImagesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFastLaunchImages 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 DescribeFastLaunchImages for more information on using the DescribeFastLaunchImages +// 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 DescribeFastLaunchImagesRequest method. +// req, resp := client.DescribeFastLaunchImagesRequest(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/DescribeFastLaunchImages +func (c *EC2) DescribeFastLaunchImagesRequest(input *DescribeFastLaunchImagesInput) (req *request.Request, output *DescribeFastLaunchImagesOutput) { + op := &request.Operation{ + Name: opDescribeFastLaunchImages, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeFastLaunchImagesInput{} + } + + output = &DescribeFastLaunchImagesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFastLaunchImages API operation for Amazon Elastic Compute Cloud. +// +// Describe details for Windows AMIs that are configured for faster launching. +// +// 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 DescribeFastLaunchImages for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastLaunchImages +func (c *EC2) DescribeFastLaunchImages(input *DescribeFastLaunchImagesInput) (*DescribeFastLaunchImagesOutput, error) { + req, out := c.DescribeFastLaunchImagesRequest(input) + return out, req.Send() +} + +// DescribeFastLaunchImagesWithContext is the same as DescribeFastLaunchImages with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFastLaunchImages 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) DescribeFastLaunchImagesWithContext(ctx aws.Context, input *DescribeFastLaunchImagesInput, opts ...request.Option) (*DescribeFastLaunchImagesOutput, error) { + req, out := c.DescribeFastLaunchImagesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeFastLaunchImagesPages iterates over the pages of a DescribeFastLaunchImages operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeFastLaunchImages 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 DescribeFastLaunchImages operation. +// pageNum := 0 +// err := client.DescribeFastLaunchImagesPages(params, +// func(page *ec2.DescribeFastLaunchImagesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeFastLaunchImagesPages(input *DescribeFastLaunchImagesInput, fn func(*DescribeFastLaunchImagesOutput, bool) bool) error { + return c.DescribeFastLaunchImagesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeFastLaunchImagesPagesWithContext same as DescribeFastLaunchImagesPages 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) DescribeFastLaunchImagesPagesWithContext(ctx aws.Context, input *DescribeFastLaunchImagesInput, fn func(*DescribeFastLaunchImagesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeFastLaunchImagesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeFastLaunchImagesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeFastLaunchImagesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeFastSnapshotRestores = "DescribeFastSnapshotRestores" // DescribeFastSnapshotRestoresRequest generates a "aws/request.Request" representing the @@ -19118,7 +20344,7 @@ func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) // * Status checks - Amazon EC2 performs status checks on running EC2 instances // to identify hardware and software issues. For more information, see Status // checks for your instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html) -// and Troubleshooting instances with failed status checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html) +// and Troubleshoot instances with failed status checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html) // in the Amazon EC2 User Guide. // // * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, @@ -19762,6 +20988,405 @@ func (c *EC2) DescribeInternetGatewaysPagesWithContext(ctx aws.Context, input *D return p.Err() } +const opDescribeIpamPools = "DescribeIpamPools" + +// DescribeIpamPoolsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIpamPools 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 DescribeIpamPools for more information on using the DescribeIpamPools +// 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 DescribeIpamPoolsRequest method. +// req, resp := client.DescribeIpamPoolsRequest(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/DescribeIpamPools +func (c *EC2) DescribeIpamPoolsRequest(input *DescribeIpamPoolsInput) (req *request.Request, output *DescribeIpamPoolsOutput) { + op := &request.Operation{ + Name: opDescribeIpamPools, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeIpamPoolsInput{} + } + + output = &DescribeIpamPoolsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeIpamPools API operation for Amazon Elastic Compute Cloud. +// +// Get information about your IPAM pools. +// +// 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 DescribeIpamPools for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpamPools +func (c *EC2) DescribeIpamPools(input *DescribeIpamPoolsInput) (*DescribeIpamPoolsOutput, error) { + req, out := c.DescribeIpamPoolsRequest(input) + return out, req.Send() +} + +// DescribeIpamPoolsWithContext is the same as DescribeIpamPools with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeIpamPools 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) DescribeIpamPoolsWithContext(ctx aws.Context, input *DescribeIpamPoolsInput, opts ...request.Option) (*DescribeIpamPoolsOutput, error) { + req, out := c.DescribeIpamPoolsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeIpamPoolsPages iterates over the pages of a DescribeIpamPools operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeIpamPools 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 DescribeIpamPools operation. +// pageNum := 0 +// err := client.DescribeIpamPoolsPages(params, +// func(page *ec2.DescribeIpamPoolsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeIpamPoolsPages(input *DescribeIpamPoolsInput, fn func(*DescribeIpamPoolsOutput, bool) bool) error { + return c.DescribeIpamPoolsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeIpamPoolsPagesWithContext same as DescribeIpamPoolsPages 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) DescribeIpamPoolsPagesWithContext(ctx aws.Context, input *DescribeIpamPoolsInput, fn func(*DescribeIpamPoolsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeIpamPoolsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeIpamPoolsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeIpamPoolsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeIpamScopes = "DescribeIpamScopes" + +// DescribeIpamScopesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIpamScopes 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 DescribeIpamScopes for more information on using the DescribeIpamScopes +// 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 DescribeIpamScopesRequest method. +// req, resp := client.DescribeIpamScopesRequest(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/DescribeIpamScopes +func (c *EC2) DescribeIpamScopesRequest(input *DescribeIpamScopesInput) (req *request.Request, output *DescribeIpamScopesOutput) { + op := &request.Operation{ + Name: opDescribeIpamScopes, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeIpamScopesInput{} + } + + output = &DescribeIpamScopesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeIpamScopes API operation for Amazon Elastic Compute Cloud. +// +// Get information about your IPAM scopes. +// +// 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 DescribeIpamScopes for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpamScopes +func (c *EC2) DescribeIpamScopes(input *DescribeIpamScopesInput) (*DescribeIpamScopesOutput, error) { + req, out := c.DescribeIpamScopesRequest(input) + return out, req.Send() +} + +// DescribeIpamScopesWithContext is the same as DescribeIpamScopes with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeIpamScopes 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) DescribeIpamScopesWithContext(ctx aws.Context, input *DescribeIpamScopesInput, opts ...request.Option) (*DescribeIpamScopesOutput, error) { + req, out := c.DescribeIpamScopesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeIpamScopesPages iterates over the pages of a DescribeIpamScopes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeIpamScopes 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 DescribeIpamScopes operation. +// pageNum := 0 +// err := client.DescribeIpamScopesPages(params, +// func(page *ec2.DescribeIpamScopesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeIpamScopesPages(input *DescribeIpamScopesInput, fn func(*DescribeIpamScopesOutput, bool) bool) error { + return c.DescribeIpamScopesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeIpamScopesPagesWithContext same as DescribeIpamScopesPages 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) DescribeIpamScopesPagesWithContext(ctx aws.Context, input *DescribeIpamScopesInput, fn func(*DescribeIpamScopesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeIpamScopesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeIpamScopesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeIpamScopesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeIpams = "DescribeIpams" + +// DescribeIpamsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIpams 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 DescribeIpams for more information on using the DescribeIpams +// 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 DescribeIpamsRequest method. +// req, resp := client.DescribeIpamsRequest(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/DescribeIpams +func (c *EC2) DescribeIpamsRequest(input *DescribeIpamsInput) (req *request.Request, output *DescribeIpamsOutput) { + op := &request.Operation{ + Name: opDescribeIpams, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeIpamsInput{} + } + + output = &DescribeIpamsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeIpams API operation for Amazon Elastic Compute Cloud. +// +// Get information about your IPAM pools. +// +// For more information, see What is IPAM? (/vpc/latest/ipam/what-is-it-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeIpams for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpams +func (c *EC2) DescribeIpams(input *DescribeIpamsInput) (*DescribeIpamsOutput, error) { + req, out := c.DescribeIpamsRequest(input) + return out, req.Send() +} + +// DescribeIpamsWithContext is the same as DescribeIpams with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeIpams 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) DescribeIpamsWithContext(ctx aws.Context, input *DescribeIpamsInput, opts ...request.Option) (*DescribeIpamsOutput, error) { + req, out := c.DescribeIpamsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeIpamsPages iterates over the pages of a DescribeIpams operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeIpams 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 DescribeIpams operation. +// pageNum := 0 +// err := client.DescribeIpamsPages(params, +// func(page *ec2.DescribeIpamsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeIpamsPages(input *DescribeIpamsInput, fn func(*DescribeIpamsOutput, bool) bool) error { + return c.DescribeIpamsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeIpamsPagesWithContext same as DescribeIpamsPages 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) DescribeIpamsPagesWithContext(ctx aws.Context, input *DescribeIpamsInput, fn func(*DescribeIpamsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeIpamsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeIpamsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeIpamsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeIpv6Pools = "DescribeIpv6Pools" // DescribeIpv6PoolsRequest generates a "aws/request.Request" representing the @@ -21570,6 +23195,270 @@ func (c *EC2) DescribeNetworkAclsPagesWithContext(ctx aws.Context, input *Descri return p.Err() } +const opDescribeNetworkInsightsAccessScopeAnalyses = "DescribeNetworkInsightsAccessScopeAnalyses" + +// DescribeNetworkInsightsAccessScopeAnalysesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeNetworkInsightsAccessScopeAnalyses 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 DescribeNetworkInsightsAccessScopeAnalyses for more information on using the DescribeNetworkInsightsAccessScopeAnalyses +// 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 DescribeNetworkInsightsAccessScopeAnalysesRequest method. +// req, resp := client.DescribeNetworkInsightsAccessScopeAnalysesRequest(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/DescribeNetworkInsightsAccessScopeAnalyses +func (c *EC2) DescribeNetworkInsightsAccessScopeAnalysesRequest(input *DescribeNetworkInsightsAccessScopeAnalysesInput) (req *request.Request, output *DescribeNetworkInsightsAccessScopeAnalysesOutput) { + op := &request.Operation{ + Name: opDescribeNetworkInsightsAccessScopeAnalyses, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeNetworkInsightsAccessScopeAnalysesInput{} + } + + output = &DescribeNetworkInsightsAccessScopeAnalysesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeNetworkInsightsAccessScopeAnalyses API operation for Amazon Elastic Compute Cloud. +// +// Describes the specified Network Access Scope analyses. +// +// 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 DescribeNetworkInsightsAccessScopeAnalyses for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInsightsAccessScopeAnalyses +func (c *EC2) DescribeNetworkInsightsAccessScopeAnalyses(input *DescribeNetworkInsightsAccessScopeAnalysesInput) (*DescribeNetworkInsightsAccessScopeAnalysesOutput, error) { + req, out := c.DescribeNetworkInsightsAccessScopeAnalysesRequest(input) + return out, req.Send() +} + +// DescribeNetworkInsightsAccessScopeAnalysesWithContext is the same as DescribeNetworkInsightsAccessScopeAnalyses with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeNetworkInsightsAccessScopeAnalyses 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) DescribeNetworkInsightsAccessScopeAnalysesWithContext(ctx aws.Context, input *DescribeNetworkInsightsAccessScopeAnalysesInput, opts ...request.Option) (*DescribeNetworkInsightsAccessScopeAnalysesOutput, error) { + req, out := c.DescribeNetworkInsightsAccessScopeAnalysesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeNetworkInsightsAccessScopeAnalysesPages iterates over the pages of a DescribeNetworkInsightsAccessScopeAnalyses operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeNetworkInsightsAccessScopeAnalyses 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 DescribeNetworkInsightsAccessScopeAnalyses operation. +// pageNum := 0 +// err := client.DescribeNetworkInsightsAccessScopeAnalysesPages(params, +// func(page *ec2.DescribeNetworkInsightsAccessScopeAnalysesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeNetworkInsightsAccessScopeAnalysesPages(input *DescribeNetworkInsightsAccessScopeAnalysesInput, fn func(*DescribeNetworkInsightsAccessScopeAnalysesOutput, bool) bool) error { + return c.DescribeNetworkInsightsAccessScopeAnalysesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeNetworkInsightsAccessScopeAnalysesPagesWithContext same as DescribeNetworkInsightsAccessScopeAnalysesPages 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) DescribeNetworkInsightsAccessScopeAnalysesPagesWithContext(ctx aws.Context, input *DescribeNetworkInsightsAccessScopeAnalysesInput, fn func(*DescribeNetworkInsightsAccessScopeAnalysesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeNetworkInsightsAccessScopeAnalysesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeNetworkInsightsAccessScopeAnalysesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeNetworkInsightsAccessScopeAnalysesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeNetworkInsightsAccessScopes = "DescribeNetworkInsightsAccessScopes" + +// DescribeNetworkInsightsAccessScopesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeNetworkInsightsAccessScopes 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 DescribeNetworkInsightsAccessScopes for more information on using the DescribeNetworkInsightsAccessScopes +// 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 DescribeNetworkInsightsAccessScopesRequest method. +// req, resp := client.DescribeNetworkInsightsAccessScopesRequest(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/DescribeNetworkInsightsAccessScopes +func (c *EC2) DescribeNetworkInsightsAccessScopesRequest(input *DescribeNetworkInsightsAccessScopesInput) (req *request.Request, output *DescribeNetworkInsightsAccessScopesOutput) { + op := &request.Operation{ + Name: opDescribeNetworkInsightsAccessScopes, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeNetworkInsightsAccessScopesInput{} + } + + output = &DescribeNetworkInsightsAccessScopesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeNetworkInsightsAccessScopes API operation for Amazon Elastic Compute Cloud. +// +// Describes the specified Network Access Scopes. +// +// 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 DescribeNetworkInsightsAccessScopes for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInsightsAccessScopes +func (c *EC2) DescribeNetworkInsightsAccessScopes(input *DescribeNetworkInsightsAccessScopesInput) (*DescribeNetworkInsightsAccessScopesOutput, error) { + req, out := c.DescribeNetworkInsightsAccessScopesRequest(input) + return out, req.Send() +} + +// DescribeNetworkInsightsAccessScopesWithContext is the same as DescribeNetworkInsightsAccessScopes with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeNetworkInsightsAccessScopes 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) DescribeNetworkInsightsAccessScopesWithContext(ctx aws.Context, input *DescribeNetworkInsightsAccessScopesInput, opts ...request.Option) (*DescribeNetworkInsightsAccessScopesOutput, error) { + req, out := c.DescribeNetworkInsightsAccessScopesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeNetworkInsightsAccessScopesPages iterates over the pages of a DescribeNetworkInsightsAccessScopes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeNetworkInsightsAccessScopes 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 DescribeNetworkInsightsAccessScopes operation. +// pageNum := 0 +// err := client.DescribeNetworkInsightsAccessScopesPages(params, +// func(page *ec2.DescribeNetworkInsightsAccessScopesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeNetworkInsightsAccessScopesPages(input *DescribeNetworkInsightsAccessScopesInput, fn func(*DescribeNetworkInsightsAccessScopesOutput, bool) bool) error { + return c.DescribeNetworkInsightsAccessScopesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeNetworkInsightsAccessScopesPagesWithContext same as DescribeNetworkInsightsAccessScopesPages 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) DescribeNetworkInsightsAccessScopesPagesWithContext(ctx aws.Context, input *DescribeNetworkInsightsAccessScopesInput, fn func(*DescribeNetworkInsightsAccessScopesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeNetworkInsightsAccessScopesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeNetworkInsightsAccessScopesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeNetworkInsightsAccessScopesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeNetworkInsightsAnalyses = "DescribeNetworkInsightsAnalyses" // DescribeNetworkInsightsAnalysesRequest generates a "aws/request.Request" representing the @@ -24167,6 +26056,138 @@ func (c *EC2) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *Descr return out, req.Send() } +const opDescribeSnapshotTierStatus = "DescribeSnapshotTierStatus" + +// DescribeSnapshotTierStatusRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSnapshotTierStatus 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 DescribeSnapshotTierStatus for more information on using the DescribeSnapshotTierStatus +// 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 DescribeSnapshotTierStatusRequest method. +// req, resp := client.DescribeSnapshotTierStatusRequest(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/DescribeSnapshotTierStatus +func (c *EC2) DescribeSnapshotTierStatusRequest(input *DescribeSnapshotTierStatusInput) (req *request.Request, output *DescribeSnapshotTierStatusOutput) { + op := &request.Operation{ + Name: opDescribeSnapshotTierStatus, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeSnapshotTierStatusInput{} + } + + output = &DescribeSnapshotTierStatusOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSnapshotTierStatus API operation for Amazon Elastic Compute Cloud. +// +// Describes the storage tier status of one or more Amazon EBS snapshots. +// +// 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 DescribeSnapshotTierStatus for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotTierStatus +func (c *EC2) DescribeSnapshotTierStatus(input *DescribeSnapshotTierStatusInput) (*DescribeSnapshotTierStatusOutput, error) { + req, out := c.DescribeSnapshotTierStatusRequest(input) + return out, req.Send() +} + +// DescribeSnapshotTierStatusWithContext is the same as DescribeSnapshotTierStatus with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSnapshotTierStatus 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) DescribeSnapshotTierStatusWithContext(ctx aws.Context, input *DescribeSnapshotTierStatusInput, opts ...request.Option) (*DescribeSnapshotTierStatusOutput, error) { + req, out := c.DescribeSnapshotTierStatusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeSnapshotTierStatusPages iterates over the pages of a DescribeSnapshotTierStatus operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSnapshotTierStatus 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 DescribeSnapshotTierStatus operation. +// pageNum := 0 +// err := client.DescribeSnapshotTierStatusPages(params, +// func(page *ec2.DescribeSnapshotTierStatusOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeSnapshotTierStatusPages(input *DescribeSnapshotTierStatusInput, fn func(*DescribeSnapshotTierStatusOutput, bool) bool) error { + return c.DescribeSnapshotTierStatusPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSnapshotTierStatusPagesWithContext same as DescribeSnapshotTierStatusPages 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) DescribeSnapshotTierStatusPagesWithContext(ctx aws.Context, input *DescribeSnapshotTierStatusInput, fn func(*DescribeSnapshotTierStatusOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeSnapshotTierStatusInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSnapshotTierStatusRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeSnapshotTierStatusOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeSnapshots = "DescribeSnapshots" // DescribeSnapshotsRequest generates a "aws/request.Request" representing the @@ -25055,8 +27076,8 @@ func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGro // // [VPC only] Describes the stale security group rules for security groups in // a specified VPC. Rules are stale when they reference a deleted security group -// in a peer VPC, or a security group in a peer VPC for which the VPC peering -// connection has been deleted. +// in the same VPC or in a peer VPC, or if they reference a security group in +// a peer VPC for which the VPC peering connection has been deleted. // // 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 @@ -29610,6 +31631,83 @@ func (c *EC2) DisableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *D return out, req.Send() } +const opDisableFastLaunch = "DisableFastLaunch" + +// DisableFastLaunchRequest generates a "aws/request.Request" representing the +// client's request for the DisableFastLaunch 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 DisableFastLaunch for more information on using the DisableFastLaunch +// 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 DisableFastLaunchRequest method. +// req, resp := client.DisableFastLaunchRequest(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/DisableFastLaunch +func (c *EC2) DisableFastLaunchRequest(input *DisableFastLaunchInput) (req *request.Request, output *DisableFastLaunchOutput) { + op := &request.Operation{ + Name: opDisableFastLaunch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisableFastLaunchInput{} + } + + output = &DisableFastLaunchOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisableFastLaunch API operation for Amazon Elastic Compute Cloud. +// +// Discontinue faster launching for a Windows AMI, and clean up existing pre-provisioned +// snapshots. When you disable faster launching, the AMI uses the standard launch +// process for each instance. All pre-provisioned snapshots must be removed +// before you can enable faster launching again. +// +// 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 DisableFastLaunch for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastLaunch +func (c *EC2) DisableFastLaunch(input *DisableFastLaunchInput) (*DisableFastLaunchOutput, error) { + req, out := c.DisableFastLaunchRequest(input) + return out, req.Send() +} + +// DisableFastLaunchWithContext is the same as DisableFastLaunch with the addition of +// the ability to pass a context and additional request options. +// +// See DisableFastLaunch 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) DisableFastLaunchWithContext(ctx aws.Context, input *DisableFastLaunchInput, opts ...request.Option) (*DisableFastLaunchOutput, error) { + req, out := c.DisableFastLaunchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisableFastSnapshotRestores = "DisableFastSnapshotRestores" // DisableFastSnapshotRestoresRequest generates a "aws/request.Request" representing the @@ -29762,6 +31860,82 @@ func (c *EC2) DisableImageDeprecationWithContext(ctx aws.Context, input *Disable return out, req.Send() } +const opDisableIpamOrganizationAdminAccount = "DisableIpamOrganizationAdminAccount" + +// DisableIpamOrganizationAdminAccountRequest generates a "aws/request.Request" representing the +// client's request for the DisableIpamOrganizationAdminAccount 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 DisableIpamOrganizationAdminAccount for more information on using the DisableIpamOrganizationAdminAccount +// 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 DisableIpamOrganizationAdminAccountRequest method. +// req, resp := client.DisableIpamOrganizationAdminAccountRequest(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/DisableIpamOrganizationAdminAccount +func (c *EC2) DisableIpamOrganizationAdminAccountRequest(input *DisableIpamOrganizationAdminAccountInput) (req *request.Request, output *DisableIpamOrganizationAdminAccountOutput) { + op := &request.Operation{ + Name: opDisableIpamOrganizationAdminAccount, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisableIpamOrganizationAdminAccountInput{} + } + + output = &DisableIpamOrganizationAdminAccountOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisableIpamOrganizationAdminAccount API operation for Amazon Elastic Compute Cloud. +// +// Disable the IPAM account. For more information, see Enable integration with +// Organizations (/vpc/latest/ipam/enable-integ-ipam.html) in the Amazon VPC +// IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisableIpamOrganizationAdminAccount for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableIpamOrganizationAdminAccount +func (c *EC2) DisableIpamOrganizationAdminAccount(input *DisableIpamOrganizationAdminAccountInput) (*DisableIpamOrganizationAdminAccountOutput, error) { + req, out := c.DisableIpamOrganizationAdminAccountRequest(input) + return out, req.Send() +} + +// DisableIpamOrganizationAdminAccountWithContext is the same as DisableIpamOrganizationAdminAccount with the addition of +// the ability to pass a context and additional request options. +// +// See DisableIpamOrganizationAdminAccount 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) DisableIpamOrganizationAdminAccountWithContext(ctx aws.Context, input *DisableIpamOrganizationAdminAccountInput, opts ...request.Option) (*DisableIpamOrganizationAdminAccountOutput, error) { + req, out := c.DisableIpamOrganizationAdminAccountRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisableSerialConsoleAccess = "DisableSerialConsoleAccess" // DisableSerialConsoleAccessRequest generates a "aws/request.Request" representing the @@ -31098,6 +33272,85 @@ func (c *EC2) EnableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *En return out, req.Send() } +const opEnableFastLaunch = "EnableFastLaunch" + +// EnableFastLaunchRequest generates a "aws/request.Request" representing the +// client's request for the EnableFastLaunch 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 EnableFastLaunch for more information on using the EnableFastLaunch +// 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 EnableFastLaunchRequest method. +// req, resp := client.EnableFastLaunchRequest(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/EnableFastLaunch +func (c *EC2) EnableFastLaunchRequest(input *EnableFastLaunchInput) (req *request.Request, output *EnableFastLaunchOutput) { + op := &request.Operation{ + Name: opEnableFastLaunch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &EnableFastLaunchInput{} + } + + output = &EnableFastLaunchOutput{} + req = c.newRequest(op, input, output) + return +} + +// EnableFastLaunch API operation for Amazon Elastic Compute Cloud. +// +// When you enable faster launching for a Windows AMI, images are pre-provisioned, +// using snapshots to launch instances up to 65% faster. To create the optimized +// Windows image, Amazon EC2 launches an instance and runs through Sysprep steps, +// rebooting as required. Then it creates a set of reserved snapshots that are +// used for subsequent launches. The reserved snapshots are automatically replenished +// as they are used, depending on your settings for launch frequency. +// +// 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 EnableFastLaunch for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastLaunch +func (c *EC2) EnableFastLaunch(input *EnableFastLaunchInput) (*EnableFastLaunchOutput, error) { + req, out := c.EnableFastLaunchRequest(input) + return out, req.Send() +} + +// EnableFastLaunchWithContext is the same as EnableFastLaunch with the addition of +// the ability to pass a context and additional request options. +// +// See EnableFastLaunch 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) EnableFastLaunchWithContext(ctx aws.Context, input *EnableFastLaunchInput, opts ...request.Option) (*EnableFastLaunchOutput, error) { + req, out := c.EnableFastLaunchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opEnableFastSnapshotRestores = "EnableFastSnapshotRestores" // EnableFastSnapshotRestoresRequest generates a "aws/request.Request" representing the @@ -31257,6 +33510,83 @@ func (c *EC2) EnableImageDeprecationWithContext(ctx aws.Context, input *EnableIm return out, req.Send() } +const opEnableIpamOrganizationAdminAccount = "EnableIpamOrganizationAdminAccount" + +// EnableIpamOrganizationAdminAccountRequest generates a "aws/request.Request" representing the +// client's request for the EnableIpamOrganizationAdminAccount 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 EnableIpamOrganizationAdminAccount for more information on using the EnableIpamOrganizationAdminAccount +// 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 EnableIpamOrganizationAdminAccountRequest method. +// req, resp := client.EnableIpamOrganizationAdminAccountRequest(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/EnableIpamOrganizationAdminAccount +func (c *EC2) EnableIpamOrganizationAdminAccountRequest(input *EnableIpamOrganizationAdminAccountInput) (req *request.Request, output *EnableIpamOrganizationAdminAccountOutput) { + op := &request.Operation{ + Name: opEnableIpamOrganizationAdminAccount, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &EnableIpamOrganizationAdminAccountInput{} + } + + output = &EnableIpamOrganizationAdminAccountOutput{} + req = c.newRequest(op, input, output) + return +} + +// EnableIpamOrganizationAdminAccount API operation for Amazon Elastic Compute Cloud. +// +// Enable an Organizations member account as the IPAM admin account. You cannot +// select the Organizations management account as the IPAM admin account. For +// more information, see Enable integration with Organizations (/vpc/latest/ipam/enable-integ-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation EnableIpamOrganizationAdminAccount for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableIpamOrganizationAdminAccount +func (c *EC2) EnableIpamOrganizationAdminAccount(input *EnableIpamOrganizationAdminAccountInput) (*EnableIpamOrganizationAdminAccountOutput, error) { + req, out := c.EnableIpamOrganizationAdminAccountRequest(input) + return out, req.Send() +} + +// EnableIpamOrganizationAdminAccountWithContext is the same as EnableIpamOrganizationAdminAccount with the addition of +// the ability to pass a context and additional request options. +// +// See EnableIpamOrganizationAdminAccount 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) EnableIpamOrganizationAdminAccountWithContext(ctx aws.Context, input *EnableIpamOrganizationAdminAccountInput, opts ...request.Option) (*EnableIpamOrganizationAdminAccountOutput, error) { + req, out := c.EnableIpamOrganizationAdminAccountRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opEnableSerialConsoleAccess = "EnableSerialConsoleAccess" // EnableSerialConsoleAccessRequest generates a "aws/request.Request" representing the @@ -33241,6 +35571,536 @@ func (c *EC2) GetInstanceTypesFromInstanceRequirementsPagesWithContext(ctx aws.C return p.Err() } +const opGetIpamAddressHistory = "GetIpamAddressHistory" + +// GetIpamAddressHistoryRequest generates a "aws/request.Request" representing the +// client's request for the GetIpamAddressHistory 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 GetIpamAddressHistory for more information on using the GetIpamAddressHistory +// 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 GetIpamAddressHistoryRequest method. +// req, resp := client.GetIpamAddressHistoryRequest(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/GetIpamAddressHistory +func (c *EC2) GetIpamAddressHistoryRequest(input *GetIpamAddressHistoryInput) (req *request.Request, output *GetIpamAddressHistoryOutput) { + op := &request.Operation{ + Name: opGetIpamAddressHistory, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetIpamAddressHistoryInput{} + } + + output = &GetIpamAddressHistoryOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetIpamAddressHistory API operation for Amazon Elastic Compute Cloud. +// +// Retrieve historical information about a CIDR within an IPAM scope. For more +// information, see View the history of IP addresses (/vpc/latest/ipam/view-history-cidr-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetIpamAddressHistory for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamAddressHistory +func (c *EC2) GetIpamAddressHistory(input *GetIpamAddressHistoryInput) (*GetIpamAddressHistoryOutput, error) { + req, out := c.GetIpamAddressHistoryRequest(input) + return out, req.Send() +} + +// GetIpamAddressHistoryWithContext is the same as GetIpamAddressHistory with the addition of +// the ability to pass a context and additional request options. +// +// See GetIpamAddressHistory 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) GetIpamAddressHistoryWithContext(ctx aws.Context, input *GetIpamAddressHistoryInput, opts ...request.Option) (*GetIpamAddressHistoryOutput, error) { + req, out := c.GetIpamAddressHistoryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetIpamAddressHistoryPages iterates over the pages of a GetIpamAddressHistory operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetIpamAddressHistory 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 GetIpamAddressHistory operation. +// pageNum := 0 +// err := client.GetIpamAddressHistoryPages(params, +// func(page *ec2.GetIpamAddressHistoryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) GetIpamAddressHistoryPages(input *GetIpamAddressHistoryInput, fn func(*GetIpamAddressHistoryOutput, bool) bool) error { + return c.GetIpamAddressHistoryPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetIpamAddressHistoryPagesWithContext same as GetIpamAddressHistoryPages 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) GetIpamAddressHistoryPagesWithContext(ctx aws.Context, input *GetIpamAddressHistoryInput, fn func(*GetIpamAddressHistoryOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetIpamAddressHistoryInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetIpamAddressHistoryRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetIpamAddressHistoryOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetIpamPoolAllocations = "GetIpamPoolAllocations" + +// GetIpamPoolAllocationsRequest generates a "aws/request.Request" representing the +// client's request for the GetIpamPoolAllocations 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 GetIpamPoolAllocations for more information on using the GetIpamPoolAllocations +// 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 GetIpamPoolAllocationsRequest method. +// req, resp := client.GetIpamPoolAllocationsRequest(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/GetIpamPoolAllocations +func (c *EC2) GetIpamPoolAllocationsRequest(input *GetIpamPoolAllocationsInput) (req *request.Request, output *GetIpamPoolAllocationsOutput) { + op := &request.Operation{ + Name: opGetIpamPoolAllocations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetIpamPoolAllocationsInput{} + } + + output = &GetIpamPoolAllocationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetIpamPoolAllocations API operation for Amazon Elastic Compute Cloud. +// +// Get a list of all the CIDR allocations in an IPAM pool. +// +// 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 GetIpamPoolAllocations for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamPoolAllocations +func (c *EC2) GetIpamPoolAllocations(input *GetIpamPoolAllocationsInput) (*GetIpamPoolAllocationsOutput, error) { + req, out := c.GetIpamPoolAllocationsRequest(input) + return out, req.Send() +} + +// GetIpamPoolAllocationsWithContext is the same as GetIpamPoolAllocations with the addition of +// the ability to pass a context and additional request options. +// +// See GetIpamPoolAllocations 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) GetIpamPoolAllocationsWithContext(ctx aws.Context, input *GetIpamPoolAllocationsInput, opts ...request.Option) (*GetIpamPoolAllocationsOutput, error) { + req, out := c.GetIpamPoolAllocationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetIpamPoolAllocationsPages iterates over the pages of a GetIpamPoolAllocations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetIpamPoolAllocations 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 GetIpamPoolAllocations operation. +// pageNum := 0 +// err := client.GetIpamPoolAllocationsPages(params, +// func(page *ec2.GetIpamPoolAllocationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) GetIpamPoolAllocationsPages(input *GetIpamPoolAllocationsInput, fn func(*GetIpamPoolAllocationsOutput, bool) bool) error { + return c.GetIpamPoolAllocationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetIpamPoolAllocationsPagesWithContext same as GetIpamPoolAllocationsPages 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) GetIpamPoolAllocationsPagesWithContext(ctx aws.Context, input *GetIpamPoolAllocationsInput, fn func(*GetIpamPoolAllocationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetIpamPoolAllocationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetIpamPoolAllocationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetIpamPoolAllocationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetIpamPoolCidrs = "GetIpamPoolCidrs" + +// GetIpamPoolCidrsRequest generates a "aws/request.Request" representing the +// client's request for the GetIpamPoolCidrs 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 GetIpamPoolCidrs for more information on using the GetIpamPoolCidrs +// 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 GetIpamPoolCidrsRequest method. +// req, resp := client.GetIpamPoolCidrsRequest(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/GetIpamPoolCidrs +func (c *EC2) GetIpamPoolCidrsRequest(input *GetIpamPoolCidrsInput) (req *request.Request, output *GetIpamPoolCidrsOutput) { + op := &request.Operation{ + Name: opGetIpamPoolCidrs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetIpamPoolCidrsInput{} + } + + output = &GetIpamPoolCidrsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetIpamPoolCidrs API operation for Amazon Elastic Compute Cloud. +// +// Get the CIDRs provisioned to an IPAM pool. +// +// 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 GetIpamPoolCidrs for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamPoolCidrs +func (c *EC2) GetIpamPoolCidrs(input *GetIpamPoolCidrsInput) (*GetIpamPoolCidrsOutput, error) { + req, out := c.GetIpamPoolCidrsRequest(input) + return out, req.Send() +} + +// GetIpamPoolCidrsWithContext is the same as GetIpamPoolCidrs with the addition of +// the ability to pass a context and additional request options. +// +// See GetIpamPoolCidrs 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) GetIpamPoolCidrsWithContext(ctx aws.Context, input *GetIpamPoolCidrsInput, opts ...request.Option) (*GetIpamPoolCidrsOutput, error) { + req, out := c.GetIpamPoolCidrsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetIpamPoolCidrsPages iterates over the pages of a GetIpamPoolCidrs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetIpamPoolCidrs 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 GetIpamPoolCidrs operation. +// pageNum := 0 +// err := client.GetIpamPoolCidrsPages(params, +// func(page *ec2.GetIpamPoolCidrsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) GetIpamPoolCidrsPages(input *GetIpamPoolCidrsInput, fn func(*GetIpamPoolCidrsOutput, bool) bool) error { + return c.GetIpamPoolCidrsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetIpamPoolCidrsPagesWithContext same as GetIpamPoolCidrsPages 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) GetIpamPoolCidrsPagesWithContext(ctx aws.Context, input *GetIpamPoolCidrsInput, fn func(*GetIpamPoolCidrsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetIpamPoolCidrsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetIpamPoolCidrsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetIpamPoolCidrsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetIpamResourceCidrs = "GetIpamResourceCidrs" + +// GetIpamResourceCidrsRequest generates a "aws/request.Request" representing the +// client's request for the GetIpamResourceCidrs 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 GetIpamResourceCidrs for more information on using the GetIpamResourceCidrs +// 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 GetIpamResourceCidrsRequest method. +// req, resp := client.GetIpamResourceCidrsRequest(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/GetIpamResourceCidrs +func (c *EC2) GetIpamResourceCidrsRequest(input *GetIpamResourceCidrsInput) (req *request.Request, output *GetIpamResourceCidrsOutput) { + op := &request.Operation{ + Name: opGetIpamResourceCidrs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetIpamResourceCidrsInput{} + } + + output = &GetIpamResourceCidrsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetIpamResourceCidrs API operation for Amazon Elastic Compute Cloud. +// +// Get information about the resources in a scope. +// +// 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 GetIpamResourceCidrs for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamResourceCidrs +func (c *EC2) GetIpamResourceCidrs(input *GetIpamResourceCidrsInput) (*GetIpamResourceCidrsOutput, error) { + req, out := c.GetIpamResourceCidrsRequest(input) + return out, req.Send() +} + +// GetIpamResourceCidrsWithContext is the same as GetIpamResourceCidrs with the addition of +// the ability to pass a context and additional request options. +// +// See GetIpamResourceCidrs 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) GetIpamResourceCidrsWithContext(ctx aws.Context, input *GetIpamResourceCidrsInput, opts ...request.Option) (*GetIpamResourceCidrsOutput, error) { + req, out := c.GetIpamResourceCidrsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetIpamResourceCidrsPages iterates over the pages of a GetIpamResourceCidrs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetIpamResourceCidrs 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 GetIpamResourceCidrs operation. +// pageNum := 0 +// err := client.GetIpamResourceCidrsPages(params, +// func(page *ec2.GetIpamResourceCidrsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) GetIpamResourceCidrsPages(input *GetIpamResourceCidrsInput, fn func(*GetIpamResourceCidrsOutput, bool) bool) error { + return c.GetIpamResourceCidrsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetIpamResourceCidrsPagesWithContext same as GetIpamResourceCidrsPages 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) GetIpamResourceCidrsPagesWithContext(ctx aws.Context, input *GetIpamResourceCidrsInput, fn func(*GetIpamResourceCidrsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetIpamResourceCidrsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetIpamResourceCidrsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetIpamResourceCidrsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetLaunchTemplateData = "GetLaunchTemplateData" // GetLaunchTemplateDataRequest generates a "aws/request.Request" representing the @@ -33587,6 +36447,154 @@ func (c *EC2) GetManagedPrefixListEntriesPagesWithContext(ctx aws.Context, input return p.Err() } +const opGetNetworkInsightsAccessScopeAnalysisFindings = "GetNetworkInsightsAccessScopeAnalysisFindings" + +// GetNetworkInsightsAccessScopeAnalysisFindingsRequest generates a "aws/request.Request" representing the +// client's request for the GetNetworkInsightsAccessScopeAnalysisFindings 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 GetNetworkInsightsAccessScopeAnalysisFindings for more information on using the GetNetworkInsightsAccessScopeAnalysisFindings +// 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 GetNetworkInsightsAccessScopeAnalysisFindingsRequest method. +// req, resp := client.GetNetworkInsightsAccessScopeAnalysisFindingsRequest(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/GetNetworkInsightsAccessScopeAnalysisFindings +func (c *EC2) GetNetworkInsightsAccessScopeAnalysisFindingsRequest(input *GetNetworkInsightsAccessScopeAnalysisFindingsInput) (req *request.Request, output *GetNetworkInsightsAccessScopeAnalysisFindingsOutput) { + op := &request.Operation{ + Name: opGetNetworkInsightsAccessScopeAnalysisFindings, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetNetworkInsightsAccessScopeAnalysisFindingsInput{} + } + + output = &GetNetworkInsightsAccessScopeAnalysisFindingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetNetworkInsightsAccessScopeAnalysisFindings API operation for Amazon Elastic Compute Cloud. +// +// Gets the findings for the specified Network Access Scope analysis. +// +// 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 GetNetworkInsightsAccessScopeAnalysisFindings for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetNetworkInsightsAccessScopeAnalysisFindings +func (c *EC2) GetNetworkInsightsAccessScopeAnalysisFindings(input *GetNetworkInsightsAccessScopeAnalysisFindingsInput) (*GetNetworkInsightsAccessScopeAnalysisFindingsOutput, error) { + req, out := c.GetNetworkInsightsAccessScopeAnalysisFindingsRequest(input) + return out, req.Send() +} + +// GetNetworkInsightsAccessScopeAnalysisFindingsWithContext is the same as GetNetworkInsightsAccessScopeAnalysisFindings with the addition of +// the ability to pass a context and additional request options. +// +// See GetNetworkInsightsAccessScopeAnalysisFindings 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) GetNetworkInsightsAccessScopeAnalysisFindingsWithContext(ctx aws.Context, input *GetNetworkInsightsAccessScopeAnalysisFindingsInput, opts ...request.Option) (*GetNetworkInsightsAccessScopeAnalysisFindingsOutput, error) { + req, out := c.GetNetworkInsightsAccessScopeAnalysisFindingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetNetworkInsightsAccessScopeContent = "GetNetworkInsightsAccessScopeContent" + +// GetNetworkInsightsAccessScopeContentRequest generates a "aws/request.Request" representing the +// client's request for the GetNetworkInsightsAccessScopeContent 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 GetNetworkInsightsAccessScopeContent for more information on using the GetNetworkInsightsAccessScopeContent +// 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 GetNetworkInsightsAccessScopeContentRequest method. +// req, resp := client.GetNetworkInsightsAccessScopeContentRequest(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/GetNetworkInsightsAccessScopeContent +func (c *EC2) GetNetworkInsightsAccessScopeContentRequest(input *GetNetworkInsightsAccessScopeContentInput) (req *request.Request, output *GetNetworkInsightsAccessScopeContentOutput) { + op := &request.Operation{ + Name: opGetNetworkInsightsAccessScopeContent, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetNetworkInsightsAccessScopeContentInput{} + } + + output = &GetNetworkInsightsAccessScopeContentOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetNetworkInsightsAccessScopeContent API operation for Amazon Elastic Compute Cloud. +// +// Gets the content for the specified Network Access Scope. +// +// 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 GetNetworkInsightsAccessScopeContent for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetNetworkInsightsAccessScopeContent +func (c *EC2) GetNetworkInsightsAccessScopeContent(input *GetNetworkInsightsAccessScopeContentInput) (*GetNetworkInsightsAccessScopeContentOutput, error) { + req, out := c.GetNetworkInsightsAccessScopeContentRequest(input) + return out, req.Send() +} + +// GetNetworkInsightsAccessScopeContentWithContext is the same as GetNetworkInsightsAccessScopeContent with the addition of +// the ability to pass a context and additional request options. +// +// See GetNetworkInsightsAccessScopeContent 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) GetNetworkInsightsAccessScopeContentWithContext(ctx aws.Context, input *GetNetworkInsightsAccessScopeContentInput, opts ...request.Option) (*GetNetworkInsightsAccessScopeContentOutput, error) { + req, out := c.GetNetworkInsightsAccessScopeContentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetPasswordData = "GetPasswordData" // GetPasswordDataRequest generates a "aws/request.Request" representing the @@ -35412,6 +38420,138 @@ func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, return out, req.Send() } +const opListSnapshotsInRecycleBin = "ListSnapshotsInRecycleBin" + +// ListSnapshotsInRecycleBinRequest generates a "aws/request.Request" representing the +// client's request for the ListSnapshotsInRecycleBin 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 ListSnapshotsInRecycleBin for more information on using the ListSnapshotsInRecycleBin +// 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 ListSnapshotsInRecycleBinRequest method. +// req, resp := client.ListSnapshotsInRecycleBinRequest(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/ListSnapshotsInRecycleBin +func (c *EC2) ListSnapshotsInRecycleBinRequest(input *ListSnapshotsInRecycleBinInput) (req *request.Request, output *ListSnapshotsInRecycleBinOutput) { + op := &request.Operation{ + Name: opListSnapshotsInRecycleBin, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSnapshotsInRecycleBinInput{} + } + + output = &ListSnapshotsInRecycleBinOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSnapshotsInRecycleBin API operation for Amazon Elastic Compute Cloud. +// +// Lists one or more snapshots that are currently in the Recycle Bin. +// +// 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 ListSnapshotsInRecycleBin for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ListSnapshotsInRecycleBin +func (c *EC2) ListSnapshotsInRecycleBin(input *ListSnapshotsInRecycleBinInput) (*ListSnapshotsInRecycleBinOutput, error) { + req, out := c.ListSnapshotsInRecycleBinRequest(input) + return out, req.Send() +} + +// ListSnapshotsInRecycleBinWithContext is the same as ListSnapshotsInRecycleBin with the addition of +// the ability to pass a context and additional request options. +// +// See ListSnapshotsInRecycleBin 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) ListSnapshotsInRecycleBinWithContext(ctx aws.Context, input *ListSnapshotsInRecycleBinInput, opts ...request.Option) (*ListSnapshotsInRecycleBinOutput, error) { + req, out := c.ListSnapshotsInRecycleBinRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSnapshotsInRecycleBinPages iterates over the pages of a ListSnapshotsInRecycleBin operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSnapshotsInRecycleBin 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 ListSnapshotsInRecycleBin operation. +// pageNum := 0 +// err := client.ListSnapshotsInRecycleBinPages(params, +// func(page *ec2.ListSnapshotsInRecycleBinOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) ListSnapshotsInRecycleBinPages(input *ListSnapshotsInRecycleBinInput, fn func(*ListSnapshotsInRecycleBinOutput, bool) bool) error { + return c.ListSnapshotsInRecycleBinPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSnapshotsInRecycleBinPagesWithContext same as ListSnapshotsInRecycleBinPages 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) ListSnapshotsInRecycleBinPagesWithContext(ctx aws.Context, input *ListSnapshotsInRecycleBinInput, fn func(*ListSnapshotsInRecycleBinOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSnapshotsInRecycleBinInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSnapshotsInRecycleBinRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSnapshotsInRecycleBinOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opModifyAddressAttribute = "ModifyAddressAttribute" // ModifyAddressAttributeRequest generates a "aws/request.Request" representing the @@ -36570,7 +39710,7 @@ func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput // we recommend that you use the ModifyNetworkInterfaceAttribute action. // // To modify some attributes, the instance must be stopped. For more information, -// see Modifying attributes of a stopped instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html) +// see Modify a stopped instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html) // in the Amazon EC2 User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -37091,6 +40231,313 @@ func (c *EC2) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyI return out, req.Send() } +const opModifyIpam = "ModifyIpam" + +// ModifyIpamRequest generates a "aws/request.Request" representing the +// client's request for the ModifyIpam 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 ModifyIpam for more information on using the ModifyIpam +// 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 ModifyIpamRequest method. +// req, resp := client.ModifyIpamRequest(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/ModifyIpam +func (c *EC2) ModifyIpamRequest(input *ModifyIpamInput) (req *request.Request, output *ModifyIpamOutput) { + op := &request.Operation{ + Name: opModifyIpam, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyIpamInput{} + } + + output = &ModifyIpamOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyIpam API operation for Amazon Elastic Compute Cloud. +// +// Modify the configurations of 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 ModifyIpam for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIpam +func (c *EC2) ModifyIpam(input *ModifyIpamInput) (*ModifyIpamOutput, error) { + req, out := c.ModifyIpamRequest(input) + return out, req.Send() +} + +// ModifyIpamWithContext is the same as ModifyIpam with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyIpam 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) ModifyIpamWithContext(ctx aws.Context, input *ModifyIpamInput, opts ...request.Option) (*ModifyIpamOutput, error) { + req, out := c.ModifyIpamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opModifyIpamPool = "ModifyIpamPool" + +// ModifyIpamPoolRequest generates a "aws/request.Request" representing the +// client's request for the ModifyIpamPool 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 ModifyIpamPool for more information on using the ModifyIpamPool +// 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 ModifyIpamPoolRequest method. +// req, resp := client.ModifyIpamPoolRequest(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/ModifyIpamPool +func (c *EC2) ModifyIpamPoolRequest(input *ModifyIpamPoolInput) (req *request.Request, output *ModifyIpamPoolOutput) { + op := &request.Operation{ + Name: opModifyIpamPool, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyIpamPoolInput{} + } + + output = &ModifyIpamPoolOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyIpamPool API operation for Amazon Elastic Compute Cloud. +// +// Modify the configurations of an IPAM pool. +// +// For more information, see Modify a pool (/vpc/latest/ipam/mod-pool-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyIpamPool for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIpamPool +func (c *EC2) ModifyIpamPool(input *ModifyIpamPoolInput) (*ModifyIpamPoolOutput, error) { + req, out := c.ModifyIpamPoolRequest(input) + return out, req.Send() +} + +// ModifyIpamPoolWithContext is the same as ModifyIpamPool with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyIpamPool 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) ModifyIpamPoolWithContext(ctx aws.Context, input *ModifyIpamPoolInput, opts ...request.Option) (*ModifyIpamPoolOutput, error) { + req, out := c.ModifyIpamPoolRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opModifyIpamResourceCidr = "ModifyIpamResourceCidr" + +// ModifyIpamResourceCidrRequest generates a "aws/request.Request" representing the +// client's request for the ModifyIpamResourceCidr 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 ModifyIpamResourceCidr for more information on using the ModifyIpamResourceCidr +// 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 ModifyIpamResourceCidrRequest method. +// req, resp := client.ModifyIpamResourceCidrRequest(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/ModifyIpamResourceCidr +func (c *EC2) ModifyIpamResourceCidrRequest(input *ModifyIpamResourceCidrInput) (req *request.Request, output *ModifyIpamResourceCidrOutput) { + op := &request.Operation{ + Name: opModifyIpamResourceCidr, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyIpamResourceCidrInput{} + } + + output = &ModifyIpamResourceCidrOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyIpamResourceCidr API operation for Amazon Elastic Compute Cloud. +// +// Modify a resource CIDR. You can use this action to transfer resource CIDRs +// between scopes and ignore resource CIDRs that you do not want to manage. +// If set to false, the resource will not be tracked for overlap, it cannot +// be auto-imported into a pool, and it will be removed from any pool it has +// an allocation in. +// +// For more information, see Move resource CIDRs between scopes (/vpc/latest/ipam/move-resource-ipam.html) +// and Change the monitoring state of resource CIDRs (/vpc/latest/ipam/change-monitoring-state-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyIpamResourceCidr for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIpamResourceCidr +func (c *EC2) ModifyIpamResourceCidr(input *ModifyIpamResourceCidrInput) (*ModifyIpamResourceCidrOutput, error) { + req, out := c.ModifyIpamResourceCidrRequest(input) + return out, req.Send() +} + +// ModifyIpamResourceCidrWithContext is the same as ModifyIpamResourceCidr with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyIpamResourceCidr 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) ModifyIpamResourceCidrWithContext(ctx aws.Context, input *ModifyIpamResourceCidrInput, opts ...request.Option) (*ModifyIpamResourceCidrOutput, error) { + req, out := c.ModifyIpamResourceCidrRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opModifyIpamScope = "ModifyIpamScope" + +// ModifyIpamScopeRequest generates a "aws/request.Request" representing the +// client's request for the ModifyIpamScope 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 ModifyIpamScope for more information on using the ModifyIpamScope +// 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 ModifyIpamScopeRequest method. +// req, resp := client.ModifyIpamScopeRequest(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/ModifyIpamScope +func (c *EC2) ModifyIpamScopeRequest(input *ModifyIpamScopeInput) (req *request.Request, output *ModifyIpamScopeOutput) { + op := &request.Operation{ + Name: opModifyIpamScope, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyIpamScopeInput{} + } + + output = &ModifyIpamScopeOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyIpamScope API operation for Amazon Elastic Compute Cloud. +// +// Modify an IPAM scope. +// +// 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 ModifyIpamScope for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIpamScope +func (c *EC2) ModifyIpamScope(input *ModifyIpamScopeInput) (*ModifyIpamScopeOutput, error) { + req, out := c.ModifyIpamScopeRequest(input) + return out, req.Send() +} + +// ModifyIpamScopeWithContext is the same as ModifyIpamScope with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyIpamScope 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) ModifyIpamScopeWithContext(ctx aws.Context, input *ModifyIpamScopeInput, opts ...request.Option) (*ModifyIpamScopeOutput, error) { + req, out := c.ModifyIpamScopeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyLaunchTemplate = "ModifyLaunchTemplate" // ModifyLaunchTemplateRequest generates a "aws/request.Request" representing the @@ -37324,6 +40771,80 @@ func (c *EC2) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input return out, req.Send() } +const opModifyPrivateDnsNameOptions = "ModifyPrivateDnsNameOptions" + +// ModifyPrivateDnsNameOptionsRequest generates a "aws/request.Request" representing the +// client's request for the ModifyPrivateDnsNameOptions 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 ModifyPrivateDnsNameOptions for more information on using the ModifyPrivateDnsNameOptions +// 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 ModifyPrivateDnsNameOptionsRequest method. +// req, resp := client.ModifyPrivateDnsNameOptionsRequest(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/ModifyPrivateDnsNameOptions +func (c *EC2) ModifyPrivateDnsNameOptionsRequest(input *ModifyPrivateDnsNameOptionsInput) (req *request.Request, output *ModifyPrivateDnsNameOptionsOutput) { + op := &request.Operation{ + Name: opModifyPrivateDnsNameOptions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyPrivateDnsNameOptionsInput{} + } + + output = &ModifyPrivateDnsNameOptionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyPrivateDnsNameOptions API operation for Amazon Elastic Compute Cloud. +// +// Modifies the options for instance hostnames for the specified instance. +// +// 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 ModifyPrivateDnsNameOptions for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyPrivateDnsNameOptions +func (c *EC2) ModifyPrivateDnsNameOptions(input *ModifyPrivateDnsNameOptionsInput) (*ModifyPrivateDnsNameOptionsOutput, error) { + req, out := c.ModifyPrivateDnsNameOptionsRequest(input) + return out, req.Send() +} + +// ModifyPrivateDnsNameOptionsWithContext is the same as ModifyPrivateDnsNameOptions with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyPrivateDnsNameOptions 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) ModifyPrivateDnsNameOptionsWithContext(ctx aws.Context, input *ModifyPrivateDnsNameOptionsInput, opts ...request.Option) (*ModifyPrivateDnsNameOptionsOutput, error) { + req, out := c.ModifyPrivateDnsNameOptionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyReservedInstances = "ModifyReservedInstances" // ModifyReservedInstancesRequest generates a "aws/request.Request" representing the @@ -37566,6 +41087,85 @@ func (c *EC2) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifyS return out, req.Send() } +const opModifySnapshotTier = "ModifySnapshotTier" + +// ModifySnapshotTierRequest generates a "aws/request.Request" representing the +// client's request for the ModifySnapshotTier 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 ModifySnapshotTier for more information on using the ModifySnapshotTier +// 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 ModifySnapshotTierRequest method. +// req, resp := client.ModifySnapshotTierRequest(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/ModifySnapshotTier +func (c *EC2) ModifySnapshotTierRequest(input *ModifySnapshotTierInput) (req *request.Request, output *ModifySnapshotTierOutput) { + op := &request.Operation{ + Name: opModifySnapshotTier, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifySnapshotTierInput{} + } + + output = &ModifySnapshotTierOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifySnapshotTier API operation for Amazon Elastic Compute Cloud. +// +// Archives an Amazon EBS snapshot. When you archive a snapshot, it is converted +// to a full snapshot that includes all of the blocks of data that were written +// to the volume at the time the snapshot was created, and moved from the standard +// tier to the archive tier. For more information, see Archive Amazon EBS snapshots +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-archive.html) +// in the Amazon Elastic Compute Cloud User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifySnapshotTier for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotTier +func (c *EC2) ModifySnapshotTier(input *ModifySnapshotTierInput) (*ModifySnapshotTierOutput, error) { + req, out := c.ModifySnapshotTierRequest(input) + return out, req.Send() +} + +// ModifySnapshotTierWithContext is the same as ModifySnapshotTier with the addition of +// the ability to pass a context and additional request options. +// +// See ModifySnapshotTier 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) ModifySnapshotTierWithContext(ctx aws.Context, input *ModifySnapshotTierInput, opts ...request.Option) (*ModifySnapshotTierOutput, error) { + req, out := c.ModifySnapshotTierRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifySpotFleetRequest = "ModifySpotFleetRequest" // ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the @@ -37716,6 +41316,20 @@ func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (r // // Modifies a subnet attribute. You can only modify one attribute at a time. // +// Use this action to modify subnets on Amazon Web Services Outposts. +// +// * To modify a subnet on an Outpost rack, set both MapCustomerOwnedIpOnLaunch +// and CustomerOwnedIpv4Pool. These two parameters act as a single attribute. +// +// * To modify a subnet on an Outpost server, set either EnableLniAtDeviceIndex +// or DisableLniAtDeviceIndex. +// +// For more information about Amazon Web Services Outposts, see the following: +// +// * Outpost servers (https://docs.aws.amazon.com/outposts/latest/userguide/how-servers-work.html) +// +// * Outpost racks (https://docs.aws.amazon.com/outposts/latest/userguide/how-racks-work.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 // the error. @@ -38694,6 +42308,80 @@ func (c *EC2) ModifyVpcEndpointServiceConfigurationWithContext(ctx aws.Context, return out, req.Send() } +const opModifyVpcEndpointServicePayerResponsibility = "ModifyVpcEndpointServicePayerResponsibility" + +// ModifyVpcEndpointServicePayerResponsibilityRequest generates a "aws/request.Request" representing the +// client's request for the ModifyVpcEndpointServicePayerResponsibility 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 ModifyVpcEndpointServicePayerResponsibility for more information on using the ModifyVpcEndpointServicePayerResponsibility +// 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 ModifyVpcEndpointServicePayerResponsibilityRequest method. +// req, resp := client.ModifyVpcEndpointServicePayerResponsibilityRequest(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/ModifyVpcEndpointServicePayerResponsibility +func (c *EC2) ModifyVpcEndpointServicePayerResponsibilityRequest(input *ModifyVpcEndpointServicePayerResponsibilityInput) (req *request.Request, output *ModifyVpcEndpointServicePayerResponsibilityOutput) { + op := &request.Operation{ + Name: opModifyVpcEndpointServicePayerResponsibility, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyVpcEndpointServicePayerResponsibilityInput{} + } + + output = &ModifyVpcEndpointServicePayerResponsibilityOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyVpcEndpointServicePayerResponsibility API operation for Amazon Elastic Compute Cloud. +// +// Modifies the payer responsibility for your VPC endpoint service. +// +// 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 ModifyVpcEndpointServicePayerResponsibility for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePayerResponsibility +func (c *EC2) ModifyVpcEndpointServicePayerResponsibility(input *ModifyVpcEndpointServicePayerResponsibilityInput) (*ModifyVpcEndpointServicePayerResponsibilityOutput, error) { + req, out := c.ModifyVpcEndpointServicePayerResponsibilityRequest(input) + return out, req.Send() +} + +// ModifyVpcEndpointServicePayerResponsibilityWithContext is the same as ModifyVpcEndpointServicePayerResponsibility with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyVpcEndpointServicePayerResponsibility 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) ModifyVpcEndpointServicePayerResponsibilityWithContext(ctx aws.Context, input *ModifyVpcEndpointServicePayerResponsibilityInput, opts ...request.Option) (*ModifyVpcEndpointServicePayerResponsibilityOutput, error) { + req, out := c.ModifyVpcEndpointServicePayerResponsibilityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyVpcEndpointServicePermissions = "ModifyVpcEndpointServicePermissions" // ModifyVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the @@ -39347,7 +43035,7 @@ func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *reques // MonitorInstances API operation for Amazon Elastic Compute Cloud. // // Enables detailed monitoring for a running instance. Otherwise, basic monitoring -// is enabled. For more information, see Monitoring your instances and volumes +// is enabled. For more information, see Monitor your instances using CloudWatch // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) // in the Amazon EC2 User Guide. // @@ -39461,6 +43149,80 @@ func (c *EC2) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToV return out, req.Send() } +const opMoveByoipCidrToIpam = "MoveByoipCidrToIpam" + +// MoveByoipCidrToIpamRequest generates a "aws/request.Request" representing the +// client's request for the MoveByoipCidrToIpam 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 MoveByoipCidrToIpam for more information on using the MoveByoipCidrToIpam +// 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 MoveByoipCidrToIpamRequest method. +// req, resp := client.MoveByoipCidrToIpamRequest(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/MoveByoipCidrToIpam +func (c *EC2) MoveByoipCidrToIpamRequest(input *MoveByoipCidrToIpamInput) (req *request.Request, output *MoveByoipCidrToIpamOutput) { + op := &request.Operation{ + Name: opMoveByoipCidrToIpam, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &MoveByoipCidrToIpamInput{} + } + + output = &MoveByoipCidrToIpamOutput{} + req = c.newRequest(op, input, output) + return +} + +// MoveByoipCidrToIpam API operation for Amazon Elastic Compute Cloud. +// +// Move an BYOIP IPv4 CIDR to IPAM from a public IPv4 pool. +// +// 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 MoveByoipCidrToIpam for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveByoipCidrToIpam +func (c *EC2) MoveByoipCidrToIpam(input *MoveByoipCidrToIpamInput) (*MoveByoipCidrToIpamOutput, error) { + req, out := c.MoveByoipCidrToIpamRequest(input) + return out, req.Send() +} + +// MoveByoipCidrToIpamWithContext is the same as MoveByoipCidrToIpam with the addition of +// the ability to pass a context and additional request options. +// +// See MoveByoipCidrToIpam 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) MoveByoipCidrToIpamWithContext(ctx aws.Context, input *MoveByoipCidrToIpamInput, opts ...request.Option) (*MoveByoipCidrToIpamOutput, error) { + req, out := c.MoveByoipCidrToIpamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opProvisionByoipCidr = "ProvisionByoipCidr" // ProvisionByoipCidrRequest generates a "aws/request.Request" representing the @@ -39552,6 +43314,162 @@ func (c *EC2) ProvisionByoipCidrWithContext(ctx aws.Context, input *ProvisionByo return out, req.Send() } +const opProvisionIpamPoolCidr = "ProvisionIpamPoolCidr" + +// ProvisionIpamPoolCidrRequest generates a "aws/request.Request" representing the +// client's request for the ProvisionIpamPoolCidr 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 ProvisionIpamPoolCidr for more information on using the ProvisionIpamPoolCidr +// 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 ProvisionIpamPoolCidrRequest method. +// req, resp := client.ProvisionIpamPoolCidrRequest(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/ProvisionIpamPoolCidr +func (c *EC2) ProvisionIpamPoolCidrRequest(input *ProvisionIpamPoolCidrInput) (req *request.Request, output *ProvisionIpamPoolCidrOutput) { + op := &request.Operation{ + Name: opProvisionIpamPoolCidr, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ProvisionIpamPoolCidrInput{} + } + + output = &ProvisionIpamPoolCidrOutput{} + req = c.newRequest(op, input, output) + return +} + +// ProvisionIpamPoolCidr API operation for Amazon Elastic Compute Cloud. +// +// Provision a CIDR to an IPAM pool. You can use thsi action to provision new +// CIDRs to a top-level pool or to transfer a CIDR from a top-level pool to +// a pool within it. +// +// For more information, see Provision CIDRs to pools (/vpc/latest/ipam/prov-cidr-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ProvisionIpamPoolCidr for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionIpamPoolCidr +func (c *EC2) ProvisionIpamPoolCidr(input *ProvisionIpamPoolCidrInput) (*ProvisionIpamPoolCidrOutput, error) { + req, out := c.ProvisionIpamPoolCidrRequest(input) + return out, req.Send() +} + +// ProvisionIpamPoolCidrWithContext is the same as ProvisionIpamPoolCidr with the addition of +// the ability to pass a context and additional request options. +// +// See ProvisionIpamPoolCidr 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) ProvisionIpamPoolCidrWithContext(ctx aws.Context, input *ProvisionIpamPoolCidrInput, opts ...request.Option) (*ProvisionIpamPoolCidrOutput, error) { + req, out := c.ProvisionIpamPoolCidrRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opProvisionPublicIpv4PoolCidr = "ProvisionPublicIpv4PoolCidr" + +// ProvisionPublicIpv4PoolCidrRequest generates a "aws/request.Request" representing the +// client's request for the ProvisionPublicIpv4PoolCidr 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 ProvisionPublicIpv4PoolCidr for more information on using the ProvisionPublicIpv4PoolCidr +// 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 ProvisionPublicIpv4PoolCidrRequest method. +// req, resp := client.ProvisionPublicIpv4PoolCidrRequest(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/ProvisionPublicIpv4PoolCidr +func (c *EC2) ProvisionPublicIpv4PoolCidrRequest(input *ProvisionPublicIpv4PoolCidrInput) (req *request.Request, output *ProvisionPublicIpv4PoolCidrOutput) { + op := &request.Operation{ + Name: opProvisionPublicIpv4PoolCidr, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ProvisionPublicIpv4PoolCidrInput{} + } + + output = &ProvisionPublicIpv4PoolCidrOutput{} + req = c.newRequest(op, input, output) + return +} + +// ProvisionPublicIpv4PoolCidr API operation for Amazon Elastic Compute Cloud. +// +// Provision a CIDR to a public IPv4 pool. +// +// For more information about IPAM, see What is IPAM? (/vpc/latest/ipam/what-is-it-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ProvisionPublicIpv4PoolCidr for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionPublicIpv4PoolCidr +func (c *EC2) ProvisionPublicIpv4PoolCidr(input *ProvisionPublicIpv4PoolCidrInput) (*ProvisionPublicIpv4PoolCidrOutput, error) { + req, out := c.ProvisionPublicIpv4PoolCidrRequest(input) + return out, req.Send() +} + +// ProvisionPublicIpv4PoolCidrWithContext is the same as ProvisionPublicIpv4PoolCidr with the addition of +// the ability to pass a context and additional request options. +// +// See ProvisionPublicIpv4PoolCidr 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) ProvisionPublicIpv4PoolCidrWithContext(ctx aws.Context, input *ProvisionPublicIpv4PoolCidrInput, opts ...request.Option) (*ProvisionPublicIpv4PoolCidrOutput, error) { + req, out := c.ProvisionPublicIpv4PoolCidrRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPurchaseHostReservation = "PurchaseHostReservation" // PurchaseHostReservationRequest generates a "aws/request.Request" representing the @@ -39851,8 +43769,8 @@ func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request. // If an instance does not cleanly shut down within a few minutes, Amazon EC2 // performs a hard reboot. // -// For more information about troubleshooting, see Getting console output and -// rebooting instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html) +// For more information about troubleshooting, see Troubleshoot an unreachable +// instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html) // in the Amazon EC2 User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -40804,6 +44722,85 @@ func (c *EC2) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, return out, req.Send() } +const opReleaseIpamPoolAllocation = "ReleaseIpamPoolAllocation" + +// ReleaseIpamPoolAllocationRequest generates a "aws/request.Request" representing the +// client's request for the ReleaseIpamPoolAllocation 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 ReleaseIpamPoolAllocation for more information on using the ReleaseIpamPoolAllocation +// 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 ReleaseIpamPoolAllocationRequest method. +// req, resp := client.ReleaseIpamPoolAllocationRequest(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/ReleaseIpamPoolAllocation +func (c *EC2) ReleaseIpamPoolAllocationRequest(input *ReleaseIpamPoolAllocationInput) (req *request.Request, output *ReleaseIpamPoolAllocationOutput) { + op := &request.Operation{ + Name: opReleaseIpamPoolAllocation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ReleaseIpamPoolAllocationInput{} + } + + output = &ReleaseIpamPoolAllocationOutput{} + req = c.newRequest(op, input, output) + return +} + +// ReleaseIpamPoolAllocation API operation for Amazon Elastic Compute Cloud. +// +// Release an allocation within an IPAM pool. You can only use this action to +// release manual allocations. To remove an allocation for a resource without +// deleting the resource, set its monitored state to false using ModifyIpamResourceCidr +// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyIpamResourceCidr.html). +// For more information, see Release an allocation (/vpc/latest/ipam/release-pool-alloc-ipam.html) +// in the Amazon VPC IPAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ReleaseIpamPoolAllocation for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseIpamPoolAllocation +func (c *EC2) ReleaseIpamPoolAllocation(input *ReleaseIpamPoolAllocationInput) (*ReleaseIpamPoolAllocationOutput, error) { + req, out := c.ReleaseIpamPoolAllocationRequest(input) + return out, req.Send() +} + +// ReleaseIpamPoolAllocationWithContext is the same as ReleaseIpamPoolAllocation with the addition of +// the ability to pass a context and additional request options. +// +// See ReleaseIpamPoolAllocation 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) ReleaseIpamPoolAllocationWithContext(ctx aws.Context, input *ReleaseIpamPoolAllocationInput, opts ...request.Option) (*ReleaseIpamPoolAllocationOutput, error) { + req, out := c.ReleaseIpamPoolAllocationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation" // ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the @@ -42228,6 +46225,163 @@ func (c *EC2) RestoreManagedPrefixListVersionWithContext(ctx aws.Context, input return out, req.Send() } +const opRestoreSnapshotFromRecycleBin = "RestoreSnapshotFromRecycleBin" + +// RestoreSnapshotFromRecycleBinRequest generates a "aws/request.Request" representing the +// client's request for the RestoreSnapshotFromRecycleBin 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 RestoreSnapshotFromRecycleBin for more information on using the RestoreSnapshotFromRecycleBin +// 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 RestoreSnapshotFromRecycleBinRequest method. +// req, resp := client.RestoreSnapshotFromRecycleBinRequest(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/RestoreSnapshotFromRecycleBin +func (c *EC2) RestoreSnapshotFromRecycleBinRequest(input *RestoreSnapshotFromRecycleBinInput) (req *request.Request, output *RestoreSnapshotFromRecycleBinOutput) { + op := &request.Operation{ + Name: opRestoreSnapshotFromRecycleBin, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RestoreSnapshotFromRecycleBinInput{} + } + + output = &RestoreSnapshotFromRecycleBinOutput{} + req = c.newRequest(op, input, output) + return +} + +// RestoreSnapshotFromRecycleBin API operation for Amazon Elastic Compute Cloud. +// +// Restores a snapshot from the Recycle Bin. For more information, see Restore +// snapshots from the Recycle Bin (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin-working-with-snaps.html#recycle-bin-restore-snaps) +// in the Amazon Elastic Compute Cloud User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RestoreSnapshotFromRecycleBin for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreSnapshotFromRecycleBin +func (c *EC2) RestoreSnapshotFromRecycleBin(input *RestoreSnapshotFromRecycleBinInput) (*RestoreSnapshotFromRecycleBinOutput, error) { + req, out := c.RestoreSnapshotFromRecycleBinRequest(input) + return out, req.Send() +} + +// RestoreSnapshotFromRecycleBinWithContext is the same as RestoreSnapshotFromRecycleBin with the addition of +// the ability to pass a context and additional request options. +// +// See RestoreSnapshotFromRecycleBin 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) RestoreSnapshotFromRecycleBinWithContext(ctx aws.Context, input *RestoreSnapshotFromRecycleBinInput, opts ...request.Option) (*RestoreSnapshotFromRecycleBinOutput, error) { + req, out := c.RestoreSnapshotFromRecycleBinRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRestoreSnapshotTier = "RestoreSnapshotTier" + +// RestoreSnapshotTierRequest generates a "aws/request.Request" representing the +// client's request for the RestoreSnapshotTier 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 RestoreSnapshotTier for more information on using the RestoreSnapshotTier +// 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 RestoreSnapshotTierRequest method. +// req, resp := client.RestoreSnapshotTierRequest(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/RestoreSnapshotTier +func (c *EC2) RestoreSnapshotTierRequest(input *RestoreSnapshotTierInput) (req *request.Request, output *RestoreSnapshotTierOutput) { + op := &request.Operation{ + Name: opRestoreSnapshotTier, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RestoreSnapshotTierInput{} + } + + output = &RestoreSnapshotTierOutput{} + req = c.newRequest(op, input, output) + return +} + +// RestoreSnapshotTier API operation for Amazon Elastic Compute Cloud. +// +// Restores an archived Amazon EBS snapshot for use temporarily or permanently, +// or modifies the restore period or restore type for a snapshot that was previously +// temporarily restored. +// +// For more information see Restore an archived snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-snapshot-archiving.html#restore-archived-snapshot) +// and modify the restore period or restore type for a temporarily restored +// snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-snapshot-archiving.html#modify-temp-restore-period) +// in the Amazon Elastic Compute Cloud User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RestoreSnapshotTier for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreSnapshotTier +func (c *EC2) RestoreSnapshotTier(input *RestoreSnapshotTierInput) (*RestoreSnapshotTierOutput, error) { + req, out := c.RestoreSnapshotTierRequest(input) + return out, req.Send() +} + +// RestoreSnapshotTierWithContext is the same as RestoreSnapshotTier with the addition of +// the ability to pass a context and additional request options. +// +// See RestoreSnapshotTier 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) RestoreSnapshotTierWithContext(ctx aws.Context, input *RestoreSnapshotTierInput, opts ...request.Option) (*RestoreSnapshotTierOutput, error) { + req, out := c.RestoreSnapshotTierRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRevokeClientVpnIngress = "RevokeClientVpnIngress" // RevokeClientVpnIngressRequest generates a "aws/request.Request" representing the @@ -43098,8 +47252,8 @@ func (c *EC2) SendDiagnosticInterruptRequest(input *SendDiagnosticInterruptInput // // For more information about configuring your operating system to generate // a crash dump when a kernel panic or stop error occurs, see Send a diagnostic -// interrupt (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/diagnostic-interrupt.html) -// (Linux instances) or Send a Diagnostic Interrupt (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/diagnostic-interrupt.html) +// interrupt (for advanced users) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/diagnostic-interrupt.html) +// (Linux instances) or Send a diagnostic interrupt (for advanced users) (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/diagnostic-interrupt.html) // (Windows instances). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -43196,7 +47350,7 @@ func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Re // not supported on Dedicated Hosts. Before you start the instance, either change // its CPU credit option to standard, or change its tenancy to default or dedicated. // -// For more information, see Stopping instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html) +// For more information, see Stop and start your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html) // in the Amazon EC2 User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -43227,6 +47381,80 @@ func (c *EC2) StartInstancesWithContext(ctx aws.Context, input *StartInstancesIn return out, req.Send() } +const opStartNetworkInsightsAccessScopeAnalysis = "StartNetworkInsightsAccessScopeAnalysis" + +// StartNetworkInsightsAccessScopeAnalysisRequest generates a "aws/request.Request" representing the +// client's request for the StartNetworkInsightsAccessScopeAnalysis 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 StartNetworkInsightsAccessScopeAnalysis for more information on using the StartNetworkInsightsAccessScopeAnalysis +// 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 StartNetworkInsightsAccessScopeAnalysisRequest method. +// req, resp := client.StartNetworkInsightsAccessScopeAnalysisRequest(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/StartNetworkInsightsAccessScopeAnalysis +func (c *EC2) StartNetworkInsightsAccessScopeAnalysisRequest(input *StartNetworkInsightsAccessScopeAnalysisInput) (req *request.Request, output *StartNetworkInsightsAccessScopeAnalysisOutput) { + op := &request.Operation{ + Name: opStartNetworkInsightsAccessScopeAnalysis, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartNetworkInsightsAccessScopeAnalysisInput{} + } + + output = &StartNetworkInsightsAccessScopeAnalysisOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartNetworkInsightsAccessScopeAnalysis API operation for Amazon Elastic Compute Cloud. +// +// Starts analyzing the specified Network Access Scope. +// +// 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 StartNetworkInsightsAccessScopeAnalysis for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartNetworkInsightsAccessScopeAnalysis +func (c *EC2) StartNetworkInsightsAccessScopeAnalysis(input *StartNetworkInsightsAccessScopeAnalysisInput) (*StartNetworkInsightsAccessScopeAnalysisOutput, error) { + req, out := c.StartNetworkInsightsAccessScopeAnalysisRequest(input) + return out, req.Send() +} + +// StartNetworkInsightsAccessScopeAnalysisWithContext is the same as StartNetworkInsightsAccessScopeAnalysis with the addition of +// the ability to pass a context and additional request options. +// +// See StartNetworkInsightsAccessScopeAnalysis 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) StartNetworkInsightsAccessScopeAnalysisWithContext(ctx aws.Context, input *StartNetworkInsightsAccessScopeAnalysisInput, opts ...request.Option) (*StartNetworkInsightsAccessScopeAnalysisOutput, error) { + req, out := c.StartNetworkInsightsAccessScopeAnalysisRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStartNetworkInsightsAnalysis = "StartNetworkInsightsAnalysis" // StartNetworkInsightsAnalysisRequest generates a "aws/request.Request" representing the @@ -43468,7 +47696,7 @@ func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Requ // When you stop an instance, we attempt to shut it down forcibly after a short // while. If your instance appears stuck in the stopping state after a period // of time, there may be an issue with the underlying host computer. For more -// information, see Troubleshooting stopping your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html) +// information, see Troubleshoot stopping your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html) // in the Amazon EC2 User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -44899,6 +49127,165 @@ func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeering return s } +// Describes a finding for a Network Access Scope. +type AccessScopeAnalysisFinding struct { + _ struct{} `type:"structure"` + + // The finding components. + FindingComponents []*PathComponent `locationName:"findingComponentSet" locationNameList:"item" type:"list"` + + // The ID of the finding. + FindingId *string `locationName:"findingId" type:"string"` + + // The ID of the Network Access Scope analysis. + NetworkInsightsAccessScopeAnalysisId *string `locationName:"networkInsightsAccessScopeAnalysisId" type:"string"` + + // The ID of the Network Access Scope. + NetworkInsightsAccessScopeId *string `locationName:"networkInsightsAccessScopeId" 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 AccessScopeAnalysisFinding) 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 AccessScopeAnalysisFinding) GoString() string { + return s.String() +} + +// SetFindingComponents sets the FindingComponents field's value. +func (s *AccessScopeAnalysisFinding) SetFindingComponents(v []*PathComponent) *AccessScopeAnalysisFinding { + s.FindingComponents = v + return s +} + +// SetFindingId sets the FindingId field's value. +func (s *AccessScopeAnalysisFinding) SetFindingId(v string) *AccessScopeAnalysisFinding { + s.FindingId = &v + return s +} + +// SetNetworkInsightsAccessScopeAnalysisId sets the NetworkInsightsAccessScopeAnalysisId field's value. +func (s *AccessScopeAnalysisFinding) SetNetworkInsightsAccessScopeAnalysisId(v string) *AccessScopeAnalysisFinding { + s.NetworkInsightsAccessScopeAnalysisId = &v + return s +} + +// SetNetworkInsightsAccessScopeId sets the NetworkInsightsAccessScopeId field's value. +func (s *AccessScopeAnalysisFinding) SetNetworkInsightsAccessScopeId(v string) *AccessScopeAnalysisFinding { + s.NetworkInsightsAccessScopeId = &v + return s +} + +// Describes a path. +type AccessScopePath struct { + _ struct{} `type:"structure"` + + // The destination. + Destination *PathStatement `locationName:"destination" type:"structure"` + + // The source. + Source *PathStatement `locationName:"source" type:"structure"` + + // The through resources. + ThroughResources []*ThroughResourcesStatement `locationName:"throughResourceSet" 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 AccessScopePath) 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 AccessScopePath) GoString() string { + return s.String() +} + +// SetDestination sets the Destination field's value. +func (s *AccessScopePath) SetDestination(v *PathStatement) *AccessScopePath { + s.Destination = v + return s +} + +// SetSource sets the Source field's value. +func (s *AccessScopePath) SetSource(v *PathStatement) *AccessScopePath { + s.Source = v + return s +} + +// SetThroughResources sets the ThroughResources field's value. +func (s *AccessScopePath) SetThroughResources(v []*ThroughResourcesStatement) *AccessScopePath { + s.ThroughResources = v + return s +} + +// Describes a path. +type AccessScopePathRequest struct { + _ struct{} `type:"structure"` + + // The destination. + Destination *PathStatementRequest `type:"structure"` + + // The source. + Source *PathStatementRequest `type:"structure"` + + // The through resources. + ThroughResources []*ThroughResourcesStatementRequest `locationName:"ThroughResource" 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 AccessScopePathRequest) 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 AccessScopePathRequest) GoString() string { + return s.String() +} + +// SetDestination sets the Destination field's value. +func (s *AccessScopePathRequest) SetDestination(v *PathStatementRequest) *AccessScopePathRequest { + s.Destination = v + return s +} + +// SetSource sets the Source field's value. +func (s *AccessScopePathRequest) SetSource(v *PathStatementRequest) *AccessScopePathRequest { + s.Source = v + return s +} + +// SetThroughResources sets the ThroughResources field's value. +func (s *AccessScopePathRequest) SetThroughResources(v []*ThroughResourcesStatementRequest) *AccessScopePathRequest { + s.ThroughResources = v + return s +} + // Describes an account attribute. type AccountAttribute struct { _ struct{} `type:"structure"` @@ -45033,6 +49420,44 @@ func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance { return s } +// Add an operating Region to 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 +// Regions. +// +// For more information about operating Regions, see Create an IPAM (/vpc/latest/ipam/create-ipam.html) +// in the Amazon VPC IPAM User Guide. +type AddIpamOperatingRegion struct { + _ struct{} `type:"structure"` + + // The name of the operating Region. + RegionName *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 AddIpamOperatingRegion) 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 AddIpamOperatingRegion) GoString() string { + return s.String() +} + +// SetRegionName sets the RegionName field's value. +func (s *AddIpamOperatingRegion) SetRegionName(v string) *AddIpamOperatingRegion { + s.RegionName = &v + return s +} + // An entry for a prefix list. type AddPrefixListEntry struct { _ struct{} `type:"structure"` @@ -45769,6 +50194,170 @@ func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput { return s } +type AllocateIpamPoolCidrInput struct { + _ struct{} `type:"structure"` + + // The CIDR you would like to allocate from the IPAM pool. Note the following: + // + // * If there is no DefaultNetmaskLength allocation rule set on the pool, + // you must specify either the NetmaskLength or the CIDR. + // + // * If the DefaultNetmaskLength allocation rule is set on the pool, you + // can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength + // allocation rule will be ignored. + // + // Possible values: Any available IPv4 or IPv6 CIDR. + Cidr *string `type:"string"` + + // 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 description for the allocation. + Description *string `type:"string"` + + // Exclude a particular CIDR range from being returned by the pool. + DisallowedCidrs []*string `locationName:"DisallowedCidr" locationNameList:"item" type:"list"` + + // 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 ID of the IPAM pool from which you would like to allocate a CIDR. + // + // IpamPoolId is a required field + IpamPoolId *string `type:"string" required:"true"` + + // The netmask length of the CIDR you would like to allocate from the IPAM pool. + // Note the following: + // + // * If there is no DefaultNetmaskLength allocation rule set on the pool, + // you must specify either the NetmaskLength or the CIDR. + // + // * If the DefaultNetmaskLength allocation rule is set on the pool, you + // can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength + // allocation rule will be ignored. + // + // Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask + // lengths for IPv6 addresses are 0 - 128. + NetmaskLength *int64 `type:"integer"` + + // A preview of the next available CIDR in a pool. + PreviewNextCidr *bool `type:"boolean"` +} + +// 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 AllocateIpamPoolCidrInput) 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 AllocateIpamPoolCidrInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AllocateIpamPoolCidrInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AllocateIpamPoolCidrInput"} + if s.IpamPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamPoolId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCidr sets the Cidr field's value. +func (s *AllocateIpamPoolCidrInput) SetCidr(v string) *AllocateIpamPoolCidrInput { + s.Cidr = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *AllocateIpamPoolCidrInput) SetClientToken(v string) *AllocateIpamPoolCidrInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AllocateIpamPoolCidrInput) SetDescription(v string) *AllocateIpamPoolCidrInput { + s.Description = &v + return s +} + +// SetDisallowedCidrs sets the DisallowedCidrs field's value. +func (s *AllocateIpamPoolCidrInput) SetDisallowedCidrs(v []*string) *AllocateIpamPoolCidrInput { + s.DisallowedCidrs = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *AllocateIpamPoolCidrInput) SetDryRun(v bool) *AllocateIpamPoolCidrInput { + s.DryRun = &v + return s +} + +// SetIpamPoolId sets the IpamPoolId field's value. +func (s *AllocateIpamPoolCidrInput) SetIpamPoolId(v string) *AllocateIpamPoolCidrInput { + s.IpamPoolId = &v + return s +} + +// SetNetmaskLength sets the NetmaskLength field's value. +func (s *AllocateIpamPoolCidrInput) SetNetmaskLength(v int64) *AllocateIpamPoolCidrInput { + s.NetmaskLength = &v + return s +} + +// SetPreviewNextCidr sets the PreviewNextCidr field's value. +func (s *AllocateIpamPoolCidrInput) SetPreviewNextCidr(v bool) *AllocateIpamPoolCidrInput { + s.PreviewNextCidr = &v + return s +} + +type AllocateIpamPoolCidrOutput struct { + _ struct{} `type:"structure"` + + // Information about the allocation created. + IpamPoolAllocation *IpamPoolAllocation `locationName:"ipamPoolAllocation" 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 AllocateIpamPoolCidrOutput) 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 AllocateIpamPoolCidrOutput) GoString() string { + return s.String() +} + +// SetIpamPoolAllocation sets the IpamPoolAllocation field's value. +func (s *AllocateIpamPoolCidrOutput) SetIpamPoolAllocation(v *IpamPoolAllocation) *AllocateIpamPoolCidrOutput { + s.IpamPoolAllocation = v + return s +} + // Describes a principal. type AllowedPrincipal struct { _ struct{} `type:"structure"` @@ -45937,6 +50526,9 @@ type AnalysisComponent struct { // The ID of the component. Id *string `locationName:"id" type:"string"` + + // The name of the analysis component. + Name *string `locationName:"name" type:"string"` } // String returns the string representation. @@ -45969,6 +50561,12 @@ func (s *AnalysisComponent) SetId(v string) *AnalysisComponent { return s } +// SetName sets the Name field's value. +func (s *AnalysisComponent) SetName(v string) *AnalysisComponent { + s.Name = &v + return s +} + // Describes a load balancer listener. type AnalysisLoadBalancerListener struct { _ struct{} `type:"structure"` @@ -47626,7 +52224,7 @@ func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCi type AssociateSubnetCidrBlockOutput struct { _ struct{} `type:"structure"` - // Information about the IPv6 CIDR block association. + // Information about the IPv6 association. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"` // The ID of the subnet. @@ -48012,6 +52610,17 @@ type AssociateVpcCidrBlockInput struct { // An IPv4 CIDR block to associate with the VPC. CidrBlock *string `type:"string"` + // Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information + // about Amazon VPC IP Address Manager (IPAM), see What is IPAM? (/vpc/latest/ipam/what-is-it-ipam.html) + // in the Amazon VPC IPAM User Guide. + Ipv4IpamPoolId *string `type:"string"` + + // The netmask length of the IPv4 CIDR you would like to associate from an Amazon + // VPC IP Address Manager (IPAM) pool. For more information about IPAM, see + // What is IPAM? (/vpc/latest/ipam/what-is-it-ipam.html) in the Amazon VPC IPAM + // User Guide. + Ipv4NetmaskLength *int64 `type:"integer"` + // An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool // in the request. // @@ -48026,6 +52635,17 @@ type AssociateVpcCidrBlockInput struct { // You can have one IPv6 CIDR block association per network border group. Ipv6CidrBlockNetworkBorderGroup *string `type:"string"` + // Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information + // about Amazon VPC IP Address Manager (IPAM), see What is IPAM? (/vpc/latest/ipam/what-is-it-ipam.html) + // in the Amazon VPC IPAM User Guide. + Ipv6IpamPoolId *string `type:"string"` + + // The netmask length of the IPv6 CIDR you would like to associate from an Amazon + // VPC IP Address Manager (IPAM) pool. For more information about IPAM, see + // What is IPAM? (/vpc/latest/ipam/what-is-it-ipam.html) in the Amazon VPC IPAM + // User Guide. + Ipv6NetmaskLength *int64 `type:"integer"` + // The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block. Ipv6Pool *string `type:"string"` @@ -48078,6 +52698,18 @@ func (s *AssociateVpcCidrBlockInput) SetCidrBlock(v string) *AssociateVpcCidrBlo return s } +// SetIpv4IpamPoolId sets the Ipv4IpamPoolId field's value. +func (s *AssociateVpcCidrBlockInput) SetIpv4IpamPoolId(v string) *AssociateVpcCidrBlockInput { + s.Ipv4IpamPoolId = &v + return s +} + +// SetIpv4NetmaskLength sets the Ipv4NetmaskLength field's value. +func (s *AssociateVpcCidrBlockInput) SetIpv4NetmaskLength(v int64) *AssociateVpcCidrBlockInput { + s.Ipv4NetmaskLength = &v + return s +} + // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value. func (s *AssociateVpcCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateVpcCidrBlockInput { s.Ipv6CidrBlock = &v @@ -48090,6 +52722,18 @@ func (s *AssociateVpcCidrBlockInput) SetIpv6CidrBlockNetworkBorderGroup(v string return s } +// SetIpv6IpamPoolId sets the Ipv6IpamPoolId field's value. +func (s *AssociateVpcCidrBlockInput) SetIpv6IpamPoolId(v string) *AssociateVpcCidrBlockInput { + s.Ipv6IpamPoolId = &v + return s +} + +// SetIpv6NetmaskLength sets the Ipv6NetmaskLength field's value. +func (s *AssociateVpcCidrBlockInput) SetIpv6NetmaskLength(v int64) *AssociateVpcCidrBlockInput { + s.Ipv6NetmaskLength = &v + return s +} + // SetIpv6Pool sets the Ipv6Pool field's value. func (s *AssociateVpcCidrBlockInput) SetIpv6Pool(v string) *AssociateVpcCidrBlockInput { s.Ipv6Pool = &v @@ -51417,6 +56061,12 @@ type CapacityReservation struct { // The ID of the Amazon Web Services account that owns the Capacity Reservation. OwnerId *string `locationName:"ownerId" type:"string"` + // The Amazon Resource Name (ARN) of the cluster placement group in which the + // Capacity Reservation was created. For more information, see Capacity Reservations + // for cluster placement groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html) + // in the Amazon EC2 User Guide. + PlacementGroupArn *string `locationName:"placementGroupArn" type:"string"` + // The date and time at which the Capacity Reservation was started. StartDate *time.Time `locationName:"startDate" type:"timestamp"` @@ -51573,6 +56223,12 @@ func (s *CapacityReservation) SetOwnerId(v string) *CapacityReservation { return s } +// SetPlacementGroupArn sets the PlacementGroupArn field's value. +func (s *CapacityReservation) SetPlacementGroupArn(v string) *CapacityReservation { + s.PlacementGroupArn = &v + return s +} + // SetStartDate sets the StartDate field's value. func (s *CapacityReservation) SetStartDate(v time.Time) *CapacityReservation { s.StartDate = &v @@ -52779,6 +57435,82 @@ func (s *ClientData) SetUploadStart(v time.Time) *ClientData { return s } +type ClientLoginBannerOptions struct { + _ struct{} `type:"structure"` + + BannerText *string `type:"string"` + + Enabled *bool `type:"boolean"` +} + +// 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 ClientLoginBannerOptions) 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 ClientLoginBannerOptions) GoString() string { + return s.String() +} + +// SetBannerText sets the BannerText field's value. +func (s *ClientLoginBannerOptions) SetBannerText(v string) *ClientLoginBannerOptions { + s.BannerText = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *ClientLoginBannerOptions) SetEnabled(v bool) *ClientLoginBannerOptions { + s.Enabled = &v + return s +} + +type ClientLoginBannerResponseOptions struct { + _ struct{} `type:"structure"` + + BannerText *string `locationName:"bannerText" type:"string"` + + Enabled *bool `locationName:"enabled" type:"boolean"` +} + +// 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 ClientLoginBannerResponseOptions) 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 ClientLoginBannerResponseOptions) GoString() string { + return s.String() +} + +// SetBannerText sets the BannerText field's value. +func (s *ClientLoginBannerResponseOptions) SetBannerText(v string) *ClientLoginBannerResponseOptions { + s.BannerText = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *ClientLoginBannerResponseOptions) SetEnabled(v bool) *ClientLoginBannerResponseOptions { + s.Enabled = &v + return s +} + // Describes the authentication methods used by a Client VPN endpoint. For more // information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html) // in the Client VPN Administrator Guide. @@ -53158,6 +57890,8 @@ type ClientVpnEndpoint struct { // The options for managing connection authorization for new client connections. ClientConnectOptions *ClientConnectResponseOptions `locationName:"clientConnectOptions" type:"structure"` + ClientLoginBannerOptions *ClientLoginBannerResponseOptions `locationName:"clientLoginBannerOptions" type:"structure"` + // The ID of the Client VPN endpoint. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` @@ -53189,6 +57923,8 @@ type ClientVpnEndpoint struct { // The ARN of the server certificate. ServerCertificateArn *string `locationName:"serverCertificateArn" type:"string"` + SessionTimeoutHours *int64 `locationName:"sessionTimeoutHours" type:"integer"` + // Indicates whether split-tunnel is enabled in the Client VPN endpoint. // // For information about split-tunnel VPN endpoints, see Split-Tunnel Client @@ -53257,6 +57993,12 @@ func (s *ClientVpnEndpoint) SetClientConnectOptions(v *ClientConnectResponseOpti return s } +// SetClientLoginBannerOptions sets the ClientLoginBannerOptions field's value. +func (s *ClientVpnEndpoint) SetClientLoginBannerOptions(v *ClientLoginBannerResponseOptions) *ClientVpnEndpoint { + s.ClientLoginBannerOptions = v + return s +} + // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. func (s *ClientVpnEndpoint) SetClientVpnEndpointId(v string) *ClientVpnEndpoint { s.ClientVpnEndpointId = &v @@ -53317,6 +58059,12 @@ func (s *ClientVpnEndpoint) SetServerCertificateArn(v string) *ClientVpnEndpoint return s } +// SetSessionTimeoutHours sets the SessionTimeoutHours field's value. +func (s *ClientVpnEndpoint) SetSessionTimeoutHours(v int64) *ClientVpnEndpoint { + s.SessionTimeoutHours = &v + return s +} + // SetSplitTunnel sets the SplitTunnel field's value. func (s *ClientVpnEndpoint) SetSplitTunnel(v bool) *ClientVpnEndpoint { s.SplitTunnel = &v @@ -55135,6 +59883,12 @@ type CreateCapacityReservationInput struct { // Reservation. OutpostArn *string `type:"string"` + // The Amazon Resource Name (ARN) of the cluster placement group in which to + // create the Capacity Reservation. For more information, see Capacity Reservations + // for cluster placement groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html) + // in the Amazon EC2 User Guide. + PlacementGroupArn *string `type:"string"` + // The tags to apply to the Capacity Reservation during launch. TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"` @@ -55264,6 +60018,12 @@ func (s *CreateCapacityReservationInput) SetOutpostArn(v string) *CreateCapacity return s } +// SetPlacementGroupArn sets the PlacementGroupArn field's value. +func (s *CreateCapacityReservationInput) SetPlacementGroupArn(v string) *CreateCapacityReservationInput { + s.PlacementGroupArn = &v + return s +} + // SetTagSpecifications sets the TagSpecifications field's value. func (s *CreateCapacityReservationInput) SetTagSpecifications(v []*TagSpecification) *CreateCapacityReservationInput { s.TagSpecifications = v @@ -55435,6 +60195,8 @@ type CreateClientVpnEndpointInput struct { // The options for managing connection authorization for new client connections. ClientConnectOptions *ClientConnectOptions `type:"structure"` + ClientLoginBannerOptions *ClientLoginBannerOptions `type:"structure"` + // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. For more information, see How to ensure idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string" idempotencyToken:"true"` @@ -55484,6 +60246,8 @@ type CreateClientVpnEndpointInput struct { // ServerCertificateArn is a required field ServerCertificateArn *string `type:"string" required:"true"` + SessionTimeoutHours *int64 `type:"integer"` + // Indicates whether split-tunnel is enabled on the Client VPN endpoint. // // By default, split-tunnel on a VPN endpoint is disabled. @@ -55572,6 +60336,12 @@ func (s *CreateClientVpnEndpointInput) SetClientConnectOptions(v *ClientConnectO return s } +// SetClientLoginBannerOptions sets the ClientLoginBannerOptions field's value. +func (s *CreateClientVpnEndpointInput) SetClientLoginBannerOptions(v *ClientLoginBannerOptions) *CreateClientVpnEndpointInput { + s.ClientLoginBannerOptions = v + return s +} + // SetClientToken sets the ClientToken field's value. func (s *CreateClientVpnEndpointInput) SetClientToken(v string) *CreateClientVpnEndpointInput { s.ClientToken = &v @@ -55620,6 +60390,12 @@ func (s *CreateClientVpnEndpointInput) SetServerCertificateArn(v string) *Create return s } +// SetSessionTimeoutHours sets the SessionTimeoutHours field's value. +func (s *CreateClientVpnEndpointInput) SetSessionTimeoutHours(v int64) *CreateClientVpnEndpointInput { + s.SessionTimeoutHours = &v + return s +} + // SetSplitTunnel sets the SplitTunnel field's value. func (s *CreateClientVpnEndpointInput) SetSplitTunnel(v bool) *CreateClientVpnEndpointInput { s.SplitTunnel = &v @@ -56006,6 +60782,11 @@ type CreateDefaultSubnetInput struct { // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` + + // Indicates whether to create an IPv6 only subnet. If you already have a default + // subnet for this Availability Zone, you must delete it before you can create + // an IPv6 only subnet. + Ipv6Native *bool `type:"boolean"` } // String returns the string representation. @@ -56051,6 +60832,12 @@ func (s *CreateDefaultSubnetInput) SetDryRun(v bool) *CreateDefaultSubnetInput { return s } +// SetIpv6Native sets the Ipv6Native field's value. +func (s *CreateDefaultSubnetInput) SetIpv6Native(v bool) *CreateDefaultSubnetInput { + s.Ipv6Native = &v + return s +} + type CreateDefaultSubnetOutput struct { _ struct{} `type:"structure"` @@ -56500,7 +61287,7 @@ type CreateFleetInput struct { // desired capacity, and returns errors for any instances that could not // be launched. // - // For more information, see EC2 Fleet request types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-request-type) + // For more information, see EC2 Fleet request types (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/ec2-fleet-request-type.html) // in the Amazon EC2 User Guide. Type *string `type:"string" enum:"FleetType"` @@ -57665,6 +62452,483 @@ func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *Cr return s } +type CreateIpamInput struct { + _ struct{} `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 description for the IPAM. + 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"` + + // The operating Regions for the 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 + // Regions. + // + // For more information about operating Regions, see Create an IPAM (/vpc/latest/ipam/create-ipam.html) + // in the Amazon VPC IPAM User Guide. + OperatingRegions []*AddIpamOperatingRegion `locationName:"OperatingRegion" type:"list"` + + // The key/value combination of a tag assigned to the resource. Use the tag + // key in the filter name and the tag value as the filter value. For example, + // to find all resources that have a tag with the key Owner and the value TeamA, + // specify tag:Owner for the filter name and TeamA for the filter value. + 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 CreateIpamInput) 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 CreateIpamInput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateIpamInput) SetClientToken(v string) *CreateIpamInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateIpamInput) SetDescription(v string) *CreateIpamInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateIpamInput) SetDryRun(v bool) *CreateIpamInput { + s.DryRun = &v + return s +} + +// SetOperatingRegions sets the OperatingRegions field's value. +func (s *CreateIpamInput) SetOperatingRegions(v []*AddIpamOperatingRegion) *CreateIpamInput { + s.OperatingRegions = v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateIpamInput) SetTagSpecifications(v []*TagSpecification) *CreateIpamInput { + s.TagSpecifications = v + return s +} + +type CreateIpamOutput struct { + _ struct{} `type:"structure"` + + // Information about the IPAM created. + Ipam *Ipam `locationName:"ipam" 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 CreateIpamOutput) 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 CreateIpamOutput) GoString() string { + return s.String() +} + +// SetIpam sets the Ipam field's value. +func (s *CreateIpamOutput) SetIpam(v *Ipam) *CreateIpamOutput { + s.Ipam = v + return s +} + +type CreateIpamPoolInput struct { + _ struct{} `type:"structure"` + + // The IP protocol assigned to this IPAM pool. You must choose either IPv4 or + // IPv6 protocol for a pool. + AddressFamily *string `type:"string" enum:"AddressFamily"` + + // The default netmask length for allocations added to this pool. If, for example, + // the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations + // will default to 10.0.0.0/16. + AllocationDefaultNetmaskLength *int64 `type:"integer"` + + // The maximum netmask length possible for CIDR allocations in this IPAM pool + // to be compliant. The maximum netmask length must be greater than the minimum + // netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible + // netmask lengths for IPv6 addresses are 0 - 128. + AllocationMaxNetmaskLength *int64 `type:"integer"` + + // The minimum netmask length required for CIDR allocations in this IPAM pool + // to be compliant. The minimum netmask length must be less than the maximum + // netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible + // netmask lengths for IPv6 addresses are 0 - 128. + AllocationMinNetmaskLength *int64 `type:"integer"` + + // Tags that are required for resources that use CIDRs from this IPAM pool. + // Resources that do not have these tags will not be allowed to allocate space + // from the pool. If the resources have their tags changed after they have allocated + // space or if the allocation tagging requirements are changed on the pool, + // the resource may be marked as noncompliant. + AllocationResourceTags []*RequestIpamResourceTag `locationName:"AllocationResourceTag" locationNameList:"item" type:"list"` + + // If selected, IPAM will continuously look for resources within the CIDR range + // of this pool and automatically import them as allocations into your IPAM. + // The CIDRs that will be allocated for these resources must not already be + // allocated to other resources in order for the import to succeed. IPAM will + // import a CIDR regardless of its compliance with the pool's allocation rules, + // so a resource might be imported and subsequently marked as noncompliant. + // If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest + // CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will + // randomly import one of them only. + // + // A locale must be set on the pool for this feature to work. + AutoImport *bool `type:"boolean"` + + // Limits which service in Amazon Web Services that the pool can be used in. + // "ec2", for example, allows users to use space for Elastic IP addresses and + // VPCs. + AwsService *string `type:"string" enum:"IpamPoolAwsService"` + + // 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 description for the IPAM pool. + 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"` + + // The ID of the scope in which you would like to create the IPAM pool. + // + // IpamScopeId is a required field + IpamScopeId *string `type:"string" required:"true"` + + // In IPAM, the locale is the Amazon Web Services Region where you want to make + // an IPAM pool available for allocations. Only resources in the same Region + // as the locale of the pool can get IP address allocations from the pool. You + // can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares + // a locale with the VPC’s Region. Note that once you choose a Locale for + // a pool, you cannot modify it. If you do not choose a locale, resources in + // Regions others than the IPAM's home region cannot use CIDRs from this pool. + // + // Possible values: Any Amazon Web Services Region, such as us-east-1. + Locale *string `type:"string"` + + // Determines if the pool is publicly advertisable. This option is not available + // for pools with AddressFamily set to ipv4. + PubliclyAdvertisable *bool `type:"boolean"` + + // The ID of the source IPAM pool. Use this option to create a pool within an + // existing pool. Note that the CIDR you provision for the pool within the source + // pool must be available in the source pool's CIDR range. + SourceIpamPoolId *string `type:"string"` + + // The key/value combination of a tag assigned to the resource. Use the tag + // key in the filter name and the tag value as the filter value. For example, + // to find all resources that have a tag with the key Owner and the value TeamA, + // specify tag:Owner for the filter name and TeamA for the filter value. + 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 CreateIpamPoolInput) 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 CreateIpamPoolInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateIpamPoolInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateIpamPoolInput"} + if s.IpamScopeId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamScopeId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddressFamily sets the AddressFamily field's value. +func (s *CreateIpamPoolInput) SetAddressFamily(v string) *CreateIpamPoolInput { + s.AddressFamily = &v + return s +} + +// SetAllocationDefaultNetmaskLength sets the AllocationDefaultNetmaskLength field's value. +func (s *CreateIpamPoolInput) SetAllocationDefaultNetmaskLength(v int64) *CreateIpamPoolInput { + s.AllocationDefaultNetmaskLength = &v + return s +} + +// SetAllocationMaxNetmaskLength sets the AllocationMaxNetmaskLength field's value. +func (s *CreateIpamPoolInput) SetAllocationMaxNetmaskLength(v int64) *CreateIpamPoolInput { + s.AllocationMaxNetmaskLength = &v + return s +} + +// SetAllocationMinNetmaskLength sets the AllocationMinNetmaskLength field's value. +func (s *CreateIpamPoolInput) SetAllocationMinNetmaskLength(v int64) *CreateIpamPoolInput { + s.AllocationMinNetmaskLength = &v + return s +} + +// SetAllocationResourceTags sets the AllocationResourceTags field's value. +func (s *CreateIpamPoolInput) SetAllocationResourceTags(v []*RequestIpamResourceTag) *CreateIpamPoolInput { + s.AllocationResourceTags = v + return s +} + +// SetAutoImport sets the AutoImport field's value. +func (s *CreateIpamPoolInput) SetAutoImport(v bool) *CreateIpamPoolInput { + s.AutoImport = &v + return s +} + +// SetAwsService sets the AwsService field's value. +func (s *CreateIpamPoolInput) SetAwsService(v string) *CreateIpamPoolInput { + s.AwsService = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateIpamPoolInput) SetClientToken(v string) *CreateIpamPoolInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateIpamPoolInput) SetDescription(v string) *CreateIpamPoolInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateIpamPoolInput) SetDryRun(v bool) *CreateIpamPoolInput { + s.DryRun = &v + return s +} + +// SetIpamScopeId sets the IpamScopeId field's value. +func (s *CreateIpamPoolInput) SetIpamScopeId(v string) *CreateIpamPoolInput { + s.IpamScopeId = &v + return s +} + +// SetLocale sets the Locale field's value. +func (s *CreateIpamPoolInput) SetLocale(v string) *CreateIpamPoolInput { + s.Locale = &v + return s +} + +// SetPubliclyAdvertisable sets the PubliclyAdvertisable field's value. +func (s *CreateIpamPoolInput) SetPubliclyAdvertisable(v bool) *CreateIpamPoolInput { + s.PubliclyAdvertisable = &v + return s +} + +// SetSourceIpamPoolId sets the SourceIpamPoolId field's value. +func (s *CreateIpamPoolInput) SetSourceIpamPoolId(v string) *CreateIpamPoolInput { + s.SourceIpamPoolId = &v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateIpamPoolInput) SetTagSpecifications(v []*TagSpecification) *CreateIpamPoolInput { + s.TagSpecifications = v + return s +} + +type CreateIpamPoolOutput struct { + _ struct{} `type:"structure"` + + // Information about the IPAM pool created. + IpamPool *IpamPool `locationName:"ipamPool" 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 CreateIpamPoolOutput) 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 CreateIpamPoolOutput) GoString() string { + return s.String() +} + +// SetIpamPool sets the IpamPool field's value. +func (s *CreateIpamPoolOutput) SetIpamPool(v *IpamPool) *CreateIpamPoolOutput { + s.IpamPool = v + return s +} + +type CreateIpamScopeInput struct { + _ struct{} `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 description for the scope you're creating. + 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"` + + // The ID of the IPAM for which you're creating this scope. + // + // IpamId is a required field + IpamId *string `type:"string" required:"true"` + + // The key/value combination of a tag assigned to the resource. Use the tag + // key in the filter name and the tag value as the filter value. For example, + // to find all resources that have a tag with the key Owner and the value TeamA, + // specify tag:Owner for the filter name and TeamA for the filter value. + 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 CreateIpamScopeInput) 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 CreateIpamScopeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateIpamScopeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateIpamScopeInput"} + if s.IpamId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateIpamScopeInput) SetClientToken(v string) *CreateIpamScopeInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateIpamScopeInput) SetDescription(v string) *CreateIpamScopeInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateIpamScopeInput) SetDryRun(v bool) *CreateIpamScopeInput { + s.DryRun = &v + return s +} + +// SetIpamId sets the IpamId field's value. +func (s *CreateIpamScopeInput) SetIpamId(v string) *CreateIpamScopeInput { + s.IpamId = &v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateIpamScopeInput) SetTagSpecifications(v []*TagSpecification) *CreateIpamScopeInput { + s.TagSpecifications = v + return s +} + +type CreateIpamScopeOutput struct { + _ struct{} `type:"structure"` + + // Information about the created scope. + IpamScope *IpamScope `locationName:"ipamScope" 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 CreateIpamScopeOutput) 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 CreateIpamScopeOutput) GoString() string { + return s.String() +} + +// SetIpamScope sets the IpamScope field's value. +func (s *CreateIpamScopeOutput) SetIpamScope(v *IpamScope) *CreateIpamScopeOutput { + s.IpamScope = v + return s +} + type CreateKeyPairInput struct { _ struct{} `type:"structure"` @@ -58950,6 +64214,117 @@ func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclO return s } +type CreateNetworkInsightsAccessScopeInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to ensure idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The paths to exclude. + ExcludePaths []*AccessScopePathRequest `locationName:"ExcludePath" locationNameList:"item" type:"list"` + + // The paths to match. + MatchPaths []*AccessScopePathRequest `locationName:"MatchPath" locationNameList:"item" type:"list"` + + // The tags to apply. + 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 CreateNetworkInsightsAccessScopeInput) 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 CreateNetworkInsightsAccessScopeInput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateNetworkInsightsAccessScopeInput) SetClientToken(v string) *CreateNetworkInsightsAccessScopeInput { + s.ClientToken = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateNetworkInsightsAccessScopeInput) SetDryRun(v bool) *CreateNetworkInsightsAccessScopeInput { + s.DryRun = &v + return s +} + +// SetExcludePaths sets the ExcludePaths field's value. +func (s *CreateNetworkInsightsAccessScopeInput) SetExcludePaths(v []*AccessScopePathRequest) *CreateNetworkInsightsAccessScopeInput { + s.ExcludePaths = v + return s +} + +// SetMatchPaths sets the MatchPaths field's value. +func (s *CreateNetworkInsightsAccessScopeInput) SetMatchPaths(v []*AccessScopePathRequest) *CreateNetworkInsightsAccessScopeInput { + s.MatchPaths = v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateNetworkInsightsAccessScopeInput) SetTagSpecifications(v []*TagSpecification) *CreateNetworkInsightsAccessScopeInput { + s.TagSpecifications = v + return s +} + +type CreateNetworkInsightsAccessScopeOutput struct { + _ struct{} `type:"structure"` + + // The Network Access Scope. + NetworkInsightsAccessScope *NetworkInsightsAccessScope `locationName:"networkInsightsAccessScope" type:"structure"` + + // The Network Access Scope content. + NetworkInsightsAccessScopeContent *NetworkInsightsAccessScopeContent `locationName:"networkInsightsAccessScopeContent" 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 CreateNetworkInsightsAccessScopeOutput) 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 CreateNetworkInsightsAccessScopeOutput) GoString() string { + return s.String() +} + +// SetNetworkInsightsAccessScope sets the NetworkInsightsAccessScope field's value. +func (s *CreateNetworkInsightsAccessScopeOutput) SetNetworkInsightsAccessScope(v *NetworkInsightsAccessScope) *CreateNetworkInsightsAccessScopeOutput { + s.NetworkInsightsAccessScope = v + return s +} + +// SetNetworkInsightsAccessScopeContent sets the NetworkInsightsAccessScopeContent field's value. +func (s *CreateNetworkInsightsAccessScopeOutput) SetNetworkInsightsAccessScopeContent(v *NetworkInsightsAccessScopeContent) *CreateNetworkInsightsAccessScopeOutput { + s.NetworkInsightsAccessScopeContent = v + return s +} + type CreateNetworkInsightsPathInput struct { _ struct{} `type:"structure"` @@ -59141,9 +64516,7 @@ type CreateNetworkInterfaceInput struct { // Indicates the type of network interface. To create an Elastic Fabric Adapter // (EFA), specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) // in the Amazon Elastic Compute Cloud User Guide. To create a trunk network - // interface, specify efa. For more information, see Network interface trunking - // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/eni-trunking.html) in - // the Amazon Elastic Compute Cloud User Guide. + // interface, specify trunk. InterfaceType *string `type:"string" enum:"NetworkInterfaceCreationType"` // The number of IPv4 prefixes that Amazon Web Services automatically assigns @@ -59601,6 +64974,83 @@ func (s *CreatePlacementGroupOutput) SetPlacementGroup(v *PlacementGroup) *Creat return s } +type CreatePublicIpv4PoolInput 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 key/value combination of a tag assigned to the resource. Use the tag + // key in the filter name and the tag value as the filter value. For example, + // to find all resources that have a tag with the key Owner and the value TeamA, + // specify tag:Owner for the filter name and TeamA for the filter value. + 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 CreatePublicIpv4PoolInput) 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 CreatePublicIpv4PoolInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *CreatePublicIpv4PoolInput) SetDryRun(v bool) *CreatePublicIpv4PoolInput { + s.DryRun = &v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreatePublicIpv4PoolInput) SetTagSpecifications(v []*TagSpecification) *CreatePublicIpv4PoolInput { + s.TagSpecifications = v + return s +} + +type CreatePublicIpv4PoolOutput struct { + _ struct{} `type:"structure"` + + // The ID of the public IPv4 pool. + PoolId *string `locationName:"poolId" 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 CreatePublicIpv4PoolOutput) 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 CreatePublicIpv4PoolOutput) GoString() string { + return s.String() +} + +// SetPoolId sets the PoolId field's value. +func (s *CreatePublicIpv4PoolOutput) SetPoolId(v string) *CreatePublicIpv4PoolOutput { + s.PoolId = &v + return s +} + type CreateReplaceRootVolumeTaskInput struct { _ struct{} `type:"structure"` @@ -59987,6 +65437,7 @@ type CreateRouteInput struct { // with a Wavelength Zone. CarrierGatewayId *string `type:"string"` + // The Amazon Resource Name (ARN) of the core network. CoreNetworkArn *string `type:"string"` // The IPv4 CIDR address block used for the destination match. Routing decisions @@ -61072,8 +66523,8 @@ type CreateSubnetInput struct { // We modify the specified CIDR block to its canonical form; for example, if // you specify 100.68.0.18/18, we modify it to 100.68.0.0/18. // - // CidrBlock is a required field - CidrBlock *string `type:"string" required:"true"` + // This parameter is not supported for an IPv6 only subnet. + CidrBlock *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 @@ -61083,8 +66534,13 @@ type CreateSubnetInput struct { // The IPv6 network range for the subnet, in CIDR notation. The subnet size // must use a /64 prefix length. + // + // This parameter is required for an IPv6 only subnet. Ipv6CidrBlock *string `type:"string"` + // Indicates whether to create an IPv6 only subnet. + Ipv6Native *bool `type:"boolean"` + // The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost // ARN, you must also specify the Availability Zone of the Outpost subnet. OutpostArn *string `type:"string"` @@ -61119,9 +66575,6 @@ func (s CreateSubnetInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateSubnetInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"} - if s.CidrBlock == nil { - invalidParams.Add(request.NewErrParamRequired("CidrBlock")) - } if s.VpcId == nil { invalidParams.Add(request.NewErrParamRequired("VpcId")) } @@ -61162,6 +66615,12 @@ func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput { return s } +// SetIpv6Native sets the Ipv6Native field's value. +func (s *CreateSubnetInput) SetIpv6Native(v bool) *CreateSubnetInput { + s.Ipv6Native = &v + return s +} + // SetOutpostArn sets the OutpostArn field's value. func (s *CreateSubnetInput) SetOutpostArn(v string) *CreateSubnetInput { s.OutpostArn = &v @@ -64012,9 +69471,7 @@ type CreateVpcInput struct { // The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16. // We modify the specified CIDR block to its canonical form; for example, if // you specify 100.68.0.18/18, we modify it to 100.68.0.0/18. - // - // CidrBlock is a required field - CidrBlock *string `type:"string" required:"true"` + CidrBlock *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 @@ -64034,6 +69491,17 @@ type CreateVpcInput struct { // Default: default InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"` + // The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. + // For more information, see What is IPAM? (/vpc/latest/ipam/what-is-it-ipam.html) + // in the Amazon VPC IPAM User Guide. + Ipv4IpamPoolId *string `type:"string"` + + // The netmask length of the IPv4 CIDR you want to allocate to this VPC from + // an Amazon VPC IP Address Manager (IPAM) pool. For more information about + // IPAM, see What is IPAM? (/vpc/latest/ipam/what-is-it-ipam.html) in the Amazon + // VPC IPAM User Guide. + Ipv4NetmaskLength *int64 `type:"integer"` + // The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool // in the request. // @@ -64046,6 +69514,21 @@ type CreateVpcInput struct { // You must set AmazonProvidedIpv6CidrBlock to true to use this parameter. Ipv6CidrBlockNetworkBorderGroup *string `type:"string"` + // The ID of an IPv6 IPAM pool which will be used to allocate this VPC an IPv6 + // CIDR. IPAM is a VPC feature that you can use to automate your IP address + // management workflows including assigning, tracking, troubleshooting, and + // auditing IP addresses across Amazon Web Services Regions and accounts throughout + // your Amazon Web Services Organization. For more information, see What is + // IPAM? (/vpc/latest/ipam/what-is-it-ipam.html) in the Amazon VPC IPAM User + // Guide. + Ipv6IpamPoolId *string `type:"string"` + + // The netmask length of the IPv6 CIDR you want to allocate to this VPC from + // an Amazon VPC IP Address Manager (IPAM) pool. For more information about + // IPAM, see What is IPAM? (/vpc/latest/ipam/what-is-it-ipam.html) in the Amazon + // VPC IPAM User Guide. + Ipv6NetmaskLength *int64 `type:"integer"` + // The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block. Ipv6Pool *string `type:"string"` @@ -64071,19 +69554,6 @@ func (s CreateVpcInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateVpcInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"} - if s.CidrBlock == nil { - invalidParams.Add(request.NewErrParamRequired("CidrBlock")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value. func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput { s.AmazonProvidedIpv6CidrBlock = &v @@ -64108,6 +69578,18 @@ func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput { return s } +// SetIpv4IpamPoolId sets the Ipv4IpamPoolId field's value. +func (s *CreateVpcInput) SetIpv4IpamPoolId(v string) *CreateVpcInput { + s.Ipv4IpamPoolId = &v + return s +} + +// SetIpv4NetmaskLength sets the Ipv4NetmaskLength field's value. +func (s *CreateVpcInput) SetIpv4NetmaskLength(v int64) *CreateVpcInput { + s.Ipv4NetmaskLength = &v + return s +} + // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value. func (s *CreateVpcInput) SetIpv6CidrBlock(v string) *CreateVpcInput { s.Ipv6CidrBlock = &v @@ -64120,6 +69602,18 @@ func (s *CreateVpcInput) SetIpv6CidrBlockNetworkBorderGroup(v string) *CreateVpc return s } +// SetIpv6IpamPoolId sets the Ipv6IpamPoolId field's value. +func (s *CreateVpcInput) SetIpv6IpamPoolId(v string) *CreateVpcInput { + s.Ipv6IpamPoolId = &v + return s +} + +// SetIpv6NetmaskLength sets the Ipv6NetmaskLength field's value. +func (s *CreateVpcInput) SetIpv6NetmaskLength(v int64) *CreateVpcInput { + s.Ipv6NetmaskLength = &v + return s +} + // SetIpv6Pool sets the Ipv6Pool field's value. func (s *CreateVpcInput) SetIpv6Pool(v string) *CreateVpcInput { s.Ipv6Pool = &v @@ -65955,6 +71449,273 @@ func (s DeleteInternetGatewayOutput) GoString() string { return s.String() } +type DeleteIpamInput 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 ID of the IPAM to delete. + // + // IpamId is a required field + IpamId *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 DeleteIpamInput) 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 DeleteIpamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIpamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIpamInput"} + if s.IpamId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteIpamInput) SetDryRun(v bool) *DeleteIpamInput { + s.DryRun = &v + return s +} + +// SetIpamId sets the IpamId field's value. +func (s *DeleteIpamInput) SetIpamId(v string) *DeleteIpamInput { + s.IpamId = &v + return s +} + +type DeleteIpamOutput struct { + _ struct{} `type:"structure"` + + // Information about the results of the deletion. + Ipam *Ipam `locationName:"ipam" 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 DeleteIpamOutput) 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 DeleteIpamOutput) GoString() string { + return s.String() +} + +// SetIpam sets the Ipam field's value. +func (s *DeleteIpamOutput) SetIpam(v *Ipam) *DeleteIpamOutput { + s.Ipam = v + return s +} + +type DeleteIpamPoolInput 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 ID of the pool to delete. + // + // IpamPoolId is a required field + IpamPoolId *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 DeleteIpamPoolInput) 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 DeleteIpamPoolInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIpamPoolInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIpamPoolInput"} + if s.IpamPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamPoolId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteIpamPoolInput) SetDryRun(v bool) *DeleteIpamPoolInput { + s.DryRun = &v + return s +} + +// SetIpamPoolId sets the IpamPoolId field's value. +func (s *DeleteIpamPoolInput) SetIpamPoolId(v string) *DeleteIpamPoolInput { + s.IpamPoolId = &v + return s +} + +type DeleteIpamPoolOutput struct { + _ struct{} `type:"structure"` + + // Information about the results of the deletion. + IpamPool *IpamPool `locationName:"ipamPool" 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 DeleteIpamPoolOutput) 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 DeleteIpamPoolOutput) GoString() string { + return s.String() +} + +// SetIpamPool sets the IpamPool field's value. +func (s *DeleteIpamPoolOutput) SetIpamPool(v *IpamPool) *DeleteIpamPoolOutput { + s.IpamPool = v + return s +} + +type DeleteIpamScopeInput 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 ID of the scope to delete. + // + // IpamScopeId is a required field + IpamScopeId *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 DeleteIpamScopeInput) 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 DeleteIpamScopeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIpamScopeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIpamScopeInput"} + if s.IpamScopeId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamScopeId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteIpamScopeInput) SetDryRun(v bool) *DeleteIpamScopeInput { + s.DryRun = &v + return s +} + +// SetIpamScopeId sets the IpamScopeId field's value. +func (s *DeleteIpamScopeInput) SetIpamScopeId(v string) *DeleteIpamScopeInput { + s.IpamScopeId = &v + return s +} + +type DeleteIpamScopeOutput struct { + _ struct{} `type:"structure"` + + // Information about the results of the deletion. + IpamScope *IpamScope `locationName:"ipamScope" 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 DeleteIpamScopeOutput) 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 DeleteIpamScopeOutput) GoString() string { + return s.String() +} + +// SetIpamScope sets the IpamScope field's value. +func (s *DeleteIpamScopeOutput) SetIpamScope(v *IpamScope) *DeleteIpamScopeOutput { + s.IpamScope = v + return s +} + type DeleteKeyPairInput struct { _ struct{} `type:"structure"` @@ -66915,6 +72676,184 @@ func (s DeleteNetworkAclOutput) GoString() string { return s.String() } +type DeleteNetworkInsightsAccessScopeAnalysisInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the Network Access Scope analysis. + // + // NetworkInsightsAccessScopeAnalysisId is a required field + NetworkInsightsAccessScopeAnalysisId *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 DeleteNetworkInsightsAccessScopeAnalysisInput) 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 DeleteNetworkInsightsAccessScopeAnalysisInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteNetworkInsightsAccessScopeAnalysisInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInsightsAccessScopeAnalysisInput"} + if s.NetworkInsightsAccessScopeAnalysisId == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkInsightsAccessScopeAnalysisId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteNetworkInsightsAccessScopeAnalysisInput) SetDryRun(v bool) *DeleteNetworkInsightsAccessScopeAnalysisInput { + s.DryRun = &v + return s +} + +// SetNetworkInsightsAccessScopeAnalysisId sets the NetworkInsightsAccessScopeAnalysisId field's value. +func (s *DeleteNetworkInsightsAccessScopeAnalysisInput) SetNetworkInsightsAccessScopeAnalysisId(v string) *DeleteNetworkInsightsAccessScopeAnalysisInput { + s.NetworkInsightsAccessScopeAnalysisId = &v + return s +} + +type DeleteNetworkInsightsAccessScopeAnalysisOutput struct { + _ struct{} `type:"structure"` + + // The ID of the Network Access Scope analysis. + NetworkInsightsAccessScopeAnalysisId *string `locationName:"networkInsightsAccessScopeAnalysisId" 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 DeleteNetworkInsightsAccessScopeAnalysisOutput) 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 DeleteNetworkInsightsAccessScopeAnalysisOutput) GoString() string { + return s.String() +} + +// SetNetworkInsightsAccessScopeAnalysisId sets the NetworkInsightsAccessScopeAnalysisId field's value. +func (s *DeleteNetworkInsightsAccessScopeAnalysisOutput) SetNetworkInsightsAccessScopeAnalysisId(v string) *DeleteNetworkInsightsAccessScopeAnalysisOutput { + s.NetworkInsightsAccessScopeAnalysisId = &v + return s +} + +type DeleteNetworkInsightsAccessScopeInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the Network Access Scope. + // + // NetworkInsightsAccessScopeId is a required field + NetworkInsightsAccessScopeId *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 DeleteNetworkInsightsAccessScopeInput) 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 DeleteNetworkInsightsAccessScopeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteNetworkInsightsAccessScopeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInsightsAccessScopeInput"} + if s.NetworkInsightsAccessScopeId == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkInsightsAccessScopeId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteNetworkInsightsAccessScopeInput) SetDryRun(v bool) *DeleteNetworkInsightsAccessScopeInput { + s.DryRun = &v + return s +} + +// SetNetworkInsightsAccessScopeId sets the NetworkInsightsAccessScopeId field's value. +func (s *DeleteNetworkInsightsAccessScopeInput) SetNetworkInsightsAccessScopeId(v string) *DeleteNetworkInsightsAccessScopeInput { + s.NetworkInsightsAccessScopeId = &v + return s +} + +type DeleteNetworkInsightsAccessScopeOutput struct { + _ struct{} `type:"structure"` + + // The ID of the Network Access Scope. + NetworkInsightsAccessScopeId *string `locationName:"networkInsightsAccessScopeId" 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 DeleteNetworkInsightsAccessScopeOutput) 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 DeleteNetworkInsightsAccessScopeOutput) GoString() string { + return s.String() +} + +// SetNetworkInsightsAccessScopeId sets the NetworkInsightsAccessScopeId field's value. +func (s *DeleteNetworkInsightsAccessScopeOutput) SetNetworkInsightsAccessScopeId(v string) *DeleteNetworkInsightsAccessScopeOutput { + s.NetworkInsightsAccessScopeId = &v + return s +} + type DeleteNetworkInsightsAnalysisInput struct { _ struct{} `type:"structure"` @@ -67355,6 +73294,95 @@ func (s DeletePlacementGroupOutput) GoString() string { return s.String() } +type DeletePublicIpv4PoolInput 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 ID of the public IPv4 pool you want to delete. + // + // PoolId is a required field + PoolId *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 DeletePublicIpv4PoolInput) 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 DeletePublicIpv4PoolInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePublicIpv4PoolInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePublicIpv4PoolInput"} + if s.PoolId == nil { + invalidParams.Add(request.NewErrParamRequired("PoolId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeletePublicIpv4PoolInput) SetDryRun(v bool) *DeletePublicIpv4PoolInput { + s.DryRun = &v + return s +} + +// SetPoolId sets the PoolId field's value. +func (s *DeletePublicIpv4PoolInput) SetPoolId(v string) *DeletePublicIpv4PoolInput { + s.PoolId = &v + return s +} + +type DeletePublicIpv4PoolOutput struct { + _ struct{} `type:"structure"` + + // Information about the result of deleting the public IPv4 pool. + ReturnValue *bool `locationName:"returnValue" type:"boolean"` +} + +// 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 DeletePublicIpv4PoolOutput) 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 DeletePublicIpv4PoolOutput) GoString() string { + return s.String() +} + +// SetReturnValue sets the ReturnValue field's value. +func (s *DeletePublicIpv4PoolOutput) SetReturnValue(v bool) *DeletePublicIpv4PoolOutput { + s.ReturnValue = &v + return s +} + // Describes the error for a Reserved Instance whose queued purchase could not // be deleted. type DeleteQueuedReservedInstancesError struct { @@ -68094,6 +74122,8 @@ type DeleteTagsInput struct { // If you omit this parameter, we delete all user-defined tags for the specified // resources. We do not delete Amazon Web Services-generated tags (tags that // have the aws: prefix). + // + // Constraints: Up to 1000 tags. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"` } @@ -70206,6 +76236,216 @@ func (s *DeprovisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *DeprovisionByoi return s } +type DeprovisionIpamPoolCidrInput struct { + _ struct{} `type:"structure"` + + // The CIDR which you want to deprovision from the pool. + Cidr *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"` + + // The ID of the pool that has the CIDR you want to deprovision. + // + // IpamPoolId is a required field + IpamPoolId *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 DeprovisionIpamPoolCidrInput) 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 DeprovisionIpamPoolCidrInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeprovisionIpamPoolCidrInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeprovisionIpamPoolCidrInput"} + if s.IpamPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamPoolId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCidr sets the Cidr field's value. +func (s *DeprovisionIpamPoolCidrInput) SetCidr(v string) *DeprovisionIpamPoolCidrInput { + s.Cidr = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DeprovisionIpamPoolCidrInput) SetDryRun(v bool) *DeprovisionIpamPoolCidrInput { + s.DryRun = &v + return s +} + +// SetIpamPoolId sets the IpamPoolId field's value. +func (s *DeprovisionIpamPoolCidrInput) SetIpamPoolId(v string) *DeprovisionIpamPoolCidrInput { + s.IpamPoolId = &v + return s +} + +type DeprovisionIpamPoolCidrOutput struct { + _ struct{} `type:"structure"` + + // The deprovisioned pool CIDR. + IpamPoolCidr *IpamPoolCidr `locationName:"ipamPoolCidr" 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 DeprovisionIpamPoolCidrOutput) 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 DeprovisionIpamPoolCidrOutput) GoString() string { + return s.String() +} + +// SetIpamPoolCidr sets the IpamPoolCidr field's value. +func (s *DeprovisionIpamPoolCidrOutput) SetIpamPoolCidr(v *IpamPoolCidr) *DeprovisionIpamPoolCidrOutput { + s.IpamPoolCidr = v + return s +} + +type DeprovisionPublicIpv4PoolCidrInput struct { + _ struct{} `type:"structure"` + + // The CIDR you want to deprovision from the pool. + // + // Cidr is a required field + Cidr *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"` + + // The ID of the pool that you want to deprovision the CIDR from. + // + // PoolId is a required field + PoolId *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 DeprovisionPublicIpv4PoolCidrInput) 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 DeprovisionPublicIpv4PoolCidrInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeprovisionPublicIpv4PoolCidrInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeprovisionPublicIpv4PoolCidrInput"} + if s.Cidr == nil { + invalidParams.Add(request.NewErrParamRequired("Cidr")) + } + if s.PoolId == nil { + invalidParams.Add(request.NewErrParamRequired("PoolId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCidr sets the Cidr field's value. +func (s *DeprovisionPublicIpv4PoolCidrInput) SetCidr(v string) *DeprovisionPublicIpv4PoolCidrInput { + s.Cidr = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DeprovisionPublicIpv4PoolCidrInput) SetDryRun(v bool) *DeprovisionPublicIpv4PoolCidrInput { + s.DryRun = &v + return s +} + +// SetPoolId sets the PoolId field's value. +func (s *DeprovisionPublicIpv4PoolCidrInput) SetPoolId(v string) *DeprovisionPublicIpv4PoolCidrInput { + s.PoolId = &v + return s +} + +type DeprovisionPublicIpv4PoolCidrOutput struct { + _ struct{} `type:"structure"` + + // The deprovisioned CIDRs. + DeprovisionedAddresses []*string `locationName:"deprovisionedAddressSet" locationNameList:"item" type:"list"` + + // The ID of the pool that you deprovisioned the CIDR from. + PoolId *string `locationName:"poolId" 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 DeprovisionPublicIpv4PoolCidrOutput) 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 DeprovisionPublicIpv4PoolCidrOutput) GoString() string { + return s.String() +} + +// SetDeprovisionedAddresses sets the DeprovisionedAddresses field's value. +func (s *DeprovisionPublicIpv4PoolCidrOutput) SetDeprovisionedAddresses(v []*string) *DeprovisionPublicIpv4PoolCidrOutput { + s.DeprovisionedAddresses = v + return s +} + +// SetPoolId sets the PoolId field's value. +func (s *DeprovisionPublicIpv4PoolCidrOutput) SetPoolId(v string) *DeprovisionPublicIpv4PoolCidrOutput { + s.PoolId = &v + return s +} + // Contains the parameters for DeregisterImage. type DeregisterImageInput struct { _ struct{} `type:"structure"` @@ -71507,12 +77747,10 @@ type DescribeCapacityReservationsInput struct { // * owner-id - The ID of the Amazon Web Services account that owns the Capacity // Reservation. // - // * availability-zone-id - The Availability Zone ID of the Capacity Reservation. - // // * instance-platform - The type of operating system for which the Capacity // Reservation reserves capacity. // - // * availability-zone - The Availability Zone ID of the Capacity Reservation. + // * availability-zone - The Availability Zone of the Capacity Reservation. // // * tenancy - Indicates the tenancy of the Capacity Reservation. A Capacity // Reservation can have one of the following tenancy settings: default - @@ -73594,6 +79832,240 @@ func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExp return s } +type DescribeFastLaunchImagesInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // Use the following filters to streamline results. + // + // * resource-type - The resource type for pre-provisioning. + // + // * launch-template - The launch template that is associated with the pre-provisioned + // Windows AMI. + // + // * owner-id - The owner ID for the pre-provisioning resource. + // + // * state - The current state of fast launching for the Windows AMI. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // Details for one or more Windows AMI image IDs. + ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"` + + // The maximum number of results to return in a single call. To retrieve the + // remaining results, make another request with the returned NextToken value. + // If this parameter is not specified, then all results are returned. + MaxResults *int64 `type:"integer"` + + // The token for the next set 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 DescribeFastLaunchImagesInput) 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 DescribeFastLaunchImagesInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeFastLaunchImagesInput) SetDryRun(v bool) *DescribeFastLaunchImagesInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeFastLaunchImagesInput) SetFilters(v []*Filter) *DescribeFastLaunchImagesInput { + s.Filters = v + return s +} + +// SetImageIds sets the ImageIds field's value. +func (s *DescribeFastLaunchImagesInput) SetImageIds(v []*string) *DescribeFastLaunchImagesInput { + s.ImageIds = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeFastLaunchImagesInput) SetMaxResults(v int64) *DescribeFastLaunchImagesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFastLaunchImagesInput) SetNextToken(v string) *DescribeFastLaunchImagesInput { + s.NextToken = &v + return s +} + +type DescribeFastLaunchImagesOutput struct { + _ struct{} `type:"structure"` + + // A collection of details about the fast-launch enabled Windows images that + // meet the requested criteria. + FastLaunchImages []*DescribeFastLaunchImagesSuccessItem `locationName:"fastLaunchImageSet" locationNameList:"item" type:"list"` + + // The token to use for the next set of results. This value is null when there + // are no more results to return. + 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 DescribeFastLaunchImagesOutput) 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 DescribeFastLaunchImagesOutput) GoString() string { + return s.String() +} + +// SetFastLaunchImages sets the FastLaunchImages field's value. +func (s *DescribeFastLaunchImagesOutput) SetFastLaunchImages(v []*DescribeFastLaunchImagesSuccessItem) *DescribeFastLaunchImagesOutput { + s.FastLaunchImages = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFastLaunchImagesOutput) SetNextToken(v string) *DescribeFastLaunchImagesOutput { + s.NextToken = &v + return s +} + +// Describe details about a fast-launch enabled Windows image that meets the +// requested criteria. Criteria are defined by the DescribeFastLaunchImages +// action filters. +type DescribeFastLaunchImagesSuccessItem struct { + _ struct{} `type:"structure"` + + // The image ID that identifies the fast-launch enabled Windows image. + ImageId *string `locationName:"imageId" type:"string"` + + // The launch template that the fast-launch enabled Windows AMI uses when it + // launches Windows instances from pre-provisioned snapshots. + LaunchTemplate *FastLaunchLaunchTemplateSpecificationResponse `locationName:"launchTemplate" type:"structure"` + + // The maximum number of parallel instances that are launched for creating resources. + MaxParallelLaunches *int64 `locationName:"maxParallelLaunches" type:"integer"` + + // The owner ID for the fast-launch enabled Windows AMI. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The resource type that is used for pre-provisioning the Windows AMI. Supported + // values include: snapshot. + ResourceType *string `locationName:"resourceType" type:"string" enum:"FastLaunchResourceType"` + + // A group of parameters that are used for pre-provisioning the associated Windows + // AMI using snapshots. + SnapshotConfiguration *FastLaunchSnapshotConfigurationResponse `locationName:"snapshotConfiguration" type:"structure"` + + // The current state of faster launching for the specified Windows AMI. + State *string `locationName:"state" type:"string" enum:"FastLaunchStateCode"` + + // The reason that faster launching for the Windows AMI changed to the current + // state. + StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"` + + // The time that faster launching for the Windows AMI changed to the current + // state. + StateTransitionTime *time.Time `locationName:"stateTransitionTime" 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 DescribeFastLaunchImagesSuccessItem) 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 DescribeFastLaunchImagesSuccessItem) GoString() string { + return s.String() +} + +// SetImageId sets the ImageId field's value. +func (s *DescribeFastLaunchImagesSuccessItem) SetImageId(v string) *DescribeFastLaunchImagesSuccessItem { + s.ImageId = &v + return s +} + +// SetLaunchTemplate sets the LaunchTemplate field's value. +func (s *DescribeFastLaunchImagesSuccessItem) SetLaunchTemplate(v *FastLaunchLaunchTemplateSpecificationResponse) *DescribeFastLaunchImagesSuccessItem { + s.LaunchTemplate = v + return s +} + +// SetMaxParallelLaunches sets the MaxParallelLaunches field's value. +func (s *DescribeFastLaunchImagesSuccessItem) SetMaxParallelLaunches(v int64) *DescribeFastLaunchImagesSuccessItem { + s.MaxParallelLaunches = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *DescribeFastLaunchImagesSuccessItem) SetOwnerId(v string) *DescribeFastLaunchImagesSuccessItem { + s.OwnerId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *DescribeFastLaunchImagesSuccessItem) SetResourceType(v string) *DescribeFastLaunchImagesSuccessItem { + s.ResourceType = &v + return s +} + +// SetSnapshotConfiguration sets the SnapshotConfiguration field's value. +func (s *DescribeFastLaunchImagesSuccessItem) SetSnapshotConfiguration(v *FastLaunchSnapshotConfigurationResponse) *DescribeFastLaunchImagesSuccessItem { + s.SnapshotConfiguration = v + return s +} + +// SetState sets the State field's value. +func (s *DescribeFastLaunchImagesSuccessItem) SetState(v string) *DescribeFastLaunchImagesSuccessItem { + s.State = &v + return s +} + +// SetStateTransitionReason sets the StateTransitionReason field's value. +func (s *DescribeFastLaunchImagesSuccessItem) SetStateTransitionReason(v string) *DescribeFastLaunchImagesSuccessItem { + s.StateTransitionReason = &v + return s +} + +// SetStateTransitionTime sets the StateTransitionTime field's value. +func (s *DescribeFastLaunchImagesSuccessItem) SetStateTransitionTime(v time.Time) *DescribeFastLaunchImagesSuccessItem { + s.StateTransitionTime = &v + return s +} + // Describes fast snapshot restores for a snapshot. type DescribeFastSnapshotRestoreSuccessItem struct { _ struct{} `type:"structure"` @@ -77786,6 +84258,381 @@ func (s *DescribeInternetGatewaysOutput) SetNextToken(v string) *DescribeInterne return s } +type DescribeIpamPoolsInput 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"` + + // One or more filters for the request. For more information about filtering, + // see Filtering CLI output (https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html). + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The IDs of the IPAM pools you would like information on. + IpamPoolIds []*string `locationName:"IpamPoolId" locationNameList:"item" type:"list"` + + // The maximum number of results to return in the request. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for 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 DescribeIpamPoolsInput) 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 DescribeIpamPoolsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeIpamPoolsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIpamPoolsInput"} + 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 *DescribeIpamPoolsInput) SetDryRun(v bool) *DescribeIpamPoolsInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeIpamPoolsInput) SetFilters(v []*Filter) *DescribeIpamPoolsInput { + s.Filters = v + return s +} + +// SetIpamPoolIds sets the IpamPoolIds field's value. +func (s *DescribeIpamPoolsInput) SetIpamPoolIds(v []*string) *DescribeIpamPoolsInput { + s.IpamPoolIds = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeIpamPoolsInput) SetMaxResults(v int64) *DescribeIpamPoolsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeIpamPoolsInput) SetNextToken(v string) *DescribeIpamPoolsInput { + s.NextToken = &v + return s +} + +type DescribeIpamPoolsOutput struct { + _ struct{} `type:"structure"` + + // Information about the IPAM pools. + IpamPools []*IpamPool `locationName:"ipamPoolSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + 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 DescribeIpamPoolsOutput) 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 DescribeIpamPoolsOutput) GoString() string { + return s.String() +} + +// SetIpamPools sets the IpamPools field's value. +func (s *DescribeIpamPoolsOutput) SetIpamPools(v []*IpamPool) *DescribeIpamPoolsOutput { + s.IpamPools = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeIpamPoolsOutput) SetNextToken(v string) *DescribeIpamPoolsOutput { + s.NextToken = &v + return s +} + +type DescribeIpamScopesInput 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"` + + // One or more filters for the request. For more information about filtering, + // see Filtering CLI output (https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html). + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The IDs of the scopes you want information on. + IpamScopeIds []*string `locationName:"IpamScopeId" locationNameList:"item" type:"list"` + + // The maximum number of results to return in the request. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for 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 DescribeIpamScopesInput) 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 DescribeIpamScopesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeIpamScopesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIpamScopesInput"} + 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 *DescribeIpamScopesInput) SetDryRun(v bool) *DescribeIpamScopesInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeIpamScopesInput) SetFilters(v []*Filter) *DescribeIpamScopesInput { + s.Filters = v + return s +} + +// SetIpamScopeIds sets the IpamScopeIds field's value. +func (s *DescribeIpamScopesInput) SetIpamScopeIds(v []*string) *DescribeIpamScopesInput { + s.IpamScopeIds = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeIpamScopesInput) SetMaxResults(v int64) *DescribeIpamScopesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeIpamScopesInput) SetNextToken(v string) *DescribeIpamScopesInput { + s.NextToken = &v + return s +} + +type DescribeIpamScopesOutput struct { + _ struct{} `type:"structure"` + + // The scopes you want information on. + IpamScopes []*IpamScope `locationName:"ipamScopeSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + 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 DescribeIpamScopesOutput) 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 DescribeIpamScopesOutput) GoString() string { + return s.String() +} + +// SetIpamScopes sets the IpamScopes field's value. +func (s *DescribeIpamScopesOutput) SetIpamScopes(v []*IpamScope) *DescribeIpamScopesOutput { + s.IpamScopes = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeIpamScopesOutput) SetNextToken(v string) *DescribeIpamScopesOutput { + s.NextToken = &v + return s +} + +type DescribeIpamsInput 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"` + + // One or more filters for the request. For more information about filtering, + // see Filtering CLI output (https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html). + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The IDs of the IPAMs you want information on. + IpamIds []*string `locationName:"IpamId" locationNameList:"item" type:"list"` + + // The maximum number of results to return in the request. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for 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 DescribeIpamsInput) 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 DescribeIpamsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeIpamsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIpamsInput"} + 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 *DescribeIpamsInput) SetDryRun(v bool) *DescribeIpamsInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeIpamsInput) SetFilters(v []*Filter) *DescribeIpamsInput { + s.Filters = v + return s +} + +// SetIpamIds sets the IpamIds field's value. +func (s *DescribeIpamsInput) SetIpamIds(v []*string) *DescribeIpamsInput { + s.IpamIds = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeIpamsInput) SetMaxResults(v int64) *DescribeIpamsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeIpamsInput) SetNextToken(v string) *DescribeIpamsInput { + s.NextToken = &v + return s +} + +type DescribeIpamsOutput struct { + _ struct{} `type:"structure"` + + // Information about the IPAMs. + Ipams []*Ipam `locationName:"ipamSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + 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 DescribeIpamsOutput) 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 DescribeIpamsOutput) GoString() string { + return s.String() +} + +// SetIpams sets the Ipams field's value. +func (s *DescribeIpamsOutput) SetIpams(v []*Ipam) *DescribeIpamsOutput { + s.Ipams = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeIpamsOutput) SetNextToken(v string) *DescribeIpamsOutput { + s.NextToken = &v + return s +} + type DescribeIpv6PoolsInput struct { _ struct{} `type:"structure"` @@ -78047,6 +84894,18 @@ type DescribeLaunchTemplateVersionsInput struct { // * ebs-optimized - A boolean that indicates whether the instance is optimized // for Amazon EBS I/O. // + // * http-endpoint - Indicates whether the HTTP metadata endpoint on your + // instances is enabled (enabled | disabled). + // + // * http-protocol-ipv4 - Indicates whether the IPv4 endpoint for the instance + // metadata service is enabled (enabled | disabled). + // + // * host-resource-group-arn - The ARN of the host resource group in which + // to launch the instances. + // + // * http-tokens - The state of token usage for your instance metadata requests + // (optional | required). + // // * iam-instance-profile - The ARN of the IAM instance profile. // // * image-id - The ID of the AMI. @@ -78058,6 +84917,10 @@ type DescribeLaunchTemplateVersionsInput struct { // // * kernel-id - The kernel ID. // + // * license-configuration-arn - The ARN of the license configuration. + // + // * network-card-index - The index of the network card. + // // * ram-disk-id - The RAM disk ID. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -79760,6 +86623,285 @@ func (s *DescribeNetworkAclsOutput) SetNextToken(v string) *DescribeNetworkAclsO return s } +type DescribeNetworkInsightsAccessScopeAnalysesInput struct { + _ struct{} `type:"structure"` + + // Filters the results based on the start time. The analysis must have started + // on or after this time. + AnalysisStartTimeBegin *time.Time `type:"timestamp"` + + // Filters the results based on the start time. The analysis must have started + // on or before this time. + AnalysisStartTimeEnd *time.Time `type:"timestamp"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // There are no supported filters. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"1" type:"integer"` + + // The IDs of the Network Access Scope analyses. + NetworkInsightsAccessScopeAnalysisIds []*string `locationName:"NetworkInsightsAccessScopeAnalysisId" locationNameList:"item" type:"list"` + + // The ID of the Network Access Scope. + NetworkInsightsAccessScopeId *string `type:"string"` + + // The token for 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 DescribeNetworkInsightsAccessScopeAnalysesInput) 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 DescribeNetworkInsightsAccessScopeAnalysesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeNetworkInsightsAccessScopeAnalysesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInsightsAccessScopeAnalysesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalysisStartTimeBegin sets the AnalysisStartTimeBegin field's value. +func (s *DescribeNetworkInsightsAccessScopeAnalysesInput) SetAnalysisStartTimeBegin(v time.Time) *DescribeNetworkInsightsAccessScopeAnalysesInput { + s.AnalysisStartTimeBegin = &v + return s +} + +// SetAnalysisStartTimeEnd sets the AnalysisStartTimeEnd field's value. +func (s *DescribeNetworkInsightsAccessScopeAnalysesInput) SetAnalysisStartTimeEnd(v time.Time) *DescribeNetworkInsightsAccessScopeAnalysesInput { + s.AnalysisStartTimeEnd = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeNetworkInsightsAccessScopeAnalysesInput) SetDryRun(v bool) *DescribeNetworkInsightsAccessScopeAnalysesInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeNetworkInsightsAccessScopeAnalysesInput) SetFilters(v []*Filter) *DescribeNetworkInsightsAccessScopeAnalysesInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeNetworkInsightsAccessScopeAnalysesInput) SetMaxResults(v int64) *DescribeNetworkInsightsAccessScopeAnalysesInput { + s.MaxResults = &v + return s +} + +// SetNetworkInsightsAccessScopeAnalysisIds sets the NetworkInsightsAccessScopeAnalysisIds field's value. +func (s *DescribeNetworkInsightsAccessScopeAnalysesInput) SetNetworkInsightsAccessScopeAnalysisIds(v []*string) *DescribeNetworkInsightsAccessScopeAnalysesInput { + s.NetworkInsightsAccessScopeAnalysisIds = v + return s +} + +// SetNetworkInsightsAccessScopeId sets the NetworkInsightsAccessScopeId field's value. +func (s *DescribeNetworkInsightsAccessScopeAnalysesInput) SetNetworkInsightsAccessScopeId(v string) *DescribeNetworkInsightsAccessScopeAnalysesInput { + s.NetworkInsightsAccessScopeId = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeNetworkInsightsAccessScopeAnalysesInput) SetNextToken(v string) *DescribeNetworkInsightsAccessScopeAnalysesInput { + s.NextToken = &v + return s +} + +type DescribeNetworkInsightsAccessScopeAnalysesOutput struct { + _ struct{} `type:"structure"` + + // The Network Access Scope analyses. + NetworkInsightsAccessScopeAnalyses []*NetworkInsightsAccessScopeAnalysis `locationName:"networkInsightsAccessScopeAnalysisSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + 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 DescribeNetworkInsightsAccessScopeAnalysesOutput) 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 DescribeNetworkInsightsAccessScopeAnalysesOutput) GoString() string { + return s.String() +} + +// SetNetworkInsightsAccessScopeAnalyses sets the NetworkInsightsAccessScopeAnalyses field's value. +func (s *DescribeNetworkInsightsAccessScopeAnalysesOutput) SetNetworkInsightsAccessScopeAnalyses(v []*NetworkInsightsAccessScopeAnalysis) *DescribeNetworkInsightsAccessScopeAnalysesOutput { + s.NetworkInsightsAccessScopeAnalyses = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeNetworkInsightsAccessScopeAnalysesOutput) SetNextToken(v string) *DescribeNetworkInsightsAccessScopeAnalysesOutput { + s.NextToken = &v + return s +} + +type DescribeNetworkInsightsAccessScopesInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // There are no supported filters. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"1" type:"integer"` + + // The IDs of the Network Access Scopes. + NetworkInsightsAccessScopeIds []*string `locationName:"NetworkInsightsAccessScopeId" locationNameList:"item" type:"list"` + + // The token for 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 DescribeNetworkInsightsAccessScopesInput) 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 DescribeNetworkInsightsAccessScopesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeNetworkInsightsAccessScopesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInsightsAccessScopesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeNetworkInsightsAccessScopesInput) SetDryRun(v bool) *DescribeNetworkInsightsAccessScopesInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeNetworkInsightsAccessScopesInput) SetFilters(v []*Filter) *DescribeNetworkInsightsAccessScopesInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeNetworkInsightsAccessScopesInput) SetMaxResults(v int64) *DescribeNetworkInsightsAccessScopesInput { + s.MaxResults = &v + return s +} + +// SetNetworkInsightsAccessScopeIds sets the NetworkInsightsAccessScopeIds field's value. +func (s *DescribeNetworkInsightsAccessScopesInput) SetNetworkInsightsAccessScopeIds(v []*string) *DescribeNetworkInsightsAccessScopesInput { + s.NetworkInsightsAccessScopeIds = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeNetworkInsightsAccessScopesInput) SetNextToken(v string) *DescribeNetworkInsightsAccessScopesInput { + s.NextToken = &v + return s +} + +type DescribeNetworkInsightsAccessScopesOutput struct { + _ struct{} `type:"structure"` + + // The Network Access Scopes. + NetworkInsightsAccessScopes []*NetworkInsightsAccessScope `locationName:"networkInsightsAccessScopeSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + 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 DescribeNetworkInsightsAccessScopesOutput) 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 DescribeNetworkInsightsAccessScopesOutput) GoString() string { + return s.String() +} + +// SetNetworkInsightsAccessScopes sets the NetworkInsightsAccessScopes field's value. +func (s *DescribeNetworkInsightsAccessScopesOutput) SetNetworkInsightsAccessScopes(v []*NetworkInsightsAccessScope) *DescribeNetworkInsightsAccessScopesOutput { + s.NetworkInsightsAccessScopes = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeNetworkInsightsAccessScopesOutput) SetNextToken(v string) *DescribeNetworkInsightsAccessScopesOutput { + s.NextToken = &v + return s +} + type DescribeNetworkInsightsAnalysesInput struct { _ struct{} `type:"structure"` @@ -80564,6 +87706,8 @@ type DescribePlacementGroupsInput struct { // // * group-name - The name of the placement group. // + // * group-arn - The Amazon Resource Name (ARN) of the placement group. + // // * state - The state of the placement group (pending | available | deleting // | deleted). // @@ -82956,6 +90100,118 @@ func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnaps return s } +type DescribeSnapshotTierStatusInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The filters. + // + // * snapshot-id - The snapshot ID. + // + // * volume-id - The ID of the volume the snapshot is for. + // + // * last-tiering-operation - The state of the last archive or restore action. + // (archival-in-progress | archival-completed | archival-failed | permanent-restore-in-progress + // | permanent-restore-completed | permanent-restore-failed | temporary-restore-in-progress + // | temporary-restore-completed | temporary-restore-failed) + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `type:"integer"` + + // The token for 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 DescribeSnapshotTierStatusInput) 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 DescribeSnapshotTierStatusInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeSnapshotTierStatusInput) SetDryRun(v bool) *DescribeSnapshotTierStatusInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeSnapshotTierStatusInput) SetFilters(v []*Filter) *DescribeSnapshotTierStatusInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeSnapshotTierStatusInput) SetMaxResults(v int64) *DescribeSnapshotTierStatusInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSnapshotTierStatusInput) SetNextToken(v string) *DescribeSnapshotTierStatusInput { + s.NextToken = &v + return s +} + +type DescribeSnapshotTierStatusOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // Information about the snapshot's storage tier. + SnapshotTierStatuses []*SnapshotTierStatus `locationName:"snapshotTierStatusSet" 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 DescribeSnapshotTierStatusOutput) 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 DescribeSnapshotTierStatusOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSnapshotTierStatusOutput) SetNextToken(v string) *DescribeSnapshotTierStatusOutput { + s.NextToken = &v + return s +} + +// SetSnapshotTierStatuses sets the SnapshotTierStatuses field's value. +func (s *DescribeSnapshotTierStatusOutput) SetSnapshotTierStatuses(v []*SnapshotTierStatus) *DescribeSnapshotTierStatusOutput { + s.SnapshotTierStatuses = v + return s +} + type DescribeSnapshotsInput struct { _ struct{} `type:"structure"` @@ -82988,6 +90244,8 @@ type DescribeSnapshotsInput struct { // // * status - The status of the snapshot (pending | completed | error). // + // * storage-tier - The storage tier of the snapshot (archive | standard). + // // * tag: - The key/value combination of a tag assigned to the resource. // Use the tag key in the filter name and the tag value as the filter value. // For example, to find all resources that have a tag with the key Owner @@ -84298,7 +91556,8 @@ type DescribeSubnetsInput struct { // for the subnet. You can also use cidr or cidrBlock as the filter names. // // * default-for-az - Indicates whether this is the default subnet for the - // Availability Zone. You can also use defaultForAz as the filter name. + // Availability Zone (true | false). You can also use defaultForAz as the + // filter name. // // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated // with the subnet. @@ -84309,6 +91568,9 @@ type DescribeSubnetsInput struct { // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block // associated with the subnet. // + // * ipv6-native - Indicates whether this is an IPv6 only subnet (true | + // false). + // // * outpost-arn - The Amazon Resource Name (ARN) of the Outpost. // // * owner-id - The ID of the Amazon Web Services account that owns the subnet. @@ -89339,6 +96601,182 @@ func (s *DisableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) return s } +type DisableFastLaunchInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // Forces the image settings to turn off faster launching for your Windows AMI. + // This parameter overrides any errors that are encountered while cleaning up + // resources in your account. + Force *bool `type:"boolean"` + + // The ID of the image for which you’re turning off faster launching, and + // removing pre-provisioned snapshots. + // + // ImageId is a required field + ImageId *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 DisableFastLaunchInput) 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 DisableFastLaunchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisableFastLaunchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableFastLaunchInput"} + if s.ImageId == nil { + invalidParams.Add(request.NewErrParamRequired("ImageId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DisableFastLaunchInput) SetDryRun(v bool) *DisableFastLaunchInput { + s.DryRun = &v + return s +} + +// SetForce sets the Force field's value. +func (s *DisableFastLaunchInput) SetForce(v bool) *DisableFastLaunchInput { + s.Force = &v + return s +} + +// SetImageId sets the ImageId field's value. +func (s *DisableFastLaunchInput) SetImageId(v string) *DisableFastLaunchInput { + s.ImageId = &v + return s +} + +type DisableFastLaunchOutput struct { + _ struct{} `type:"structure"` + + // The ID of the image for which faster-launching has been turned off. + ImageId *string `locationName:"imageId" type:"string"` + + // The launch template that was used to launch Windows instances from pre-provisioned + // snapshots. + LaunchTemplate *FastLaunchLaunchTemplateSpecificationResponse `locationName:"launchTemplate" type:"structure"` + + // The maximum number of parallel instances to launch for creating resources. + MaxParallelLaunches *int64 `locationName:"maxParallelLaunches" type:"integer"` + + // The owner of the Windows AMI for which faster launching was turned off. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The pre-provisioning resource type that must be cleaned after turning off + // faster launching for the Windows AMI. Supported values include: snapshot. + ResourceType *string `locationName:"resourceType" type:"string" enum:"FastLaunchResourceType"` + + // Parameters that were used for faster launching for the Windows AMI before + // faster launching was turned off. This informs the clean-up process. + SnapshotConfiguration *FastLaunchSnapshotConfigurationResponse `locationName:"snapshotConfiguration" type:"structure"` + + // The current state of faster launching for the specified Windows AMI. + State *string `locationName:"state" type:"string" enum:"FastLaunchStateCode"` + + // The reason that the state changed for faster launching for the Windows AMI. + StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"` + + // The time that the state changed for faster launching for the Windows AMI. + StateTransitionTime *time.Time `locationName:"stateTransitionTime" 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 DisableFastLaunchOutput) 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 DisableFastLaunchOutput) GoString() string { + return s.String() +} + +// SetImageId sets the ImageId field's value. +func (s *DisableFastLaunchOutput) SetImageId(v string) *DisableFastLaunchOutput { + s.ImageId = &v + return s +} + +// SetLaunchTemplate sets the LaunchTemplate field's value. +func (s *DisableFastLaunchOutput) SetLaunchTemplate(v *FastLaunchLaunchTemplateSpecificationResponse) *DisableFastLaunchOutput { + s.LaunchTemplate = v + return s +} + +// SetMaxParallelLaunches sets the MaxParallelLaunches field's value. +func (s *DisableFastLaunchOutput) SetMaxParallelLaunches(v int64) *DisableFastLaunchOutput { + s.MaxParallelLaunches = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *DisableFastLaunchOutput) SetOwnerId(v string) *DisableFastLaunchOutput { + s.OwnerId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *DisableFastLaunchOutput) SetResourceType(v string) *DisableFastLaunchOutput { + s.ResourceType = &v + return s +} + +// SetSnapshotConfiguration sets the SnapshotConfiguration field's value. +func (s *DisableFastLaunchOutput) SetSnapshotConfiguration(v *FastLaunchSnapshotConfigurationResponse) *DisableFastLaunchOutput { + s.SnapshotConfiguration = v + return s +} + +// SetState sets the State field's value. +func (s *DisableFastLaunchOutput) SetState(v string) *DisableFastLaunchOutput { + s.State = &v + return s +} + +// SetStateTransitionReason sets the StateTransitionReason field's value. +func (s *DisableFastLaunchOutput) SetStateTransitionReason(v string) *DisableFastLaunchOutput { + s.StateTransitionReason = &v + return s +} + +// SetStateTransitionTime sets the StateTransitionTime field's value. +func (s *DisableFastLaunchOutput) SetStateTransitionTime(v time.Time) *DisableFastLaunchOutput { + s.StateTransitionTime = &v + return s +} + // Contains information about the errors that occurred when disabling fast snapshot // restores. type DisableFastSnapshotRestoreErrorItem struct { @@ -89797,6 +97235,95 @@ func (s *DisableImageDeprecationOutput) SetReturn(v bool) *DisableImageDeprecati return s } +type DisableIpamOrganizationAdminAccountInput struct { + _ struct{} `type:"structure"` + + // The Organizations member account ID that you want to disable as IPAM account. + // + // DelegatedAdminAccountId is a required field + DelegatedAdminAccountId *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"` +} + +// 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 DisableIpamOrganizationAdminAccountInput) 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 DisableIpamOrganizationAdminAccountInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisableIpamOrganizationAdminAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableIpamOrganizationAdminAccountInput"} + if s.DelegatedAdminAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("DelegatedAdminAccountId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDelegatedAdminAccountId sets the DelegatedAdminAccountId field's value. +func (s *DisableIpamOrganizationAdminAccountInput) SetDelegatedAdminAccountId(v string) *DisableIpamOrganizationAdminAccountInput { + s.DelegatedAdminAccountId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DisableIpamOrganizationAdminAccountInput) SetDryRun(v bool) *DisableIpamOrganizationAdminAccountInput { + s.DryRun = &v + return s +} + +type DisableIpamOrganizationAdminAccountOutput struct { + _ struct{} `type:"structure"` + + // The result of disabling the IPAM account. + Success *bool `locationName:"success" type:"boolean"` +} + +// 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 DisableIpamOrganizationAdminAccountOutput) 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 DisableIpamOrganizationAdminAccountOutput) GoString() string { + return s.String() +} + +// SetSuccess sets the Success field's value. +func (s *DisableIpamOrganizationAdminAccountOutput) SetSuccess(v bool) *DisableIpamOrganizationAdminAccountOutput { + s.Success = &v + return s +} + type DisableSerialConsoleAccessInput struct { _ struct{} `type:"structure"` @@ -92575,6 +100102,218 @@ func (s *EnableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) * return s } +type EnableFastLaunchInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the image for which you’re enabling faster launching. + // + // ImageId is a required field + ImageId *string `type:"string" required:"true"` + + // The launch template to use when launching Windows instances from pre-provisioned + // snapshots. Launch template parameters can include either the name or ID of + // the launch template, but not both. + LaunchTemplate *FastLaunchLaunchTemplateSpecificationRequest `type:"structure"` + + // The maximum number of parallel instances to launch for creating resources. + MaxParallelLaunches *int64 `type:"integer"` + + // The type of resource to use for pre-provisioning the Windows AMI for faster + // launching. Supported values include: snapshot, which is the default value. + ResourceType *string `type:"string"` + + // Configuration settings for creating and managing the snapshots that are used + // for pre-provisioning the Windows AMI for faster launching. The associated + // ResourceType must be snapshot. + SnapshotConfiguration *FastLaunchSnapshotConfigurationRequest `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 EnableFastLaunchInput) 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 EnableFastLaunchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableFastLaunchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableFastLaunchInput"} + if s.ImageId == nil { + invalidParams.Add(request.NewErrParamRequired("ImageId")) + } + if s.LaunchTemplate != nil { + if err := s.LaunchTemplate.Validate(); err != nil { + invalidParams.AddNested("LaunchTemplate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *EnableFastLaunchInput) SetDryRun(v bool) *EnableFastLaunchInput { + s.DryRun = &v + return s +} + +// SetImageId sets the ImageId field's value. +func (s *EnableFastLaunchInput) SetImageId(v string) *EnableFastLaunchInput { + s.ImageId = &v + return s +} + +// SetLaunchTemplate sets the LaunchTemplate field's value. +func (s *EnableFastLaunchInput) SetLaunchTemplate(v *FastLaunchLaunchTemplateSpecificationRequest) *EnableFastLaunchInput { + s.LaunchTemplate = v + return s +} + +// SetMaxParallelLaunches sets the MaxParallelLaunches field's value. +func (s *EnableFastLaunchInput) SetMaxParallelLaunches(v int64) *EnableFastLaunchInput { + s.MaxParallelLaunches = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *EnableFastLaunchInput) SetResourceType(v string) *EnableFastLaunchInput { + s.ResourceType = &v + return s +} + +// SetSnapshotConfiguration sets the SnapshotConfiguration field's value. +func (s *EnableFastLaunchInput) SetSnapshotConfiguration(v *FastLaunchSnapshotConfigurationRequest) *EnableFastLaunchInput { + s.SnapshotConfiguration = v + return s +} + +type EnableFastLaunchOutput struct { + _ struct{} `type:"structure"` + + // The image ID that identifies the Windows AMI for which faster launching was + // enabled. + ImageId *string `locationName:"imageId" type:"string"` + + // The launch template that is used when launching Windows instances from pre-provisioned + // snapshots. + LaunchTemplate *FastLaunchLaunchTemplateSpecificationResponse `locationName:"launchTemplate" type:"structure"` + + // The maximum number of parallel instances to launch for creating resources. + MaxParallelLaunches *int64 `locationName:"maxParallelLaunches" type:"integer"` + + // The owner ID for the Windows AMI for which faster launching was enabled. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The type of resource that was defined for pre-provisioning the Windows AMI + // for faster launching. + ResourceType *string `locationName:"resourceType" type:"string" enum:"FastLaunchResourceType"` + + // The configuration settings that were defined for creating and managing the + // pre-provisioned snapshots for faster launching of the Windows AMI. This property + // is returned when the associated resourceType is snapshot. + SnapshotConfiguration *FastLaunchSnapshotConfigurationResponse `locationName:"snapshotConfiguration" type:"structure"` + + // The current state of faster launching for the specified Windows AMI. + State *string `locationName:"state" type:"string" enum:"FastLaunchStateCode"` + + // The reason that the state changed for faster launching for the Windows AMI. + StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"` + + // The time that the state changed for faster launching for the Windows AMI. + StateTransitionTime *time.Time `locationName:"stateTransitionTime" 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 EnableFastLaunchOutput) 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 EnableFastLaunchOutput) GoString() string { + return s.String() +} + +// SetImageId sets the ImageId field's value. +func (s *EnableFastLaunchOutput) SetImageId(v string) *EnableFastLaunchOutput { + s.ImageId = &v + return s +} + +// SetLaunchTemplate sets the LaunchTemplate field's value. +func (s *EnableFastLaunchOutput) SetLaunchTemplate(v *FastLaunchLaunchTemplateSpecificationResponse) *EnableFastLaunchOutput { + s.LaunchTemplate = v + return s +} + +// SetMaxParallelLaunches sets the MaxParallelLaunches field's value. +func (s *EnableFastLaunchOutput) SetMaxParallelLaunches(v int64) *EnableFastLaunchOutput { + s.MaxParallelLaunches = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *EnableFastLaunchOutput) SetOwnerId(v string) *EnableFastLaunchOutput { + s.OwnerId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *EnableFastLaunchOutput) SetResourceType(v string) *EnableFastLaunchOutput { + s.ResourceType = &v + return s +} + +// SetSnapshotConfiguration sets the SnapshotConfiguration field's value. +func (s *EnableFastLaunchOutput) SetSnapshotConfiguration(v *FastLaunchSnapshotConfigurationResponse) *EnableFastLaunchOutput { + s.SnapshotConfiguration = v + return s +} + +// SetState sets the State field's value. +func (s *EnableFastLaunchOutput) SetState(v string) *EnableFastLaunchOutput { + s.State = &v + return s +} + +// SetStateTransitionReason sets the StateTransitionReason field's value. +func (s *EnableFastLaunchOutput) SetStateTransitionReason(v string) *EnableFastLaunchOutput { + s.StateTransitionReason = &v + return s +} + +// SetStateTransitionTime sets the StateTransitionTime field's value. +func (s *EnableFastLaunchOutput) SetStateTransitionTime(v time.Time) *EnableFastLaunchOutput { + s.StateTransitionTime = &v + return s +} + // Contains information about the errors that occurred when enabling fast snapshot // restores. type EnableFastSnapshotRestoreErrorItem struct { @@ -93054,6 +100793,95 @@ func (s *EnableImageDeprecationOutput) SetReturn(v bool) *EnableImageDeprecation return s } +type EnableIpamOrganizationAdminAccountInput struct { + _ struct{} `type:"structure"` + + // The Organizations member account ID that you want to enable as the IPAM account. + // + // DelegatedAdminAccountId is a required field + DelegatedAdminAccountId *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"` +} + +// 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 EnableIpamOrganizationAdminAccountInput) 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 EnableIpamOrganizationAdminAccountInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableIpamOrganizationAdminAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableIpamOrganizationAdminAccountInput"} + if s.DelegatedAdminAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("DelegatedAdminAccountId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDelegatedAdminAccountId sets the DelegatedAdminAccountId field's value. +func (s *EnableIpamOrganizationAdminAccountInput) SetDelegatedAdminAccountId(v string) *EnableIpamOrganizationAdminAccountInput { + s.DelegatedAdminAccountId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *EnableIpamOrganizationAdminAccountInput) SetDryRun(v bool) *EnableIpamOrganizationAdminAccountInput { + s.DryRun = &v + return s +} + +type EnableIpamOrganizationAdminAccountOutput struct { + _ struct{} `type:"structure"` + + // The result of enabling the IPAM account. + Success *bool `locationName:"success" type:"boolean"` +} + +// 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 EnableIpamOrganizationAdminAccountOutput) 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 EnableIpamOrganizationAdminAccountOutput) GoString() string { + return s.String() +} + +// SetSuccess sets the Success field's value. +func (s *EnableIpamOrganizationAdminAccountOutput) SetSuccess(v bool) *EnableIpamOrganizationAdminAccountOutput { + s.Success = &v + return s +} + type EnableSerialConsoleAccessInput struct { _ struct{} `type:"structure"` @@ -95237,6 +103065,198 @@ func (s *FailedQueuedPurchaseDeletion) SetReservedInstancesId(v string) *FailedQ return s } +// Request to create a launch template for a fast-launch enabled Windows AMI. +// +// Note - You can specify either the LaunchTemplateName or the LaunchTemplateId, +// but not both. +type FastLaunchLaunchTemplateSpecificationRequest struct { + _ struct{} `type:"structure"` + + // The ID of the launch template to use for faster launching for a Windows AMI. + LaunchTemplateId *string `type:"string"` + + // The name of the launch template to use for faster launching for a Windows + // AMI. + LaunchTemplateName *string `type:"string"` + + // The version of the launch template to use for faster launching for a Windows + // AMI. + // + // Version is a required field + Version *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 FastLaunchLaunchTemplateSpecificationRequest) 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 FastLaunchLaunchTemplateSpecificationRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FastLaunchLaunchTemplateSpecificationRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FastLaunchLaunchTemplateSpecificationRequest"} + if s.Version == nil { + invalidParams.Add(request.NewErrParamRequired("Version")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLaunchTemplateId sets the LaunchTemplateId field's value. +func (s *FastLaunchLaunchTemplateSpecificationRequest) SetLaunchTemplateId(v string) *FastLaunchLaunchTemplateSpecificationRequest { + s.LaunchTemplateId = &v + return s +} + +// SetLaunchTemplateName sets the LaunchTemplateName field's value. +func (s *FastLaunchLaunchTemplateSpecificationRequest) SetLaunchTemplateName(v string) *FastLaunchLaunchTemplateSpecificationRequest { + s.LaunchTemplateName = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *FastLaunchLaunchTemplateSpecificationRequest) SetVersion(v string) *FastLaunchLaunchTemplateSpecificationRequest { + s.Version = &v + return s +} + +// Identifies the launch template to use for faster launching of the Windows +// AMI. +type FastLaunchLaunchTemplateSpecificationResponse struct { + _ struct{} `type:"structure"` + + // The ID of the launch template for faster launching of the associated Windows + // AMI. + LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"` + + // The name of the launch template for faster launching of the associated Windows + // AMI. + LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"` + + // The version of the launch template for faster launching of the associated + // Windows AMI. + Version *string `locationName:"version" 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 FastLaunchLaunchTemplateSpecificationResponse) 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 FastLaunchLaunchTemplateSpecificationResponse) GoString() string { + return s.String() +} + +// SetLaunchTemplateId sets the LaunchTemplateId field's value. +func (s *FastLaunchLaunchTemplateSpecificationResponse) SetLaunchTemplateId(v string) *FastLaunchLaunchTemplateSpecificationResponse { + s.LaunchTemplateId = &v + return s +} + +// SetLaunchTemplateName sets the LaunchTemplateName field's value. +func (s *FastLaunchLaunchTemplateSpecificationResponse) SetLaunchTemplateName(v string) *FastLaunchLaunchTemplateSpecificationResponse { + s.LaunchTemplateName = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *FastLaunchLaunchTemplateSpecificationResponse) SetVersion(v string) *FastLaunchLaunchTemplateSpecificationResponse { + s.Version = &v + return s +} + +// Configuration settings for creating and managing pre-provisioned snapshots +// for a fast-launch enabled Windows AMI. +type FastLaunchSnapshotConfigurationRequest struct { + _ struct{} `type:"structure"` + + // The number of pre-provisioned snapshots to keep on hand for a fast-launch + // enabled Windows AMI. + TargetResourceCount *int64 `type:"integer"` +} + +// 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 FastLaunchSnapshotConfigurationRequest) 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 FastLaunchSnapshotConfigurationRequest) GoString() string { + return s.String() +} + +// SetTargetResourceCount sets the TargetResourceCount field's value. +func (s *FastLaunchSnapshotConfigurationRequest) SetTargetResourceCount(v int64) *FastLaunchSnapshotConfigurationRequest { + s.TargetResourceCount = &v + return s +} + +// Configuration settings for creating and managing pre-provisioned snapshots +// for a fast-launch enabled Windows AMI. +type FastLaunchSnapshotConfigurationResponse struct { + _ struct{} `type:"structure"` + + // The number of pre-provisioned snapshots requested to keep on hand for a fast-launch + // enabled Windows AMI. + TargetResourceCount *int64 `locationName:"targetResourceCount" type:"integer"` +} + +// 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 FastLaunchSnapshotConfigurationResponse) 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 FastLaunchSnapshotConfigurationResponse) GoString() string { + return s.String() +} + +// SetTargetResourceCount sets the TargetResourceCount field's value. +func (s *FastLaunchSnapshotConfigurationResponse) SetTargetResourceCount(v int64) *FastLaunchSnapshotConfigurationResponse { + s.TargetResourceCount = &v + return s +} + // Describes the IAM SAML identity providers used for federated authentication. type FederatedAuthentication struct { _ struct{} `type:"structure"` @@ -95324,13 +103344,18 @@ func (s *FederatedAuthenticationRequest) SetSelfServiceSAMLProviderArn(v string) // A filter name and value pair that is used to return a more specific list // of results from a describe operation. Filters can be used to match a set // of resources by specific criteria, such as tags, attributes, or IDs. +// +// If you specify multiple filters, the filters are joined with an AND, and +// the request returns only results that match all of the specified filters. type Filter struct { _ struct{} `type:"structure"` // The name of the filter. Filter names are case-sensitive. Name *string `type:"string"` - // The filter values. Filter values are case-sensitive. + // The filter values. Filter values are case-sensitive. If you specify multiple + // values for a filter, the values are joined with an OR, and the request returns + // all results that match any of the specified values. Values []*string `locationName:"Value" locationNameList:"item" type:"list"` } @@ -96269,6 +104294,12 @@ type FleetSpotCapacityRebalance struct { // The amount of time (in seconds) that Amazon EC2 waits before terminating // the old Spot Instance after launching a new replacement Spot Instance. + // + // Required when ReplacementStrategy is set to launch-before-terminate. + // + // Not valid when ReplacementStrategy is set to launch. + // + // Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds. TerminationDelay *int64 `locationName:"terminationDelay" type:"integer"` } @@ -96304,7 +104335,7 @@ func (s *FleetSpotCapacityRebalance) SetTerminationDelay(v int64) *FleetSpotCapa // The Spot Instance replacement strategy to use when Amazon EC2 emits a rebalance // notification signal that your Spot Instance is at an elevated risk of being -// interrupted. For more information, see Capacity rebalancing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-capacity-rebalance) +// interrupted. For more information, see Capacity rebalancing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-capacity-rebalance.html) // in the Amazon EC2 User Guide. type FleetSpotCapacityRebalanceRequest struct { _ struct{} `type:"structure"` @@ -96325,6 +104356,12 @@ type FleetSpotCapacityRebalanceRequest struct { // The amount of time (in seconds) that Amazon EC2 waits before terminating // the old Spot Instance after launching a new replacement Spot Instance. + // + // Required when ReplacementStrategy is set to launch-before-terminate. + // + // Not valid when ReplacementStrategy is set to launch. + // + // Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds. TerminationDelay *int64 `type:"integer"` } @@ -98519,6 +106556,618 @@ func (s *GetInstanceTypesFromInstanceRequirementsOutput) SetNextToken(v string) return s } +type GetIpamAddressHistoryInput struct { + _ struct{} `type:"structure"` + + // The CIDR you want the history of. The CIDR can be an IPv4 or IPv6 IP address + // range. If you enter a /16 IPv4 CIDR, you will get records that match it exactly. + // You will not get records for any subnets within the /16 CIDR. + // + // Cidr is a required field + Cidr *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"` + + // The end of the time period for which you are looking for history. If you + // omit this option, it will default to the current time. + EndTime *time.Time `type:"timestamp"` + + // The ID of the IPAM scope that the CIDR is in. + // + // IpamScopeId is a required field + IpamScopeId *string `type:"string" required:"true"` + + // The maximum number of historical results you would like returned per page. + // Defaults to 100. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` + + // The start of the time period for which you are looking for history. If you + // omit this option, it will default to the value of EndTime. + StartTime *time.Time `type:"timestamp"` + + // The ID of the VPC you want your history records filtered by. + VpcId *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 GetIpamAddressHistoryInput) 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 GetIpamAddressHistoryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIpamAddressHistoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIpamAddressHistoryInput"} + if s.Cidr == nil { + invalidParams.Add(request.NewErrParamRequired("Cidr")) + } + if s.IpamScopeId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamScopeId")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCidr sets the Cidr field's value. +func (s *GetIpamAddressHistoryInput) SetCidr(v string) *GetIpamAddressHistoryInput { + s.Cidr = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *GetIpamAddressHistoryInput) SetDryRun(v bool) *GetIpamAddressHistoryInput { + s.DryRun = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *GetIpamAddressHistoryInput) SetEndTime(v time.Time) *GetIpamAddressHistoryInput { + s.EndTime = &v + return s +} + +// SetIpamScopeId sets the IpamScopeId field's value. +func (s *GetIpamAddressHistoryInput) SetIpamScopeId(v string) *GetIpamAddressHistoryInput { + s.IpamScopeId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetIpamAddressHistoryInput) SetMaxResults(v int64) *GetIpamAddressHistoryInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIpamAddressHistoryInput) SetNextToken(v string) *GetIpamAddressHistoryInput { + s.NextToken = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *GetIpamAddressHistoryInput) SetStartTime(v time.Time) *GetIpamAddressHistoryInput { + s.StartTime = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *GetIpamAddressHistoryInput) SetVpcId(v string) *GetIpamAddressHistoryInput { + s.VpcId = &v + return s +} + +type GetIpamAddressHistoryOutput struct { + _ struct{} `type:"structure"` + + // A historical record for a CIDR within an IPAM scope. If the CIDR is associated + // with an EC2 instance, you will see an object in the response for the instance + // and one for the network interface. + HistoryRecords []*IpamAddressHistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + 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 GetIpamAddressHistoryOutput) 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 GetIpamAddressHistoryOutput) GoString() string { + return s.String() +} + +// SetHistoryRecords sets the HistoryRecords field's value. +func (s *GetIpamAddressHistoryOutput) SetHistoryRecords(v []*IpamAddressHistoryRecord) *GetIpamAddressHistoryOutput { + s.HistoryRecords = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIpamAddressHistoryOutput) SetNextToken(v string) *GetIpamAddressHistoryOutput { + s.NextToken = &v + return s +} + +type GetIpamPoolAllocationsInput 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"` + + // One or more filters for the request. For more information about filtering, + // see Filtering CLI output (https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html). + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The ID of the allocation. + IpamPoolAllocationId *string `type:"string"` + + // The ID of the IPAM pool you want to see the allocations for. + // + // IpamPoolId is a required field + IpamPoolId *string `type:"string" required:"true"` + + // The maximum number of results you would like returned per page. + MaxResults *int64 `min:"1000" type:"integer"` + + // The token for 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 GetIpamPoolAllocationsInput) 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 GetIpamPoolAllocationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIpamPoolAllocationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIpamPoolAllocationsInput"} + if s.IpamPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamPoolId")) + } + if s.MaxResults != nil && *s.MaxResults < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *GetIpamPoolAllocationsInput) SetDryRun(v bool) *GetIpamPoolAllocationsInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *GetIpamPoolAllocationsInput) SetFilters(v []*Filter) *GetIpamPoolAllocationsInput { + s.Filters = v + return s +} + +// SetIpamPoolAllocationId sets the IpamPoolAllocationId field's value. +func (s *GetIpamPoolAllocationsInput) SetIpamPoolAllocationId(v string) *GetIpamPoolAllocationsInput { + s.IpamPoolAllocationId = &v + return s +} + +// SetIpamPoolId sets the IpamPoolId field's value. +func (s *GetIpamPoolAllocationsInput) SetIpamPoolId(v string) *GetIpamPoolAllocationsInput { + s.IpamPoolId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetIpamPoolAllocationsInput) SetMaxResults(v int64) *GetIpamPoolAllocationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIpamPoolAllocationsInput) SetNextToken(v string) *GetIpamPoolAllocationsInput { + s.NextToken = &v + return s +} + +type GetIpamPoolAllocationsOutput struct { + _ struct{} `type:"structure"` + + // The IPAM pool allocations you want information on. + IpamPoolAllocations []*IpamPoolAllocation `locationName:"ipamPoolAllocationSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + 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 GetIpamPoolAllocationsOutput) 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 GetIpamPoolAllocationsOutput) GoString() string { + return s.String() +} + +// SetIpamPoolAllocations sets the IpamPoolAllocations field's value. +func (s *GetIpamPoolAllocationsOutput) SetIpamPoolAllocations(v []*IpamPoolAllocation) *GetIpamPoolAllocationsOutput { + s.IpamPoolAllocations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIpamPoolAllocationsOutput) SetNextToken(v string) *GetIpamPoolAllocationsOutput { + s.NextToken = &v + return s +} + +type GetIpamPoolCidrsInput 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"` + + // One or more filters for the request. For more information about filtering, + // see Filtering CLI output (https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html). + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The ID of the IPAM pool you want the CIDR for. + // + // IpamPoolId is a required field + IpamPoolId *string `type:"string" required:"true"` + + // The maximum number of results to return in the request. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for 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 GetIpamPoolCidrsInput) 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 GetIpamPoolCidrsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIpamPoolCidrsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIpamPoolCidrsInput"} + if s.IpamPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamPoolId")) + } + 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 *GetIpamPoolCidrsInput) SetDryRun(v bool) *GetIpamPoolCidrsInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *GetIpamPoolCidrsInput) SetFilters(v []*Filter) *GetIpamPoolCidrsInput { + s.Filters = v + return s +} + +// SetIpamPoolId sets the IpamPoolId field's value. +func (s *GetIpamPoolCidrsInput) SetIpamPoolId(v string) *GetIpamPoolCidrsInput { + s.IpamPoolId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetIpamPoolCidrsInput) SetMaxResults(v int64) *GetIpamPoolCidrsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIpamPoolCidrsInput) SetNextToken(v string) *GetIpamPoolCidrsInput { + s.NextToken = &v + return s +} + +type GetIpamPoolCidrsOutput struct { + _ struct{} `type:"structure"` + + // Information about the CIDRs provisioned to an IPAM pool. + IpamPoolCidrs []*IpamPoolCidr `locationName:"ipamPoolCidrSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + 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 GetIpamPoolCidrsOutput) 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 GetIpamPoolCidrsOutput) GoString() string { + return s.String() +} + +// SetIpamPoolCidrs sets the IpamPoolCidrs field's value. +func (s *GetIpamPoolCidrsOutput) SetIpamPoolCidrs(v []*IpamPoolCidr) *GetIpamPoolCidrsOutput { + s.IpamPoolCidrs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIpamPoolCidrsOutput) SetNextToken(v string) *GetIpamPoolCidrsOutput { + s.NextToken = &v + return s +} + +type GetIpamResourceCidrsInput 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"` + + // One or more filters for the request. For more information about filtering, + // see Filtering CLI output (https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html). + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The ID of the IPAM pool that the resource is in. + IpamPoolId *string `type:"string"` + + // The ID of the scope that the resource is in. + // + // IpamScopeId is a required field + IpamScopeId *string `type:"string" required:"true"` + + // The maximum number of results to return in the request. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` + + // The ID of the resource. + ResourceId *string `type:"string"` + + // The ID of the Amazon Web Services account that owns the resource. + ResourceOwner *string `type:"string"` + + // A tag on an IPAM resource. + ResourceTag *RequestIpamResourceTag `type:"structure"` + + // The resource type. + ResourceType *string `type:"string" enum:"IpamResourceType"` +} + +// 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 GetIpamResourceCidrsInput) 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 GetIpamResourceCidrsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIpamResourceCidrsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIpamResourceCidrsInput"} + if s.IpamScopeId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamScopeId")) + } + 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 *GetIpamResourceCidrsInput) SetDryRun(v bool) *GetIpamResourceCidrsInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *GetIpamResourceCidrsInput) SetFilters(v []*Filter) *GetIpamResourceCidrsInput { + s.Filters = v + return s +} + +// SetIpamPoolId sets the IpamPoolId field's value. +func (s *GetIpamResourceCidrsInput) SetIpamPoolId(v string) *GetIpamResourceCidrsInput { + s.IpamPoolId = &v + return s +} + +// SetIpamScopeId sets the IpamScopeId field's value. +func (s *GetIpamResourceCidrsInput) SetIpamScopeId(v string) *GetIpamResourceCidrsInput { + s.IpamScopeId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetIpamResourceCidrsInput) SetMaxResults(v int64) *GetIpamResourceCidrsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIpamResourceCidrsInput) SetNextToken(v string) *GetIpamResourceCidrsInput { + s.NextToken = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *GetIpamResourceCidrsInput) SetResourceId(v string) *GetIpamResourceCidrsInput { + s.ResourceId = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *GetIpamResourceCidrsInput) SetResourceOwner(v string) *GetIpamResourceCidrsInput { + s.ResourceOwner = &v + return s +} + +// SetResourceTag sets the ResourceTag field's value. +func (s *GetIpamResourceCidrsInput) SetResourceTag(v *RequestIpamResourceTag) *GetIpamResourceCidrsInput { + s.ResourceTag = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *GetIpamResourceCidrsInput) SetResourceType(v string) *GetIpamResourceCidrsInput { + s.ResourceType = &v + return s +} + +type GetIpamResourceCidrsOutput struct { + _ struct{} `type:"structure"` + + // The resource CIDRs. + IpamResourceCidrs []*IpamResourceCidr `locationName:"ipamResourceCidrSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + 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 GetIpamResourceCidrsOutput) 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 GetIpamResourceCidrsOutput) GoString() string { + return s.String() +} + +// SetIpamResourceCidrs sets the IpamResourceCidrs field's value. +func (s *GetIpamResourceCidrsOutput) SetIpamResourceCidrs(v []*IpamResourceCidr) *GetIpamResourceCidrsOutput { + s.IpamResourceCidrs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIpamResourceCidrsOutput) SetNextToken(v string) *GetIpamResourceCidrsOutput { + s.NextToken = &v + return s +} + type GetLaunchTemplateDataInput struct { _ struct{} `type:"structure"` @@ -98860,6 +107509,234 @@ func (s *GetManagedPrefixListEntriesOutput) SetNextToken(v string) *GetManagedPr return s } +type GetNetworkInsightsAccessScopeAnalysisFindingsInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"1" type:"integer"` + + // The ID of the Network Access Scope analysis. + // + // NetworkInsightsAccessScopeAnalysisId is a required field + NetworkInsightsAccessScopeAnalysisId *string `type:"string" required:"true"` + + // The token for 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 GetNetworkInsightsAccessScopeAnalysisFindingsInput) 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 GetNetworkInsightsAccessScopeAnalysisFindingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetNetworkInsightsAccessScopeAnalysisFindingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetNetworkInsightsAccessScopeAnalysisFindingsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NetworkInsightsAccessScopeAnalysisId == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkInsightsAccessScopeAnalysisId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *GetNetworkInsightsAccessScopeAnalysisFindingsInput) SetDryRun(v bool) *GetNetworkInsightsAccessScopeAnalysisFindingsInput { + s.DryRun = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetNetworkInsightsAccessScopeAnalysisFindingsInput) SetMaxResults(v int64) *GetNetworkInsightsAccessScopeAnalysisFindingsInput { + s.MaxResults = &v + return s +} + +// SetNetworkInsightsAccessScopeAnalysisId sets the NetworkInsightsAccessScopeAnalysisId field's value. +func (s *GetNetworkInsightsAccessScopeAnalysisFindingsInput) SetNetworkInsightsAccessScopeAnalysisId(v string) *GetNetworkInsightsAccessScopeAnalysisFindingsInput { + s.NetworkInsightsAccessScopeAnalysisId = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetNetworkInsightsAccessScopeAnalysisFindingsInput) SetNextToken(v string) *GetNetworkInsightsAccessScopeAnalysisFindingsInput { + s.NextToken = &v + return s +} + +type GetNetworkInsightsAccessScopeAnalysisFindingsOutput struct { + _ struct{} `type:"structure"` + + // The findings associated with Network Access Scope Analysis. + AnalysisFindings []*AccessScopeAnalysisFinding `locationName:"analysisFindingSet" locationNameList:"item" type:"list"` + + // The status of Network Access Scope Analysis. + AnalysisStatus *string `locationName:"analysisStatus" type:"string" enum:"AnalysisStatus"` + + // The ID of the Network Access Scope analysis. + NetworkInsightsAccessScopeAnalysisId *string `locationName:"networkInsightsAccessScopeAnalysisId" type:"string"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + 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 GetNetworkInsightsAccessScopeAnalysisFindingsOutput) 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 GetNetworkInsightsAccessScopeAnalysisFindingsOutput) GoString() string { + return s.String() +} + +// SetAnalysisFindings sets the AnalysisFindings field's value. +func (s *GetNetworkInsightsAccessScopeAnalysisFindingsOutput) SetAnalysisFindings(v []*AccessScopeAnalysisFinding) *GetNetworkInsightsAccessScopeAnalysisFindingsOutput { + s.AnalysisFindings = v + return s +} + +// SetAnalysisStatus sets the AnalysisStatus field's value. +func (s *GetNetworkInsightsAccessScopeAnalysisFindingsOutput) SetAnalysisStatus(v string) *GetNetworkInsightsAccessScopeAnalysisFindingsOutput { + s.AnalysisStatus = &v + return s +} + +// SetNetworkInsightsAccessScopeAnalysisId sets the NetworkInsightsAccessScopeAnalysisId field's value. +func (s *GetNetworkInsightsAccessScopeAnalysisFindingsOutput) SetNetworkInsightsAccessScopeAnalysisId(v string) *GetNetworkInsightsAccessScopeAnalysisFindingsOutput { + s.NetworkInsightsAccessScopeAnalysisId = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetNetworkInsightsAccessScopeAnalysisFindingsOutput) SetNextToken(v string) *GetNetworkInsightsAccessScopeAnalysisFindingsOutput { + s.NextToken = &v + return s +} + +type GetNetworkInsightsAccessScopeContentInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the Network Access Scope. + // + // NetworkInsightsAccessScopeId is a required field + NetworkInsightsAccessScopeId *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 GetNetworkInsightsAccessScopeContentInput) 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 GetNetworkInsightsAccessScopeContentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetNetworkInsightsAccessScopeContentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetNetworkInsightsAccessScopeContentInput"} + if s.NetworkInsightsAccessScopeId == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkInsightsAccessScopeId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *GetNetworkInsightsAccessScopeContentInput) SetDryRun(v bool) *GetNetworkInsightsAccessScopeContentInput { + s.DryRun = &v + return s +} + +// SetNetworkInsightsAccessScopeId sets the NetworkInsightsAccessScopeId field's value. +func (s *GetNetworkInsightsAccessScopeContentInput) SetNetworkInsightsAccessScopeId(v string) *GetNetworkInsightsAccessScopeContentInput { + s.NetworkInsightsAccessScopeId = &v + return s +} + +type GetNetworkInsightsAccessScopeContentOutput struct { + _ struct{} `type:"structure"` + + // The Network Access Scope content. + NetworkInsightsAccessScopeContent *NetworkInsightsAccessScopeContent `locationName:"networkInsightsAccessScopeContent" 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 GetNetworkInsightsAccessScopeContentOutput) 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 GetNetworkInsightsAccessScopeContentOutput) GoString() string { + return s.String() +} + +// SetNetworkInsightsAccessScopeContent sets the NetworkInsightsAccessScopeContent field's value. +func (s *GetNetworkInsightsAccessScopeContentOutput) SetNetworkInsightsAccessScopeContent(v *NetworkInsightsAccessScopeContent) *GetNetworkInsightsAccessScopeContentOutput { + s.NetworkInsightsAccessScopeContent = v + return s +} + type GetPasswordDataInput struct { _ struct{} `type:"structure"` @@ -102195,7 +111072,7 @@ type ImportImageInput struct { // The architecture of the virtual machine. // - // Valid values: i386 | x86_64 | arm64 + // Valid values: i386 | x86_64 Architecture *string `type:"string"` // The boot mode of the virtual machine. @@ -103973,6 +112850,9 @@ type Instance struct { // The instance type. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` + // The IPv6 address assigned to the instance. + Ipv6Address *string `locationName:"ipv6Address" type:"string"` + // The kernel associated with this instance, if applicable. KernelId *string `locationName:"kernelId" type:"string"` @@ -104019,6 +112899,9 @@ type Instance struct { // custom domain name servers must resolve the hostname as appropriate. PrivateDnsName *string `locationName:"privateDnsName" type:"string"` + // The options for the instance hostname. + PrivateDnsNameOptions *PrivateDnsNameOptionsResponse `locationName:"privateDnsNameOptions" type:"structure"` + // The private IPv4 address assigned to the instance. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` @@ -104228,6 +113111,12 @@ func (s *Instance) SetInstanceType(v string) *Instance { return s } +// SetIpv6Address sets the Ipv6Address field's value. +func (s *Instance) SetIpv6Address(v string) *Instance { + s.Ipv6Address = &v + return s +} + // SetKernelId sets the KernelId field's value. func (s *Instance) SetKernelId(v string) *Instance { s.KernelId = &v @@ -104300,6 +113189,12 @@ func (s *Instance) SetPrivateDnsName(v string) *Instance { return s } +// SetPrivateDnsNameOptions sets the PrivateDnsNameOptions field's value. +func (s *Instance) SetPrivateDnsNameOptions(v *PrivateDnsNameOptionsResponse) *Instance { + s.PrivateDnsNameOptions = v + return s +} + // SetPrivateIpAddress sets the PrivateIpAddress field's value. func (s *Instance) SetPrivateIpAddress(v string) *Instance { s.PrivateIpAddress = &v @@ -105361,11 +114256,11 @@ func (s *InstanceMarketOptionsRequest) SetSpotOptions(v *SpotMarketOptions) *Ins type InstanceMetadataOptionsRequest struct { _ struct{} `type:"structure"` - // Enables or disables the HTTP metadata endpoint on your instances. If the - // parameter is not specified, the default state is enabled. + // Enables or disables the HTTP metadata endpoint on your instances. // - // If you specify a value of disabled, you will not be able to access your instance - // metadata. + // If you specify a value of disabled, you cannot access your instance metadata. + // + // Default: enabled HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"` // Enables or disables the IPv6 endpoint for the instance metadata service. @@ -105379,8 +114274,7 @@ type InstanceMetadataOptionsRequest struct { // Possible values: Integers from 1 to 64 HttpPutResponseHopLimit *int64 `type:"integer"` - // The state of token usage for your instance metadata requests. If the parameter - // is not specified in the request, the default state is optional. + // The state of token usage for your instance metadata requests. // // If the state is optional, you can choose to retrieve instance metadata with // or without a signed token header on your request. If you retrieve the IAM @@ -105392,7 +114286,17 @@ type InstanceMetadataOptionsRequest struct { // metadata retrieval requests. In this state, retrieving the IAM role credentials // always returns the version 2.0 credentials; the version 1.0 credentials are // not available. + // + // Default: optional HttpTokens *string `type:"string" enum:"HttpTokensState"` + + // Set to enabled to allow access to instance tags from the instance metadata. + // Set to disabled to turn off access to instance tags from the instance metadata. + // For more information, see Work with instance tags using the instance metadata + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS). + // + // Default: disabled + InstanceMetadataTags *string `type:"string" enum:"InstanceMetadataTagsState"` } // String returns the string representation. @@ -105437,12 +114341,20 @@ func (s *InstanceMetadataOptionsRequest) SetHttpTokens(v string) *InstanceMetada return s } +// SetInstanceMetadataTags sets the InstanceMetadataTags field's value. +func (s *InstanceMetadataOptionsRequest) SetInstanceMetadataTags(v string) *InstanceMetadataOptionsRequest { + s.InstanceMetadataTags = &v + return s +} + // The metadata options for the instance. type InstanceMetadataOptionsResponse struct { _ struct{} `type:"structure"` // Indicates whether the HTTP metadata endpoint on your instances is enabled // or disabled. + // + // If the value is disabled, you cannot access your instance metadata. HttpEndpoint *string `locationName:"httpEndpoint" type:"string" enum:"InstanceMetadataEndpointState"` // Indicates whether the IPv6 endpoint for the instance metadata service is @@ -105457,8 +114369,7 @@ type InstanceMetadataOptionsResponse struct { // Possible values: Integers from 1 to 64 HttpPutResponseHopLimit *int64 `locationName:"httpPutResponseHopLimit" type:"integer"` - // The state of token usage for your instance metadata requests. If the parameter - // is not specified in the request, the default state is optional. + // The state of token usage for your instance metadata requests. // // If the state is optional, you can choose to retrieve instance metadata with // or without a signed token header on your request. If you retrieve the IAM @@ -105470,8 +114381,15 @@ type InstanceMetadataOptionsResponse struct { // metadata retrieval requests. In this state, retrieving the IAM role credential // always returns the version 2.0 credentials; the version 1.0 credentials are // not available. + // + // Default: optional HttpTokens *string `locationName:"httpTokens" type:"string" enum:"HttpTokensState"` + // Indicates whether access to instance tags from the instance metadata is enabled + // or disabled. For more information, see Work with instance tags using the + // instance metadata (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS). + InstanceMetadataTags *string `locationName:"instanceMetadataTags" type:"string" enum:"InstanceMetadataTagsState"` + // The state of the metadata option changes. // // pending - The metadata options are being updated and the instance is not @@ -105523,6 +114441,12 @@ func (s *InstanceMetadataOptionsResponse) SetHttpTokens(v string) *InstanceMetad return s } +// SetInstanceMetadataTags sets the InstanceMetadataTags field's value. +func (s *InstanceMetadataOptionsResponse) SetInstanceMetadataTags(v string) *InstanceMetadataOptionsResponse { + s.InstanceMetadataTags = &v + return s +} + // SetState sets the State field's value. func (s *InstanceMetadataOptionsResponse) SetState(v string) *InstanceMetadataOptionsResponse { s.State = &v @@ -108255,6 +117179,1151 @@ func (s *IpRange) SetDescription(v string) *IpRange { return s } +// IPAM is a VPC feature that you can use to automate your IP address management +// workflows including assigning, tracking, troubleshooting, and auditing IP +// addresses across Amazon Web Services Regions and accounts throughout your +// Amazon Web Services Organization. For more information, see What is IPAM? +// (/vpc/latest/ipam/what-is-it-ipam.html) in the Amazon VPC IPAM User Guide. +type Ipam struct { + _ struct{} `type:"structure"` + + // The description for the IPAM. + Description *string `locationName:"description" type:"string"` + + // The ARN of the IPAM. + IpamArn *string `locationName:"ipamArn" min:"1" type:"string"` + + // The ID of the IPAM. + IpamId *string `locationName:"ipamId" type:"string"` + + // The Amazon Web Services Region of the IPAM. + IpamRegion *string `locationName:"ipamRegion" type:"string"` + + // 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 + // Regions. + // + // For more information about operating Regions, see Create an IPAM (/vpc/latest/ipam/create-ipam.html) + // in the Amazon VPC IPAM User Guide. + OperatingRegions []*IpamOperatingRegion `locationName:"operatingRegionSet" locationNameList:"item" type:"list"` + + // The Amazon Web Services account ID of the owner of the IPAM. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The ID of the IPAM's default private scope. + PrivateDefaultScopeId *string `locationName:"privateDefaultScopeId" type:"string"` + + // The ID of the IPAM's default public scope. + PublicDefaultScopeId *string `locationName:"publicDefaultScopeId" type:"string"` + + // The number of scopes in the IPAM. The scope quota is 5. For more information + // on quotas, see Quotas in IPAM (/vpc/latest/ipam/quotas-ipam.html) in the + // Amazon VPC IPAM User Guide. + ScopeCount *int64 `locationName:"scopeCount" type:"integer"` + + // The state of the IPAM. + State *string `locationName:"state" type:"string" enum:"IpamState"` + + // The key/value combination of a tag assigned to the resource. Use the tag + // key in the filter name and the tag value as the filter value. For example, + // to find all resources that have a tag with the key Owner and the value TeamA, + // specify tag:Owner for the filter name and TeamA for the filter value. + 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 Ipam) 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 Ipam) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *Ipam) SetDescription(v string) *Ipam { + s.Description = &v + return s +} + +// SetIpamArn sets the IpamArn field's value. +func (s *Ipam) SetIpamArn(v string) *Ipam { + s.IpamArn = &v + return s +} + +// SetIpamId sets the IpamId field's value. +func (s *Ipam) SetIpamId(v string) *Ipam { + s.IpamId = &v + return s +} + +// SetIpamRegion sets the IpamRegion field's value. +func (s *Ipam) SetIpamRegion(v string) *Ipam { + s.IpamRegion = &v + return s +} + +// SetOperatingRegions sets the OperatingRegions field's value. +func (s *Ipam) SetOperatingRegions(v []*IpamOperatingRegion) *Ipam { + s.OperatingRegions = v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *Ipam) SetOwnerId(v string) *Ipam { + s.OwnerId = &v + return s +} + +// SetPrivateDefaultScopeId sets the PrivateDefaultScopeId field's value. +func (s *Ipam) SetPrivateDefaultScopeId(v string) *Ipam { + s.PrivateDefaultScopeId = &v + return s +} + +// SetPublicDefaultScopeId sets the PublicDefaultScopeId field's value. +func (s *Ipam) SetPublicDefaultScopeId(v string) *Ipam { + s.PublicDefaultScopeId = &v + return s +} + +// SetScopeCount sets the ScopeCount field's value. +func (s *Ipam) SetScopeCount(v int64) *Ipam { + s.ScopeCount = &v + return s +} + +// SetState sets the State field's value. +func (s *Ipam) SetState(v string) *Ipam { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Ipam) SetTags(v []*Tag) *Ipam { + s.Tags = v + return s +} + +// The historical record of a CIDR within an IPAM scope. For more information, +// see View the history of IP addresses (/vpc/latest/ipam/view-history-cidr-ipam.html) +// in the Amazon VPC IPAM User Guide. +type IpamAddressHistoryRecord struct { + _ struct{} `type:"structure"` + + // The CIDR of the resource. + ResourceCidr *string `locationName:"resourceCidr" type:"string"` + + // The compliance status of a resource. For more information on compliance statuses, + // see Monitor CIDR usage by resource (/vpc/latest/ipam/monitor-cidr-compliance-ipam.html) + // in the Amazon VPC IPAM User Guide. + ResourceComplianceStatus *string `locationName:"resourceComplianceStatus" type:"string" enum:"IpamComplianceStatus"` + + // The ID of the resource. + ResourceId *string `locationName:"resourceId" type:"string"` + + // The name of the resource. + ResourceName *string `locationName:"resourceName" type:"string"` + + // The overlap status of an IPAM resource. The overlap status tells you if the + // CIDR for a resource overlaps with another CIDR in the scope. For more information + // on overlap statuses, see Monitor CIDR usage by resource (/vpc/latest/ipam/monitor-cidr-compliance-ipam.html) + // in the Amazon VPC IPAM User Guide. + ResourceOverlapStatus *string `locationName:"resourceOverlapStatus" type:"string" enum:"IpamOverlapStatus"` + + // The ID of the resource owner. + ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"` + + // The Amazon Web Services Region of the resource. + ResourceRegion *string `locationName:"resourceRegion" type:"string"` + + // The type of the resource. + ResourceType *string `locationName:"resourceType" type:"string" enum:"IpamAddressHistoryResourceType"` + + // Sampled end time of the resource-to-CIDR association within the IPAM scope. + // Changes are picked up in periodic snapshots, so the end time may have occurred + // before this specific time. + SampledEndTime *time.Time `locationName:"sampledEndTime" type:"timestamp"` + + // Sampled start time of the resource-to-CIDR association within the IPAM scope. + // Changes are picked up in periodic snapshots, so the start time may have occurred + // before this specific time. + SampledStartTime *time.Time `locationName:"sampledStartTime" type:"timestamp"` + + // The VPC ID of the resource. + 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 IpamAddressHistoryRecord) 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 IpamAddressHistoryRecord) GoString() string { + return s.String() +} + +// SetResourceCidr sets the ResourceCidr field's value. +func (s *IpamAddressHistoryRecord) SetResourceCidr(v string) *IpamAddressHistoryRecord { + s.ResourceCidr = &v + return s +} + +// SetResourceComplianceStatus sets the ResourceComplianceStatus field's value. +func (s *IpamAddressHistoryRecord) SetResourceComplianceStatus(v string) *IpamAddressHistoryRecord { + s.ResourceComplianceStatus = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *IpamAddressHistoryRecord) SetResourceId(v string) *IpamAddressHistoryRecord { + s.ResourceId = &v + return s +} + +// SetResourceName sets the ResourceName field's value. +func (s *IpamAddressHistoryRecord) SetResourceName(v string) *IpamAddressHistoryRecord { + s.ResourceName = &v + return s +} + +// SetResourceOverlapStatus sets the ResourceOverlapStatus field's value. +func (s *IpamAddressHistoryRecord) SetResourceOverlapStatus(v string) *IpamAddressHistoryRecord { + s.ResourceOverlapStatus = &v + return s +} + +// SetResourceOwnerId sets the ResourceOwnerId field's value. +func (s *IpamAddressHistoryRecord) SetResourceOwnerId(v string) *IpamAddressHistoryRecord { + s.ResourceOwnerId = &v + return s +} + +// SetResourceRegion sets the ResourceRegion field's value. +func (s *IpamAddressHistoryRecord) SetResourceRegion(v string) *IpamAddressHistoryRecord { + s.ResourceRegion = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *IpamAddressHistoryRecord) SetResourceType(v string) *IpamAddressHistoryRecord { + s.ResourceType = &v + return s +} + +// SetSampledEndTime sets the SampledEndTime field's value. +func (s *IpamAddressHistoryRecord) SetSampledEndTime(v time.Time) *IpamAddressHistoryRecord { + s.SampledEndTime = &v + return s +} + +// SetSampledStartTime sets the SampledStartTime field's value. +func (s *IpamAddressHistoryRecord) SetSampledStartTime(v time.Time) *IpamAddressHistoryRecord { + s.SampledStartTime = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *IpamAddressHistoryRecord) SetVpcId(v string) *IpamAddressHistoryRecord { + s.VpcId = &v + return s +} + +// A signed document that proves that you are authorized to bring the specified +// IP address range to Amazon using BYOIP. +type IpamCidrAuthorizationContext struct { + _ struct{} `type:"structure"` + + // The plain-text authorization message for the prefix and account. + Message *string `type:"string"` + + // The signed authorization message for the prefix and account. + Signature *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 IpamCidrAuthorizationContext) 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 IpamCidrAuthorizationContext) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *IpamCidrAuthorizationContext) SetMessage(v string) *IpamCidrAuthorizationContext { + s.Message = &v + return s +} + +// SetSignature sets the Signature field's value. +func (s *IpamCidrAuthorizationContext) SetSignature(v string) *IpamCidrAuthorizationContext { + s.Signature = &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 +// Regions. +// +// For more information about operating Regions, see Create an IPAM (/vpc/latest/ipam/create-ipam.html) +// in the Amazon VPC IPAM User Guide. +type IpamOperatingRegion struct { + _ struct{} `type:"structure"` + + // The name of the operating Region. + RegionName *string `locationName:"regionName" 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 IpamOperatingRegion) 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 IpamOperatingRegion) GoString() string { + return s.String() +} + +// SetRegionName sets the RegionName field's value. +func (s *IpamOperatingRegion) SetRegionName(v string) *IpamOperatingRegion { + s.RegionName = &v + return s +} + +// In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable +// you to organize your IP addresses according to your routing and security +// needs. For example, if you have separate routing and security needs for development +// and production applications, you can create a pool for each. +type IpamPool struct { + _ struct{} `type:"structure"` + + // The address family of the pool. + AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"` + + // The default netmask length for allocations added to this pool. If, for example, + // the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations + // will default to 10.0.0.0/16. + AllocationDefaultNetmaskLength *int64 `locationName:"allocationDefaultNetmaskLength" type:"integer"` + + // The maximum netmask length possible for CIDR allocations in this IPAM pool + // to be compliant. The maximum netmask length must be greater than the minimum + // netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible + // netmask lengths for IPv6 addresses are 0 - 128. + AllocationMaxNetmaskLength *int64 `locationName:"allocationMaxNetmaskLength" type:"integer"` + + // The minimum netmask length required for CIDR allocations in this IPAM pool + // to be compliant. The minimum netmask length must be less than the maximum + // netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible + // netmask lengths for IPv6 addresses are 0 - 128. + AllocationMinNetmaskLength *int64 `locationName:"allocationMinNetmaskLength" type:"integer"` + + // Tags that are required for resources that use CIDRs from this IPAM pool. + // Resources that do not have these tags will not be allowed to allocate space + // from the pool. If the resources have their tags changed after they have allocated + // space or if the allocation tagging requirements are changed on the pool, + // the resource may be marked as noncompliant. + AllocationResourceTags []*IpamResourceTag `locationName:"allocationResourceTagSet" locationNameList:"item" type:"list"` + + // If selected, IPAM will continuously look for resources within the CIDR range + // of this pool and automatically import them as allocations into your IPAM. + // The CIDRs that will be allocated for these resources must not already be + // allocated to other resources in order for the import to succeed. IPAM will + // import a CIDR regardless of its compliance with the pool's allocation rules, + // so a resource might be imported and subsequently marked as noncompliant. + // If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest + // CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will + // randomly import one of them only. + // + // A locale must be set on the pool for this feature to work. + AutoImport *bool `locationName:"autoImport" type:"boolean"` + + // Limits which service in Amazon Web Services that the pool can be used in. + // "ec2", for example, allows users to use space for Elastic IP addresses and + // VPCs. + AwsService *string `locationName:"awsService" type:"string" enum:"IpamPoolAwsService"` + + // The description of the IPAM pool. + Description *string `locationName:"description" type:"string"` + + // The ARN of the IPAM. + IpamArn *string `locationName:"ipamArn" min:"1" type:"string"` + + // The ARN of the IPAM pool. + IpamPoolArn *string `locationName:"ipamPoolArn" min:"1" type:"string"` + + // The ID of the IPAM pool. + IpamPoolId *string `locationName:"ipamPoolId" type:"string"` + + // The Amazon Web Services Region of the IPAM pool. + IpamRegion *string `locationName:"ipamRegion" type:"string"` + + // The ARN of the scope of the IPAM pool. + IpamScopeArn *string `locationName:"ipamScopeArn" min:"1" type:"string"` + + // In IPAM, a scope is the highest-level container within IPAM. An IPAM contains + // two default scopes. Each scope represents the IP space for a single network. + // The private scope is intended for all private IP address space. The public + // scope is intended for all public IP address space. Scopes enable you to reuse + // IP addresses across multiple unconnected networks without causing IP address + // overlap or conflict. + IpamScopeType *string `locationName:"ipamScopeType" type:"string" enum:"IpamScopeType"` + + // The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services + // Region where you want to make an IPAM pool available for allocations. Only + // resources in the same Region as the locale of the pool can get IP address + // allocations from the pool. You can only allocate a CIDR for a VPC, for example, + // from an IPAM pool that shares a locale with the VPC’s Region. Note that + // once you choose a Locale for a pool, you cannot modify it. If you choose + // an Amazon Web Services Region for locale that has not been configured as + // an operating Region for the IPAM, you'll get an error. + Locale *string `locationName:"locale" type:"string"` + + // The Amazon Web Services account ID of the owner of the IPAM pool. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The depth of pools in your IPAM pool. The pool depth quota is 10. For more + // information, see Quotas in IPAM (/vpc/latest/ipam/quotas-ipam.html) in the + // Amazon VPC IPAM User Guide. + PoolDepth *int64 `locationName:"poolDepth" type:"integer"` + + // 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"` + + // The ID of the source IPAM pool. You can use this option to create an IPAM + // pool within an existing source pool. + SourceIpamPoolId *string `locationName:"sourceIpamPoolId" type:"string"` + + // The state of the IPAM pool. + State *string `locationName:"state" type:"string" enum:"IpamPoolState"` + + // A message related to the failed creation of an IPAM pool. + StateMessage *string `locationName:"stateMessage" type:"string"` + + // The key/value combination of a tag assigned to the resource. Use the tag + // key in the filter name and the tag value as the filter value. For example, + // to find all resources that have a tag with the key Owner and the value TeamA, + // specify tag:Owner for the filter name and TeamA for the filter value. + 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 IpamPool) 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 IpamPool) GoString() string { + return s.String() +} + +// SetAddressFamily sets the AddressFamily field's value. +func (s *IpamPool) SetAddressFamily(v string) *IpamPool { + s.AddressFamily = &v + return s +} + +// SetAllocationDefaultNetmaskLength sets the AllocationDefaultNetmaskLength field's value. +func (s *IpamPool) SetAllocationDefaultNetmaskLength(v int64) *IpamPool { + s.AllocationDefaultNetmaskLength = &v + return s +} + +// SetAllocationMaxNetmaskLength sets the AllocationMaxNetmaskLength field's value. +func (s *IpamPool) SetAllocationMaxNetmaskLength(v int64) *IpamPool { + s.AllocationMaxNetmaskLength = &v + return s +} + +// SetAllocationMinNetmaskLength sets the AllocationMinNetmaskLength field's value. +func (s *IpamPool) SetAllocationMinNetmaskLength(v int64) *IpamPool { + s.AllocationMinNetmaskLength = &v + return s +} + +// SetAllocationResourceTags sets the AllocationResourceTags field's value. +func (s *IpamPool) SetAllocationResourceTags(v []*IpamResourceTag) *IpamPool { + s.AllocationResourceTags = v + return s +} + +// SetAutoImport sets the AutoImport field's value. +func (s *IpamPool) SetAutoImport(v bool) *IpamPool { + s.AutoImport = &v + return s +} + +// SetAwsService sets the AwsService field's value. +func (s *IpamPool) SetAwsService(v string) *IpamPool { + s.AwsService = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *IpamPool) SetDescription(v string) *IpamPool { + s.Description = &v + return s +} + +// SetIpamArn sets the IpamArn field's value. +func (s *IpamPool) SetIpamArn(v string) *IpamPool { + s.IpamArn = &v + return s +} + +// SetIpamPoolArn sets the IpamPoolArn field's value. +func (s *IpamPool) SetIpamPoolArn(v string) *IpamPool { + s.IpamPoolArn = &v + return s +} + +// SetIpamPoolId sets the IpamPoolId field's value. +func (s *IpamPool) SetIpamPoolId(v string) *IpamPool { + s.IpamPoolId = &v + return s +} + +// SetIpamRegion sets the IpamRegion field's value. +func (s *IpamPool) SetIpamRegion(v string) *IpamPool { + s.IpamRegion = &v + return s +} + +// SetIpamScopeArn sets the IpamScopeArn field's value. +func (s *IpamPool) SetIpamScopeArn(v string) *IpamPool { + s.IpamScopeArn = &v + return s +} + +// SetIpamScopeType sets the IpamScopeType field's value. +func (s *IpamPool) SetIpamScopeType(v string) *IpamPool { + s.IpamScopeType = &v + return s +} + +// SetLocale sets the Locale field's value. +func (s *IpamPool) SetLocale(v string) *IpamPool { + s.Locale = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *IpamPool) SetOwnerId(v string) *IpamPool { + s.OwnerId = &v + return s +} + +// SetPoolDepth sets the PoolDepth field's value. +func (s *IpamPool) SetPoolDepth(v int64) *IpamPool { + s.PoolDepth = &v + return s +} + +// SetPubliclyAdvertisable sets the PubliclyAdvertisable field's value. +func (s *IpamPool) SetPubliclyAdvertisable(v bool) *IpamPool { + s.PubliclyAdvertisable = &v + return s +} + +// SetSourceIpamPoolId sets the SourceIpamPoolId field's value. +func (s *IpamPool) SetSourceIpamPoolId(v string) *IpamPool { + s.SourceIpamPoolId = &v + return s +} + +// SetState sets the State field's value. +func (s *IpamPool) SetState(v string) *IpamPool { + s.State = &v + return s +} + +// SetStateMessage sets the StateMessage field's value. +func (s *IpamPool) SetStateMessage(v string) *IpamPool { + s.StateMessage = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *IpamPool) SetTags(v []*Tag) *IpamPool { + s.Tags = v + return s +} + +// In IPAM, an allocation is a CIDR assignment from an IPAM pool to another +// resource or IPAM pool. +type IpamPoolAllocation struct { + _ struct{} `type:"structure"` + + // The CIDR for the allocation. A CIDR is a representation of an IP address + // and its associated network mask (or netmask) and refers to a range of IP + // addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example is + // 2001:DB8::/32. + Cidr *string `locationName:"cidr" type:"string"` + + // A description of the pool allocation. + Description *string `locationName:"description" type:"string"` + + // The ID of an allocation. + IpamPoolAllocationId *string `locationName:"ipamPoolAllocationId" type:"string"` + + // The ID of the resource. + ResourceId *string `locationName:"resourceId" type:"string"` + + // The owner of the resource. + ResourceOwner *string `locationName:"resourceOwner" type:"string"` + + // The Amazon Web Services Region of the resource. + ResourceRegion *string `locationName:"resourceRegion" type:"string"` + + // The type of the resource. + ResourceType *string `locationName:"resourceType" type:"string" enum:"IpamPoolAllocationResourceType"` +} + +// 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 IpamPoolAllocation) 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 IpamPoolAllocation) GoString() string { + return s.String() +} + +// SetCidr sets the Cidr field's value. +func (s *IpamPoolAllocation) SetCidr(v string) *IpamPoolAllocation { + s.Cidr = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *IpamPoolAllocation) SetDescription(v string) *IpamPoolAllocation { + s.Description = &v + return s +} + +// SetIpamPoolAllocationId sets the IpamPoolAllocationId field's value. +func (s *IpamPoolAllocation) SetIpamPoolAllocationId(v string) *IpamPoolAllocation { + s.IpamPoolAllocationId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *IpamPoolAllocation) SetResourceId(v string) *IpamPoolAllocation { + s.ResourceId = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *IpamPoolAllocation) SetResourceOwner(v string) *IpamPoolAllocation { + s.ResourceOwner = &v + return s +} + +// SetResourceRegion sets the ResourceRegion field's value. +func (s *IpamPoolAllocation) SetResourceRegion(v string) *IpamPoolAllocation { + s.ResourceRegion = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *IpamPoolAllocation) SetResourceType(v string) *IpamPoolAllocation { + s.ResourceType = &v + return s +} + +// A CIDR provisioned to an IPAM pool. +type IpamPoolCidr struct { + _ struct{} `type:"structure"` + + // The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP + // address and its associated network mask (or netmask) and refers to a range + // of IP addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example + // is 2001:DB8::/32. + Cidr *string `locationName:"cidr" type:"string"` + + // Details related to why an IPAM pool CIDR failed to be provisioned. + FailureReason *IpamPoolCidrFailureReason `locationName:"failureReason" type:"structure"` + + // The state of the CIDR. + State *string `locationName:"state" type:"string" enum:"IpamPoolCidrState"` +} + +// 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 IpamPoolCidr) 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 IpamPoolCidr) GoString() string { + return s.String() +} + +// SetCidr sets the Cidr field's value. +func (s *IpamPoolCidr) SetCidr(v string) *IpamPoolCidr { + s.Cidr = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *IpamPoolCidr) SetFailureReason(v *IpamPoolCidrFailureReason) *IpamPoolCidr { + s.FailureReason = v + return s +} + +// SetState sets the State field's value. +func (s *IpamPoolCidr) SetState(v string) *IpamPoolCidr { + s.State = &v + return s +} + +// Details related to why an IPAM pool CIDR failed to be provisioned. +type IpamPoolCidrFailureReason struct { + _ struct{} `type:"structure"` + + // An error code related to why an IPAM pool CIDR failed to be provisioned. + Code *string `locationName:"code" type:"string" enum:"IpamPoolCidrFailureCode"` + + // A message related to why an IPAM pool CIDR failed to be provisioned. + 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 IpamPoolCidrFailureReason) 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 IpamPoolCidrFailureReason) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *IpamPoolCidrFailureReason) SetCode(v string) *IpamPoolCidrFailureReason { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *IpamPoolCidrFailureReason) SetMessage(v string) *IpamPoolCidrFailureReason { + s.Message = &v + return s +} + +// The CIDR for an IPAM resource. +type IpamResourceCidr struct { + _ struct{} `type:"structure"` + + // The compliance status of the IPAM resource. For more information on compliance + // statuses, see Monitor CIDR usage by resource (/vpc/latest/ipam/monitor-cidr-compliance-ipam.html) + // in the Amazon VPC IPAM User Guide. + ComplianceStatus *string `locationName:"complianceStatus" type:"string" enum:"IpamComplianceStatus"` + + // The IP address space in the IPAM pool that is allocated to this resource. + // To convert the decimal to a percentage, multiply the decimal by 100. + IpUsage *float64 `locationName:"ipUsage" type:"double"` + + // The IPAM ID for an IPAM resource. + IpamId *string `locationName:"ipamId" type:"string"` + + // The pool ID for an IPAM resource. + IpamPoolId *string `locationName:"ipamPoolId" type:"string"` + + // The scope ID for an IPAM resource. + IpamScopeId *string `locationName:"ipamScopeId" type:"string"` + + // The management state of the resource. For more information about management + // states, see Monitor CIDR usage by resource (/vpc/latest/ipam/monitor-cidr-compliance-ipam.html) + // in the Amazon VPC IPAM User Guide. + ManagementState *string `locationName:"managementState" type:"string" enum:"IpamManagementState"` + + // The overlap status of an IPAM resource. The overlap status tells you if the + // CIDR for a resource overlaps with another CIDR in the scope. For more information + // on overlap statuses, see Monitor CIDR usage by resource (/vpc/latest/ipam/monitor-cidr-compliance-ipam.html) + // in the Amazon VPC IPAM User Guide. + OverlapStatus *string `locationName:"overlapStatus" type:"string" enum:"IpamOverlapStatus"` + + // The CIDR for an IPAM resource. + ResourceCidr *string `locationName:"resourceCidr" type:"string"` + + // The ID of an IPAM resource. + ResourceId *string `locationName:"resourceId" type:"string"` + + // The name of an IPAM resource. + ResourceName *string `locationName:"resourceName" type:"string"` + + // The Amazon Web Services account number of the owner of an IPAM resource. + ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"` + + // The Amazon Web Services Region for an IPAM resource. + ResourceRegion *string `locationName:"resourceRegion" type:"string"` + + // The tags for an IPAM resource. + ResourceTags []*IpamResourceTag `locationName:"resourceTagSet" locationNameList:"item" type:"list"` + + // The type of IPAM resource. + ResourceType *string `locationName:"resourceType" type:"string" enum:"IpamResourceType"` + + // The ID of a VPC. + 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 IpamResourceCidr) 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 IpamResourceCidr) GoString() string { + return s.String() +} + +// SetComplianceStatus sets the ComplianceStatus field's value. +func (s *IpamResourceCidr) SetComplianceStatus(v string) *IpamResourceCidr { + s.ComplianceStatus = &v + return s +} + +// SetIpUsage sets the IpUsage field's value. +func (s *IpamResourceCidr) SetIpUsage(v float64) *IpamResourceCidr { + s.IpUsage = &v + return s +} + +// SetIpamId sets the IpamId field's value. +func (s *IpamResourceCidr) SetIpamId(v string) *IpamResourceCidr { + s.IpamId = &v + return s +} + +// SetIpamPoolId sets the IpamPoolId field's value. +func (s *IpamResourceCidr) SetIpamPoolId(v string) *IpamResourceCidr { + s.IpamPoolId = &v + return s +} + +// SetIpamScopeId sets the IpamScopeId field's value. +func (s *IpamResourceCidr) SetIpamScopeId(v string) *IpamResourceCidr { + s.IpamScopeId = &v + return s +} + +// SetManagementState sets the ManagementState field's value. +func (s *IpamResourceCidr) SetManagementState(v string) *IpamResourceCidr { + s.ManagementState = &v + return s +} + +// SetOverlapStatus sets the OverlapStatus field's value. +func (s *IpamResourceCidr) SetOverlapStatus(v string) *IpamResourceCidr { + s.OverlapStatus = &v + return s +} + +// SetResourceCidr sets the ResourceCidr field's value. +func (s *IpamResourceCidr) SetResourceCidr(v string) *IpamResourceCidr { + s.ResourceCidr = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *IpamResourceCidr) SetResourceId(v string) *IpamResourceCidr { + s.ResourceId = &v + return s +} + +// SetResourceName sets the ResourceName field's value. +func (s *IpamResourceCidr) SetResourceName(v string) *IpamResourceCidr { + s.ResourceName = &v + return s +} + +// SetResourceOwnerId sets the ResourceOwnerId field's value. +func (s *IpamResourceCidr) SetResourceOwnerId(v string) *IpamResourceCidr { + s.ResourceOwnerId = &v + return s +} + +// SetResourceRegion sets the ResourceRegion field's value. +func (s *IpamResourceCidr) SetResourceRegion(v string) *IpamResourceCidr { + s.ResourceRegion = &v + return s +} + +// SetResourceTags sets the ResourceTags field's value. +func (s *IpamResourceCidr) SetResourceTags(v []*IpamResourceTag) *IpamResourceCidr { + s.ResourceTags = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *IpamResourceCidr) SetResourceType(v string) *IpamResourceCidr { + s.ResourceType = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *IpamResourceCidr) SetVpcId(v string) *IpamResourceCidr { + s.VpcId = &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, +// specify tag:Owner for the filter name and TeamA for the filter value. +type IpamResourceTag struct { + _ struct{} `type:"structure"` + + // The key of a tag assigned to the resource. Use this filter to find all resources + // assigned a tag with a specific key, regardless of the tag value. + Key *string `locationName:"key" type:"string"` + + // The value of the tag. + Value *string `locationName:"value" 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 IpamResourceTag) 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 IpamResourceTag) GoString() string { + return s.String() +} + +// SetKey sets the Key field's value. +func (s *IpamResourceTag) SetKey(v string) *IpamResourceTag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *IpamResourceTag) SetValue(v string) *IpamResourceTag { + s.Value = &v + return s +} + +// In IPAM, a scope is the highest-level container within IPAM. An IPAM contains +// two default scopes. Each scope represents the IP space for a single network. +// The private scope is intended for all private IP address space. The public +// scope is intended for all public IP address space. Scopes enable you to reuse +// IP addresses across multiple unconnected networks without causing IP address +// overlap or conflict. +// +// For more information, see How IPAM works (/vpc/latest/ipam/how-it-works-ipam.html) +// in the Amazon VPC IPAM User Guide +type IpamScope struct { + _ struct{} `type:"structure"` + + // The description of the scope. + Description *string `locationName:"description" type:"string"` + + // The ARN of the IPAM. + IpamArn *string `locationName:"ipamArn" min:"1" type:"string"` + + // The Amazon Web Services Region of the IPAM scope. + IpamRegion *string `locationName:"ipamRegion" type:"string"` + + // The ARN of the scope. + IpamScopeArn *string `locationName:"ipamScopeArn" min:"1" type:"string"` + + // The ID of the scope. + IpamScopeId *string `locationName:"ipamScopeId" type:"string"` + + // The type of the scope. + IpamScopeType *string `locationName:"ipamScopeType" type:"string" enum:"IpamScopeType"` + + // Defines if the scope is the default scope or not. + IsDefault *bool `locationName:"isDefault" type:"boolean"` + + // The Amazon Web Services account ID of the owner of the scope. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The number of pools in the scope. + PoolCount *int64 `locationName:"poolCount" type:"integer"` + + // The state of the IPAM scope. + State *string `locationName:"state" type:"string" enum:"IpamScopeState"` + + // The key/value combination of a tag assigned to the resource. Use the tag + // key in the filter name and the tag value as the filter value. For example, + // to find all resources that have a tag with the key Owner and the value TeamA, + // specify tag:Owner for the filter name and TeamA for the filter value. + 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 IpamScope) 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 IpamScope) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *IpamScope) SetDescription(v string) *IpamScope { + s.Description = &v + return s +} + +// SetIpamArn sets the IpamArn field's value. +func (s *IpamScope) SetIpamArn(v string) *IpamScope { + s.IpamArn = &v + return s +} + +// SetIpamRegion sets the IpamRegion field's value. +func (s *IpamScope) SetIpamRegion(v string) *IpamScope { + s.IpamRegion = &v + return s +} + +// SetIpamScopeArn sets the IpamScopeArn field's value. +func (s *IpamScope) SetIpamScopeArn(v string) *IpamScope { + s.IpamScopeArn = &v + return s +} + +// SetIpamScopeId sets the IpamScopeId field's value. +func (s *IpamScope) SetIpamScopeId(v string) *IpamScope { + s.IpamScopeId = &v + return s +} + +// SetIpamScopeType sets the IpamScopeType field's value. +func (s *IpamScope) SetIpamScopeType(v string) *IpamScope { + s.IpamScopeType = &v + return s +} + +// SetIsDefault sets the IsDefault field's value. +func (s *IpamScope) SetIsDefault(v bool) *IpamScope { + s.IsDefault = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *IpamScope) SetOwnerId(v string) *IpamScope { + s.OwnerId = &v + return s +} + +// SetPoolCount sets the PoolCount field's value. +func (s *IpamScope) SetPoolCount(v int64) *IpamScope { + s.PoolCount = &v + return s +} + +// SetState sets the State field's value. +func (s *IpamScope) SetState(v string) *IpamScope { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *IpamScope) SetTags(v []*Tag) *IpamScope { + s.Tags = v + return s +} + // Describes an IPv4 prefix. type Ipv4PrefixSpecification struct { _ struct{} `type:"structure"` @@ -108817,12 +118886,12 @@ func (s *LaunchPermission) SetUserId(v string) *LaunchPermission { type LaunchPermissionModifications struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID to add to the list of launch permissions - // for the AMI. + // The Amazon Web Services account ID, organization ARN, or OU ARN to add to + // the list of launch permissions for the AMI. Add []*LaunchPermission `locationNameList:"item" type:"list"` - // The Amazon Web Services account ID to remove from the list of launch permissions - // for the AMI. + // The Amazon Web Services account ID, organization ARN, or OU ARN to remove + // from the list of launch permissions for the AMI. Remove []*LaunchPermission `locationNameList:"item" type:"list"` } @@ -110154,8 +120223,8 @@ func (s *LaunchTemplateInstanceMarketOptionsRequest) SetSpotOptions(v *LaunchTem type LaunchTemplateInstanceMetadataOptions struct { _ struct{} `type:"structure"` - // This parameter enables or disables the HTTP metadata endpoint on your instances. - // If the parameter is not specified, the default state is enabled. + // Enables or disables the HTTP metadata endpoint on your instances. If the + // parameter is not specified, the default state is enabled. // // If you specify a value of disabled, you will not be able to access your instance // metadata. @@ -110189,6 +120258,8 @@ type LaunchTemplateInstanceMetadataOptions struct { // not available. HttpTokens *string `locationName:"httpTokens" type:"string" enum:"LaunchTemplateHttpTokensState"` + InstanceMetadataTags *string `locationName:"instanceMetadataTags" type:"string" enum:"LaunchTemplateInstanceMetadataTagsState"` + // The state of the metadata option changes. // // pending - The metadata options are being updated and the instance is not @@ -110240,6 +120311,12 @@ func (s *LaunchTemplateInstanceMetadataOptions) SetHttpTokens(v string) *LaunchT return s } +// SetInstanceMetadataTags sets the InstanceMetadataTags field's value. +func (s *LaunchTemplateInstanceMetadataOptions) SetInstanceMetadataTags(v string) *LaunchTemplateInstanceMetadataOptions { + s.InstanceMetadataTags = &v + return s +} + // SetState sets the State field's value. func (s *LaunchTemplateInstanceMetadataOptions) SetState(v string) *LaunchTemplateInstanceMetadataOptions { s.State = &v @@ -110252,8 +120329,8 @@ func (s *LaunchTemplateInstanceMetadataOptions) SetState(v string) *LaunchTempla type LaunchTemplateInstanceMetadataOptionsRequest struct { _ struct{} `type:"structure"` - // This parameter enables or disables the HTTP metadata endpoint on your instances. - // If the parameter is not specified, the default state is enabled. + // Enables or disables the HTTP metadata endpoint on your instances. If the + // parameter is not specified, the default state is enabled. // // If you specify a value of disabled, you will not be able to access your instance // metadata. @@ -110286,6 +120363,14 @@ type LaunchTemplateInstanceMetadataOptionsRequest struct { // always returns the version 2.0 credentials; the version 1.0 credentials are // not available. HttpTokens *string `type:"string" enum:"LaunchTemplateHttpTokensState"` + + // Set to enabled to allow access to instance tags from the instance metadata. + // Set to disabled to turn off access to instance tags from the instance metadata. + // For more information, see Work with instance tags using the instance metadata + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS). + // + // Default: disabled + InstanceMetadataTags *string `type:"string" enum:"LaunchTemplateInstanceMetadataTagsState"` } // String returns the string representation. @@ -110330,6 +120415,12 @@ func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpTokens(v string) * return s } +// SetInstanceMetadataTags sets the InstanceMetadataTags field's value. +func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetInstanceMetadataTags(v string) *LaunchTemplateInstanceMetadataOptionsRequest { + s.InstanceMetadataTags = &v + return s +} + // Describes a network interface. type LaunchTemplateInstanceNetworkInterfaceSpecification struct { _ struct{} `type:"structure"` @@ -111112,6 +121203,114 @@ func (s *LaunchTemplatePlacementRequest) SetTenancy(v string) *LaunchTemplatePla return s } +// Describes the options for instance hostnames. +type LaunchTemplatePrivateDnsNameOptions struct { + _ struct{} `type:"structure"` + + // Indicates whether to respond to DNS queries for instance hostnames with DNS + // AAAA records. + EnableResourceNameDnsAAAARecord *bool `locationName:"enableResourceNameDnsAAAARecord" type:"boolean"` + + // Indicates whether to respond to DNS queries for instance hostnames with DNS + // A records. + EnableResourceNameDnsARecord *bool `locationName:"enableResourceNameDnsARecord" type:"boolean"` + + // The type of hostname to assign to an instance. + HostnameType *string `locationName:"hostnameType" type:"string" enum:"HostnameType"` +} + +// 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 LaunchTemplatePrivateDnsNameOptions) 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 LaunchTemplatePrivateDnsNameOptions) GoString() string { + return s.String() +} + +// SetEnableResourceNameDnsAAAARecord sets the EnableResourceNameDnsAAAARecord field's value. +func (s *LaunchTemplatePrivateDnsNameOptions) SetEnableResourceNameDnsAAAARecord(v bool) *LaunchTemplatePrivateDnsNameOptions { + s.EnableResourceNameDnsAAAARecord = &v + return s +} + +// SetEnableResourceNameDnsARecord sets the EnableResourceNameDnsARecord field's value. +func (s *LaunchTemplatePrivateDnsNameOptions) SetEnableResourceNameDnsARecord(v bool) *LaunchTemplatePrivateDnsNameOptions { + s.EnableResourceNameDnsARecord = &v + return s +} + +// SetHostnameType sets the HostnameType field's value. +func (s *LaunchTemplatePrivateDnsNameOptions) SetHostnameType(v string) *LaunchTemplatePrivateDnsNameOptions { + s.HostnameType = &v + return s +} + +// Describes the options for instance hostnames. +type LaunchTemplatePrivateDnsNameOptionsRequest struct { + _ struct{} `type:"structure"` + + // Indicates whether to respond to DNS queries for instance hostnames with DNS + // AAAA records. + EnableResourceNameDnsAAAARecord *bool `type:"boolean"` + + // Indicates whether to respond to DNS queries for instance hostnames with DNS + // A records. + EnableResourceNameDnsARecord *bool `type:"boolean"` + + // The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an + // instance DNS name must be based on the instance IPv4 address. For IPv6 native + // subnets, an instance DNS name must be based on the instance ID. For dual-stack + // subnets, you can specify whether DNS names use the instance IPv4 address + // or the instance ID. + HostnameType *string `type:"string" enum:"HostnameType"` +} + +// 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 LaunchTemplatePrivateDnsNameOptionsRequest) 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 LaunchTemplatePrivateDnsNameOptionsRequest) GoString() string { + return s.String() +} + +// SetEnableResourceNameDnsAAAARecord sets the EnableResourceNameDnsAAAARecord field's value. +func (s *LaunchTemplatePrivateDnsNameOptionsRequest) SetEnableResourceNameDnsAAAARecord(v bool) *LaunchTemplatePrivateDnsNameOptionsRequest { + s.EnableResourceNameDnsAAAARecord = &v + return s +} + +// SetEnableResourceNameDnsARecord sets the EnableResourceNameDnsARecord field's value. +func (s *LaunchTemplatePrivateDnsNameOptionsRequest) SetEnableResourceNameDnsARecord(v bool) *LaunchTemplatePrivateDnsNameOptionsRequest { + s.EnableResourceNameDnsARecord = &v + return s +} + +// SetHostnameType sets the HostnameType field's value. +func (s *LaunchTemplatePrivateDnsNameOptionsRequest) SetHostnameType(v string) *LaunchTemplatePrivateDnsNameOptionsRequest { + s.HostnameType = &v + return s +} + // The launch template to use. You must specify either the launch template ID // or launch template name in the request, but not both. type LaunchTemplateSpecification struct { @@ -111621,6 +121820,123 @@ func (s *LicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *Lice return s } +type ListSnapshotsInRecycleBinInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` + + // The IDs of the snapshots to list. Omit this parameter to list all of the + // snapshots that are in the Recycle Bin. + SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" 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 ListSnapshotsInRecycleBinInput) 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 ListSnapshotsInRecycleBinInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSnapshotsInRecycleBinInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSnapshotsInRecycleBinInput"} + 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 *ListSnapshotsInRecycleBinInput) SetDryRun(v bool) *ListSnapshotsInRecycleBinInput { + s.DryRun = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListSnapshotsInRecycleBinInput) SetMaxResults(v int64) *ListSnapshotsInRecycleBinInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSnapshotsInRecycleBinInput) SetNextToken(v string) *ListSnapshotsInRecycleBinInput { + s.NextToken = &v + return s +} + +// SetSnapshotIds sets the SnapshotIds field's value. +func (s *ListSnapshotsInRecycleBinInput) SetSnapshotIds(v []*string) *ListSnapshotsInRecycleBinInput { + s.SnapshotIds = v + return s +} + +type ListSnapshotsInRecycleBinOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // Information about the snapshots. + Snapshots []*SnapshotRecycleBinInfo `locationName:"snapshotSet" 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 ListSnapshotsInRecycleBinOutput) 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 ListSnapshotsInRecycleBinOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSnapshotsInRecycleBinOutput) SetNextToken(v string) *ListSnapshotsInRecycleBinOutput { + s.NextToken = &v + return s +} + +// SetSnapshots sets the Snapshots field's value. +func (s *ListSnapshotsInRecycleBinOutput) SetSnapshots(v []*SnapshotRecycleBinInfo) *ListSnapshotsInRecycleBinOutput { + s.Snapshots = v + return s +} + // Describes the Classic Load Balancers and target groups to attach to a Spot // Fleet request. type LoadBalancersConfig struct { @@ -113246,6 +123562,8 @@ type ModifyClientVpnEndpointInput struct { // The options for managing connection authorization for new client connections. ClientConnectOptions *ClientConnectOptions `type:"structure"` + ClientLoginBannerOptions *ClientLoginBannerOptions `type:"structure"` + // The ID of the Client VPN endpoint to modify. // // ClientVpnEndpointId is a required field @@ -113288,6 +123606,8 @@ type ModifyClientVpnEndpointInput struct { // be provisioned in Certificate Manager (ACM). ServerCertificateArn *string `type:"string"` + SessionTimeoutHours *int64 `type:"integer"` + // Indicates whether the VPN is split-tunnel. // // For information about split-tunnel VPN endpoints, see Split-tunnel Client @@ -113343,6 +123663,12 @@ func (s *ModifyClientVpnEndpointInput) SetClientConnectOptions(v *ClientConnectO return s } +// SetClientLoginBannerOptions sets the ClientLoginBannerOptions field's value. +func (s *ModifyClientVpnEndpointInput) SetClientLoginBannerOptions(v *ClientLoginBannerOptions) *ModifyClientVpnEndpointInput { + s.ClientLoginBannerOptions = v + return s +} + // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. func (s *ModifyClientVpnEndpointInput) SetClientVpnEndpointId(v string) *ModifyClientVpnEndpointInput { s.ClientVpnEndpointId = &v @@ -113391,6 +123717,12 @@ func (s *ModifyClientVpnEndpointInput) SetServerCertificateArn(v string) *Modify return s } +// SetSessionTimeoutHours sets the SessionTimeoutHours field's value. +func (s *ModifyClientVpnEndpointInput) SetSessionTimeoutHours(v int64) *ModifyClientVpnEndpointInput { + s.SessionTimeoutHours = &v + return s +} + // SetSplitTunnel sets the SplitTunnel field's value. func (s *ModifyClientVpnEndpointInput) SetSplitTunnel(v bool) *ModifyClientVpnEndpointInput { s.SplitTunnel = &v @@ -114484,8 +124816,8 @@ type ModifyInstanceAttributeInput struct { // the instance is terminated. // // To add instance store volumes to an Amazon EBS-backed instance, you must - // add them when you launch the instance. For more information, see Updating - // the block device mapping when launching an instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM) + // add them when you launch the instance. For more information, see Update the + // block device mapping when launching an instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM) // in the Amazon EC2 User Guide. BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"` @@ -115198,14 +125530,14 @@ type ModifyInstanceMetadataOptionsInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // This parameter enables or disables the HTTP metadata endpoint on your instances. - // If the parameter is not specified, the existing state is maintained. + // Enables or disables the HTTP metadata endpoint on your instances. If this + // parameter is not specified, the existing state is maintained. // - // If you specify a value of disabled, you will not be able to access your instance - // metadata. + // If you specify a value of disabled, you cannot access your instance metadata. HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"` // Enables or disables the IPv6 endpoint for the instance metadata service. + // This setting applies only if you have enabled the HTTP metadata endpoint. HttpProtocolIpv6 *string `type:"string" enum:"InstanceMetadataProtocolState"` // The desired HTTP PUT response hop limit for instance metadata requests. The @@ -115234,6 +125566,14 @@ type ModifyInstanceMetadataOptionsInput struct { // // InstanceId is a required field InstanceId *string `type:"string" required:"true"` + + // Set to enabled to allow access to instance tags from the instance metadata. + // Set to disabled to turn off access to instance tags from the instance metadata. + // For more information, see Work with instance tags using the instance metadata + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS). + // + // Default: disabled + InstanceMetadataTags *string `type:"string" enum:"InstanceMetadataTagsState"` } // String returns the string representation. @@ -115303,6 +125643,12 @@ func (s *ModifyInstanceMetadataOptionsInput) SetInstanceId(v string) *ModifyInst return s } +// SetInstanceMetadataTags sets the InstanceMetadataTags field's value. +func (s *ModifyInstanceMetadataOptionsInput) SetInstanceMetadataTags(v string) *ModifyInstanceMetadataOptionsInput { + s.InstanceMetadataTags = &v + return s +} + type ModifyInstanceMetadataOptionsOutput struct { _ struct{} `type:"structure"` @@ -115368,7 +125714,8 @@ type ModifyInstancePlacementInput struct { // InstanceId is a required field InstanceId *string `locationName:"instanceId" type:"string" required:"true"` - // Reserved for future use. + // The number of the partition in which to place the instance. Valid only if + // the placement group strategy is set to partition. PartitionNumber *int64 `type:"integer"` // The tenancy for the instance. @@ -115483,6 +125830,563 @@ func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlaceme return s } +type ModifyIpamInput struct { + _ struct{} `type:"structure"` + + // Choose the operating Regions for the 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 Regions. + // + // For more information about operating Regions, see Create an IPAM (/vpc/latest/ipam/create-ipam.html) + // in the Amazon VPC IPAM User Guide. + AddOperatingRegions []*AddIpamOperatingRegion `locationName:"AddOperatingRegion" type:"list"` + + // The description of the IPAM you want to modify. + 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"` + + // The ID of the IPAM you want to modify. + // + // IpamId is a required field + IpamId *string `type:"string" required:"true"` + + // The operating Regions to remove. + 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 ModifyIpamInput) 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 ModifyIpamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyIpamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyIpamInput"} + if s.IpamId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddOperatingRegions sets the AddOperatingRegions field's value. +func (s *ModifyIpamInput) SetAddOperatingRegions(v []*AddIpamOperatingRegion) *ModifyIpamInput { + s.AddOperatingRegions = v + return s +} + +// SetDescription sets the Description field's value. +func (s *ModifyIpamInput) SetDescription(v string) *ModifyIpamInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyIpamInput) SetDryRun(v bool) *ModifyIpamInput { + s.DryRun = &v + return s +} + +// SetIpamId sets the IpamId field's value. +func (s *ModifyIpamInput) SetIpamId(v string) *ModifyIpamInput { + s.IpamId = &v + return s +} + +// SetRemoveOperatingRegions sets the RemoveOperatingRegions field's value. +func (s *ModifyIpamInput) SetRemoveOperatingRegions(v []*RemoveIpamOperatingRegion) *ModifyIpamInput { + s.RemoveOperatingRegions = v + return s +} + +type ModifyIpamOutput struct { + _ struct{} `type:"structure"` + + // The results of the modification. + Ipam *Ipam `locationName:"ipam" 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 ModifyIpamOutput) 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 ModifyIpamOutput) GoString() string { + return s.String() +} + +// SetIpam sets the Ipam field's value. +func (s *ModifyIpamOutput) SetIpam(v *Ipam) *ModifyIpamOutput { + s.Ipam = v + return s +} + +type ModifyIpamPoolInput struct { + _ struct{} `type:"structure"` + + // Add tag allocation rules to a pool. For more information about allocation + // rules, see Create a top-level pool (/vpc/latest/ipam/create-top-ipam.html) + // in the Amazon VPC IPAM User Guide. + AddAllocationResourceTags []*RequestIpamResourceTag `locationName:"AddAllocationResourceTag" locationNameList:"item" type:"list"` + + // The default netmask length for allocations added to this pool. If, for example, + // the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations + // will default to 10.0.0.0/16. + AllocationDefaultNetmaskLength *int64 `type:"integer"` + + // The maximum netmask length possible for CIDR allocations in this IPAM pool + // to be compliant. Possible netmask lengths for IPv4 addresses are 0 - 32. + // Possible netmask lengths for IPv6 addresses are 0 - 128.The maximum netmask + // length must be greater than the minimum netmask length. + AllocationMaxNetmaskLength *int64 `type:"integer"` + + // The minimum netmask length required for CIDR allocations in this IPAM pool + // to be compliant. Possible netmask lengths for IPv4 addresses are 0 - 32. + // Possible netmask lengths for IPv6 addresses are 0 - 128. The minimum netmask + // length must be less than the maximum netmask length. + AllocationMinNetmaskLength *int64 `type:"integer"` + + // If true, IPAM will continuously look for resources within the CIDR range + // of this pool and automatically import them as allocations into your IPAM. + // The CIDRs that will be allocated for these resources must not already be + // allocated to other resources in order for the import to succeed. IPAM will + // import a CIDR regardless of its compliance with the pool's allocation rules, + // so a resource might be imported and subsequently marked as noncompliant. + // If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest + // CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will + // randomly import one of them only. + // + // A locale must be set on the pool for this feature to work. + AutoImport *bool `type:"boolean"` + + // Clear the default netmask length allocation rule for this pool. + ClearAllocationDefaultNetmaskLength *bool `type:"boolean"` + + // The description of the IPAM pool you want to modify. + 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"` + + // The ID of the IPAM pool you want to modify. + // + // IpamPoolId is a required field + IpamPoolId *string `type:"string" required:"true"` + + // Remove tag allocation rules from a pool. + RemoveAllocationResourceTags []*RequestIpamResourceTag `locationName:"RemoveAllocationResourceTag" 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 ModifyIpamPoolInput) 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 ModifyIpamPoolInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyIpamPoolInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyIpamPoolInput"} + if s.IpamPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamPoolId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddAllocationResourceTags sets the AddAllocationResourceTags field's value. +func (s *ModifyIpamPoolInput) SetAddAllocationResourceTags(v []*RequestIpamResourceTag) *ModifyIpamPoolInput { + s.AddAllocationResourceTags = v + return s +} + +// SetAllocationDefaultNetmaskLength sets the AllocationDefaultNetmaskLength field's value. +func (s *ModifyIpamPoolInput) SetAllocationDefaultNetmaskLength(v int64) *ModifyIpamPoolInput { + s.AllocationDefaultNetmaskLength = &v + return s +} + +// SetAllocationMaxNetmaskLength sets the AllocationMaxNetmaskLength field's value. +func (s *ModifyIpamPoolInput) SetAllocationMaxNetmaskLength(v int64) *ModifyIpamPoolInput { + s.AllocationMaxNetmaskLength = &v + return s +} + +// SetAllocationMinNetmaskLength sets the AllocationMinNetmaskLength field's value. +func (s *ModifyIpamPoolInput) SetAllocationMinNetmaskLength(v int64) *ModifyIpamPoolInput { + s.AllocationMinNetmaskLength = &v + return s +} + +// SetAutoImport sets the AutoImport field's value. +func (s *ModifyIpamPoolInput) SetAutoImport(v bool) *ModifyIpamPoolInput { + s.AutoImport = &v + return s +} + +// SetClearAllocationDefaultNetmaskLength sets the ClearAllocationDefaultNetmaskLength field's value. +func (s *ModifyIpamPoolInput) SetClearAllocationDefaultNetmaskLength(v bool) *ModifyIpamPoolInput { + s.ClearAllocationDefaultNetmaskLength = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ModifyIpamPoolInput) SetDescription(v string) *ModifyIpamPoolInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyIpamPoolInput) SetDryRun(v bool) *ModifyIpamPoolInput { + s.DryRun = &v + return s +} + +// SetIpamPoolId sets the IpamPoolId field's value. +func (s *ModifyIpamPoolInput) SetIpamPoolId(v string) *ModifyIpamPoolInput { + s.IpamPoolId = &v + return s +} + +// SetRemoveAllocationResourceTags sets the RemoveAllocationResourceTags field's value. +func (s *ModifyIpamPoolInput) SetRemoveAllocationResourceTags(v []*RequestIpamResourceTag) *ModifyIpamPoolInput { + s.RemoveAllocationResourceTags = v + return s +} + +type ModifyIpamPoolOutput struct { + _ struct{} `type:"structure"` + + // The results of the modification. + IpamPool *IpamPool `locationName:"ipamPool" 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 ModifyIpamPoolOutput) 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 ModifyIpamPoolOutput) GoString() string { + return s.String() +} + +// SetIpamPool sets the IpamPool field's value. +func (s *ModifyIpamPoolOutput) SetIpamPool(v *IpamPool) *ModifyIpamPoolOutput { + s.IpamPool = v + return s +} + +type ModifyIpamResourceCidrInput struct { + _ struct{} `type:"structure"` + + // The ID of the current scope that the resource CIDR is in. + // + // CurrentIpamScopeId is a required field + CurrentIpamScopeId *string `type:"string" required:"true"` + + // The ID of the scope you want to transfer the resource CIDR to. + DestinationIpamScopeId *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"` + + // Determines if the resource is monitored by IPAM. If a resource is monitored, + // the resource is discovered by IPAM and you can view details about the resource’s + // CIDR. + // + // Monitored is a required field + Monitored *bool `type:"boolean" required:"true"` + + // The CIDR of the resource you want to modify. + // + // ResourceCidr is a required field + ResourceCidr *string `type:"string" required:"true"` + + // The ID of the resource you want to modify. + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` + + // The Amazon Web Services Region of the resource you want to modify. + // + // 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 ModifyIpamResourceCidrInput) 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 ModifyIpamResourceCidrInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyIpamResourceCidrInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyIpamResourceCidrInput"} + if s.CurrentIpamScopeId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentIpamScopeId")) + } + if s.Monitored == nil { + invalidParams.Add(request.NewErrParamRequired("Monitored")) + } + if s.ResourceCidr == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceCidr")) + } + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceRegion == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceRegion")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCurrentIpamScopeId sets the CurrentIpamScopeId field's value. +func (s *ModifyIpamResourceCidrInput) SetCurrentIpamScopeId(v string) *ModifyIpamResourceCidrInput { + s.CurrentIpamScopeId = &v + return s +} + +// SetDestinationIpamScopeId sets the DestinationIpamScopeId field's value. +func (s *ModifyIpamResourceCidrInput) SetDestinationIpamScopeId(v string) *ModifyIpamResourceCidrInput { + s.DestinationIpamScopeId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyIpamResourceCidrInput) SetDryRun(v bool) *ModifyIpamResourceCidrInput { + s.DryRun = &v + return s +} + +// SetMonitored sets the Monitored field's value. +func (s *ModifyIpamResourceCidrInput) SetMonitored(v bool) *ModifyIpamResourceCidrInput { + s.Monitored = &v + return s +} + +// SetResourceCidr sets the ResourceCidr field's value. +func (s *ModifyIpamResourceCidrInput) SetResourceCidr(v string) *ModifyIpamResourceCidrInput { + s.ResourceCidr = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *ModifyIpamResourceCidrInput) SetResourceId(v string) *ModifyIpamResourceCidrInput { + s.ResourceId = &v + return s +} + +// SetResourceRegion sets the ResourceRegion field's value. +func (s *ModifyIpamResourceCidrInput) SetResourceRegion(v string) *ModifyIpamResourceCidrInput { + s.ResourceRegion = &v + return s +} + +type ModifyIpamResourceCidrOutput struct { + _ struct{} `type:"structure"` + + // The CIDR for an IPAM resource. + IpamResourceCidr *IpamResourceCidr `locationName:"ipamResourceCidr" 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 ModifyIpamResourceCidrOutput) 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 ModifyIpamResourceCidrOutput) GoString() string { + return s.String() +} + +// SetIpamResourceCidr sets the IpamResourceCidr field's value. +func (s *ModifyIpamResourceCidrOutput) SetIpamResourceCidr(v *IpamResourceCidr) *ModifyIpamResourceCidrOutput { + s.IpamResourceCidr = v + return s +} + +type ModifyIpamScopeInput struct { + _ struct{} `type:"structure"` + + // The description of the scope you want to modify. + 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"` + + // The ID of the scope you want to modify. + // + // IpamScopeId is a required field + IpamScopeId *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 ModifyIpamScopeInput) 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 ModifyIpamScopeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyIpamScopeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyIpamScopeInput"} + if s.IpamScopeId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamScopeId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *ModifyIpamScopeInput) SetDescription(v string) *ModifyIpamScopeInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyIpamScopeInput) SetDryRun(v bool) *ModifyIpamScopeInput { + s.DryRun = &v + return s +} + +// SetIpamScopeId sets the IpamScopeId field's value. +func (s *ModifyIpamScopeInput) SetIpamScopeId(v string) *ModifyIpamScopeInput { + s.IpamScopeId = &v + return s +} + +type ModifyIpamScopeOutput struct { + _ struct{} `type:"structure"` + + // The results of the modification. + IpamScope *IpamScope `locationName:"ipamScope" 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 ModifyIpamScopeOutput) 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 ModifyIpamScopeOutput) GoString() string { + return s.String() +} + +// SetIpamScope sets the IpamScope field's value. +func (s *ModifyIpamScopeOutput) SetIpamScope(v *IpamScope) *ModifyIpamScopeOutput { + s.IpamScope = v + return s +} + type ModifyLaunchTemplateInput struct { _ struct{} `type:"structure"` @@ -115888,6 +126792,113 @@ func (s ModifyNetworkInterfaceAttributeOutput) GoString() string { return s.String() } +type ModifyPrivateDnsNameOptionsInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // Indicates whether to respond to DNS queries for instance hostnames with DNS + // AAAA records. + EnableResourceNameDnsAAAARecord *bool `type:"boolean"` + + // Indicates whether to respond to DNS queries for instance hostnames with DNS + // A records. + EnableResourceNameDnsARecord *bool `type:"boolean"` + + // The ID of the instance. + InstanceId *string `type:"string"` + + // The type of hostname for EC2 instances. For IPv4 only subnets, an instance + // DNS name must be based on the instance IPv4 address. For IPv6 only subnets, + // an instance DNS name must be based on the instance ID. For dual-stack subnets, + // you can specify whether DNS names use the instance IPv4 address or the instance + // ID. + PrivateDnsHostnameType *string `type:"string" enum:"HostnameType"` +} + +// 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 ModifyPrivateDnsNameOptionsInput) 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 ModifyPrivateDnsNameOptionsInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyPrivateDnsNameOptionsInput) SetDryRun(v bool) *ModifyPrivateDnsNameOptionsInput { + s.DryRun = &v + return s +} + +// SetEnableResourceNameDnsAAAARecord sets the EnableResourceNameDnsAAAARecord field's value. +func (s *ModifyPrivateDnsNameOptionsInput) SetEnableResourceNameDnsAAAARecord(v bool) *ModifyPrivateDnsNameOptionsInput { + s.EnableResourceNameDnsAAAARecord = &v + return s +} + +// SetEnableResourceNameDnsARecord sets the EnableResourceNameDnsARecord field's value. +func (s *ModifyPrivateDnsNameOptionsInput) SetEnableResourceNameDnsARecord(v bool) *ModifyPrivateDnsNameOptionsInput { + s.EnableResourceNameDnsARecord = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ModifyPrivateDnsNameOptionsInput) SetInstanceId(v string) *ModifyPrivateDnsNameOptionsInput { + s.InstanceId = &v + return s +} + +// SetPrivateDnsHostnameType sets the PrivateDnsHostnameType field's value. +func (s *ModifyPrivateDnsNameOptionsInput) SetPrivateDnsHostnameType(v string) *ModifyPrivateDnsNameOptionsInput { + s.PrivateDnsHostnameType = &v + return s +} + +type ModifyPrivateDnsNameOptionsOutput struct { + _ struct{} `type:"structure"` + + // Returns true if the request succeeds; otherwise, it returns an error. + Return *bool `locationName:"return" type:"boolean"` +} + +// 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 ModifyPrivateDnsNameOptionsOutput) 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 ModifyPrivateDnsNameOptionsOutput) GoString() string { + return s.String() +} + +// SetReturn sets the Return field's value. +func (s *ModifyPrivateDnsNameOptionsOutput) SetReturn(v bool) *ModifyPrivateDnsNameOptionsOutput { + s.Return = &v + return s +} + // Contains the parameters for ModifyReservedInstances. type ModifyReservedInstancesInput struct { _ struct{} `type:"structure"` @@ -116220,6 +127231,113 @@ func (s ModifySnapshotAttributeOutput) GoString() string { return s.String() } +type ModifySnapshotTierInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the snapshot. + // + // SnapshotId is a required field + SnapshotId *string `type:"string" required:"true"` + + // The name of the storage tier. You must specify archive. + StorageTier *string `type:"string" enum:"TargetStorageTier"` +} + +// 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 ModifySnapshotTierInput) 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 ModifySnapshotTierInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifySnapshotTierInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotTierInput"} + if s.SnapshotId == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifySnapshotTierInput) SetDryRun(v bool) *ModifySnapshotTierInput { + s.DryRun = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *ModifySnapshotTierInput) SetSnapshotId(v string) *ModifySnapshotTierInput { + s.SnapshotId = &v + return s +} + +// SetStorageTier sets the StorageTier field's value. +func (s *ModifySnapshotTierInput) SetStorageTier(v string) *ModifySnapshotTierInput { + s.StorageTier = &v + return s +} + +type ModifySnapshotTierOutput struct { + _ struct{} `type:"structure"` + + // The ID of the snapshot. + SnapshotId *string `locationName:"snapshotId" type:"string"` + + // The date and time when the archive process was started. + TieringStartTime *time.Time `locationName:"tieringStartTime" 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 ModifySnapshotTierOutput) 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 ModifySnapshotTierOutput) GoString() string { + return s.String() +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *ModifySnapshotTierOutput) SetSnapshotId(v string) *ModifySnapshotTierOutput { + s.SnapshotId = &v + return s +} + +// SetTieringStartTime sets the TieringStartTime field's value. +func (s *ModifySnapshotTierOutput) SetTieringStartTime(v time.Time) *ModifySnapshotTierOutput { + s.TieringStartTime = &v + return s +} + // Contains the parameters for ModifySpotFleetRequest. type ModifySpotFleetRequestInput struct { _ struct{} `type:"structure"` @@ -116377,10 +127495,28 @@ type ModifySubnetAttributeInput struct { // You must set this value when you specify true for MapCustomerOwnedIpOnLaunch. CustomerOwnedIpv4Pool *string `type:"string"` + // Specify true to indicate that local network interfaces at the current position + // should be disabled. + DisableLniAtDeviceIndex *AttributeBooleanValue `type:"structure"` + // Indicates whether DNS queries made to the Amazon-provided DNS Resolver in // this subnet should return synthetic IPv6 addresses for IPv4-only destinations. EnableDns64 *AttributeBooleanValue `type:"structure"` + // Indicates the device position for local network interfaces in this subnet. + // For example, 1 indicates local network interfaces in this subnet are the + // secondary network interface (eth1). A local network interface cannot be the + // primary network interface (eth0). + EnableLniAtDeviceIndex *int64 `type:"integer"` + + // Indicates whether to respond to DNS queries for instance hostnames with DNS + // AAAA records. + EnableResourceNameDnsAAAARecordOnLaunch *AttributeBooleanValue `type:"structure"` + + // Indicates whether to respond to DNS queries for instance hostnames with DNS + // A records. + EnableResourceNameDnsARecordOnLaunch *AttributeBooleanValue `type:"structure"` + // Specify true to indicate that network interfaces attached to instances created // in the specified subnet should be assigned a customer-owned IPv4 address. // @@ -116392,6 +127528,13 @@ type ModifySubnetAttributeInput struct { // in the specified subnet should be assigned a public IPv4 address. MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"` + // The type of hostnames to assign to instances in the subnet at launch. For + // IPv4 only subnets, an instance DNS name must be based on the instance IPv4 + // address. For IPv6 only subnets, an instance DNS name must be based on the + // instance ID. For dual-stack subnets, you can specify whether DNS names use + // the instance IPv4 address or the instance ID. + PrivateDnsHostnameTypeOnLaunch *string `type:"string" enum:"HostnameType"` + // The ID of the subnet. // // SubnetId is a required field @@ -116441,12 +127584,36 @@ func (s *ModifySubnetAttributeInput) SetCustomerOwnedIpv4Pool(v string) *ModifyS return s } +// SetDisableLniAtDeviceIndex sets the DisableLniAtDeviceIndex field's value. +func (s *ModifySubnetAttributeInput) SetDisableLniAtDeviceIndex(v *AttributeBooleanValue) *ModifySubnetAttributeInput { + s.DisableLniAtDeviceIndex = v + return s +} + // SetEnableDns64 sets the EnableDns64 field's value. func (s *ModifySubnetAttributeInput) SetEnableDns64(v *AttributeBooleanValue) *ModifySubnetAttributeInput { s.EnableDns64 = v return s } +// SetEnableLniAtDeviceIndex sets the EnableLniAtDeviceIndex field's value. +func (s *ModifySubnetAttributeInput) SetEnableLniAtDeviceIndex(v int64) *ModifySubnetAttributeInput { + s.EnableLniAtDeviceIndex = &v + return s +} + +// SetEnableResourceNameDnsAAAARecordOnLaunch sets the EnableResourceNameDnsAAAARecordOnLaunch field's value. +func (s *ModifySubnetAttributeInput) SetEnableResourceNameDnsAAAARecordOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput { + s.EnableResourceNameDnsAAAARecordOnLaunch = v + return s +} + +// SetEnableResourceNameDnsARecordOnLaunch sets the EnableResourceNameDnsARecordOnLaunch field's value. +func (s *ModifySubnetAttributeInput) SetEnableResourceNameDnsARecordOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput { + s.EnableResourceNameDnsARecordOnLaunch = v + return s +} + // SetMapCustomerOwnedIpOnLaunch sets the MapCustomerOwnedIpOnLaunch field's value. func (s *ModifySubnetAttributeInput) SetMapCustomerOwnedIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput { s.MapCustomerOwnedIpOnLaunch = v @@ -116459,6 +127626,12 @@ func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanV return s } +// SetPrivateDnsHostnameTypeOnLaunch sets the PrivateDnsHostnameTypeOnLaunch field's value. +func (s *ModifySubnetAttributeInput) SetPrivateDnsHostnameTypeOnLaunch(v string) *ModifySubnetAttributeInput { + s.PrivateDnsHostnameTypeOnLaunch = &v + return s +} + // SetSubnetId sets the SubnetId field's value. func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput { s.SubnetId = &v @@ -118251,6 +129424,111 @@ func (s *ModifyVpcEndpointServiceConfigurationOutput) SetReturn(v bool) *ModifyV return s } +type ModifyVpcEndpointServicePayerResponsibilityInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The entity that is responsible for the endpoint costs. The default is the + // endpoint owner. If you set the payer responsibility to the service owner, + // you cannot set it back to the endpoint owner. + // + // PayerResponsibility is a required field + PayerResponsibility *string `type:"string" required:"true" enum:"PayerResponsibility"` + + // The ID of the service. + // + // ServiceId is a required field + ServiceId *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 ModifyVpcEndpointServicePayerResponsibilityInput) 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 ModifyVpcEndpointServicePayerResponsibilityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyVpcEndpointServicePayerResponsibilityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServicePayerResponsibilityInput"} + if s.PayerResponsibility == nil { + invalidParams.Add(request.NewErrParamRequired("PayerResponsibility")) + } + if s.ServiceId == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyVpcEndpointServicePayerResponsibilityInput) SetDryRun(v bool) *ModifyVpcEndpointServicePayerResponsibilityInput { + s.DryRun = &v + return s +} + +// SetPayerResponsibility sets the PayerResponsibility field's value. +func (s *ModifyVpcEndpointServicePayerResponsibilityInput) SetPayerResponsibility(v string) *ModifyVpcEndpointServicePayerResponsibilityInput { + s.PayerResponsibility = &v + return s +} + +// SetServiceId sets the ServiceId field's value. +func (s *ModifyVpcEndpointServicePayerResponsibilityInput) SetServiceId(v string) *ModifyVpcEndpointServicePayerResponsibilityInput { + s.ServiceId = &v + return s +} + +type ModifyVpcEndpointServicePayerResponsibilityOutput struct { + _ struct{} `type:"structure"` + + // Returns true if the request succeeds; otherwise, it returns an error. + ReturnValue *bool `locationName:"return" type:"boolean"` +} + +// 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 ModifyVpcEndpointServicePayerResponsibilityOutput) 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 ModifyVpcEndpointServicePayerResponsibilityOutput) GoString() string { + return s.String() +} + +// SetReturnValue sets the ReturnValue field's value. +func (s *ModifyVpcEndpointServicePayerResponsibilityOutput) SetReturnValue(v bool) *ModifyVpcEndpointServicePayerResponsibilityOutput { + s.ReturnValue = &v + return s +} + type ModifyVpcEndpointServicePermissionsInput struct { _ struct{} `type:"structure"` @@ -119064,7 +130342,7 @@ type ModifyVpnTunnelOptionsSpecification struct { // The number of seconds after which a DPD timeout occurs. // - // Constraints: A value between 0 and 30. + // Constraints: A value greater than or equal to 30. // // Default: 30 DPDTimeoutSeconds *int64 `type:"integer"` @@ -119543,6 +130821,124 @@ func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput { return s } +type MoveByoipCidrToIpamInput struct { + _ struct{} `type:"structure"` + + // The BYOIP CIDR. + // + // Cidr is a required field + Cidr *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"` + + // The IPAM pool ID. + // + // IpamPoolId is a required field + IpamPoolId *string `type:"string" required:"true"` + + // The Amazon Web Services account ID of the owner of the IPAM pool. + // + // IpamPoolOwner is a required field + IpamPoolOwner *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 MoveByoipCidrToIpamInput) 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 MoveByoipCidrToIpamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MoveByoipCidrToIpamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MoveByoipCidrToIpamInput"} + if s.Cidr == nil { + invalidParams.Add(request.NewErrParamRequired("Cidr")) + } + if s.IpamPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamPoolId")) + } + if s.IpamPoolOwner == nil { + invalidParams.Add(request.NewErrParamRequired("IpamPoolOwner")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCidr sets the Cidr field's value. +func (s *MoveByoipCidrToIpamInput) SetCidr(v string) *MoveByoipCidrToIpamInput { + s.Cidr = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *MoveByoipCidrToIpamInput) SetDryRun(v bool) *MoveByoipCidrToIpamInput { + s.DryRun = &v + return s +} + +// SetIpamPoolId sets the IpamPoolId field's value. +func (s *MoveByoipCidrToIpamInput) SetIpamPoolId(v string) *MoveByoipCidrToIpamInput { + s.IpamPoolId = &v + return s +} + +// SetIpamPoolOwner sets the IpamPoolOwner field's value. +func (s *MoveByoipCidrToIpamInput) SetIpamPoolOwner(v string) *MoveByoipCidrToIpamInput { + s.IpamPoolOwner = &v + return s +} + +type MoveByoipCidrToIpamOutput struct { + _ struct{} `type:"structure"` + + // Information about an address range that is provisioned for use with your + // Amazon Web Services resources through bring your own IP addresses (BYOIP). + ByoipCidr *ByoipCidr `locationName:"byoipCidr" 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 MoveByoipCidrToIpamOutput) 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 MoveByoipCidrToIpamOutput) GoString() string { + return s.String() +} + +// SetByoipCidr sets the ByoipCidr field's value. +func (s *MoveByoipCidrToIpamOutput) SetByoipCidr(v *ByoipCidr) *MoveByoipCidrToIpamOutput { + s.ByoipCidr = v + return s +} + // Describes the status of a moving Elastic IP address. type MovingAddressStatus struct { _ struct{} `type:"structure"` @@ -120233,6 +131629,246 @@ func (s *NetworkInfo) SetNetworkPerformance(v string) *NetworkInfo { return s } +// Describes a Network Access Scope. +type NetworkInsightsAccessScope struct { + _ struct{} `type:"structure"` + + // The creation date. + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the Network Access Scope. + NetworkInsightsAccessScopeArn *string `locationName:"networkInsightsAccessScopeArn" min:"1" type:"string"` + + // The ID of the Network Access Scope. + NetworkInsightsAccessScopeId *string `locationName:"networkInsightsAccessScopeId" type:"string"` + + // The tags. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // The last updated date. + UpdatedDate *time.Time `locationName:"updatedDate" 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 NetworkInsightsAccessScope) 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 NetworkInsightsAccessScope) GoString() string { + return s.String() +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *NetworkInsightsAccessScope) SetCreatedDate(v time.Time) *NetworkInsightsAccessScope { + s.CreatedDate = &v + return s +} + +// SetNetworkInsightsAccessScopeArn sets the NetworkInsightsAccessScopeArn field's value. +func (s *NetworkInsightsAccessScope) SetNetworkInsightsAccessScopeArn(v string) *NetworkInsightsAccessScope { + s.NetworkInsightsAccessScopeArn = &v + return s +} + +// SetNetworkInsightsAccessScopeId sets the NetworkInsightsAccessScopeId field's value. +func (s *NetworkInsightsAccessScope) SetNetworkInsightsAccessScopeId(v string) *NetworkInsightsAccessScope { + s.NetworkInsightsAccessScopeId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *NetworkInsightsAccessScope) SetTags(v []*Tag) *NetworkInsightsAccessScope { + s.Tags = v + return s +} + +// SetUpdatedDate sets the UpdatedDate field's value. +func (s *NetworkInsightsAccessScope) SetUpdatedDate(v time.Time) *NetworkInsightsAccessScope { + s.UpdatedDate = &v + return s +} + +// Describes a Network Access Scope analysis. +type NetworkInsightsAccessScopeAnalysis struct { + _ struct{} `type:"structure"` + + // The number of network interfaces analyzed. + AnalyzedEniCount *int64 `locationName:"analyzedEniCount" type:"integer"` + + // The analysis end date. + EndDate *time.Time `locationName:"endDate" type:"timestamp"` + + // Indicates whether there are findings. + FindingsFound *string `locationName:"findingsFound" type:"string" enum:"FindingsFound"` + + // The Amazon Resource Name (ARN) of the Network Access Scope analysis. + NetworkInsightsAccessScopeAnalysisArn *string `locationName:"networkInsightsAccessScopeAnalysisArn" min:"1" type:"string"` + + // The ID of the Network Access Scope analysis. + NetworkInsightsAccessScopeAnalysisId *string `locationName:"networkInsightsAccessScopeAnalysisId" type:"string"` + + // The ID of the Network Access Scope. + NetworkInsightsAccessScopeId *string `locationName:"networkInsightsAccessScopeId" type:"string"` + + // The analysis start date. + StartDate *time.Time `locationName:"startDate" type:"timestamp"` + + // The status. + Status *string `locationName:"status" type:"string" enum:"AnalysisStatus"` + + // The status message. + StatusMessage *string `locationName:"statusMessage" type:"string"` + + // The tags. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // The warning message. + WarningMessage *string `locationName:"warningMessage" 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 NetworkInsightsAccessScopeAnalysis) 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 NetworkInsightsAccessScopeAnalysis) GoString() string { + return s.String() +} + +// SetAnalyzedEniCount sets the AnalyzedEniCount field's value. +func (s *NetworkInsightsAccessScopeAnalysis) SetAnalyzedEniCount(v int64) *NetworkInsightsAccessScopeAnalysis { + s.AnalyzedEniCount = &v + return s +} + +// SetEndDate sets the EndDate field's value. +func (s *NetworkInsightsAccessScopeAnalysis) SetEndDate(v time.Time) *NetworkInsightsAccessScopeAnalysis { + s.EndDate = &v + return s +} + +// SetFindingsFound sets the FindingsFound field's value. +func (s *NetworkInsightsAccessScopeAnalysis) SetFindingsFound(v string) *NetworkInsightsAccessScopeAnalysis { + s.FindingsFound = &v + return s +} + +// SetNetworkInsightsAccessScopeAnalysisArn sets the NetworkInsightsAccessScopeAnalysisArn field's value. +func (s *NetworkInsightsAccessScopeAnalysis) SetNetworkInsightsAccessScopeAnalysisArn(v string) *NetworkInsightsAccessScopeAnalysis { + s.NetworkInsightsAccessScopeAnalysisArn = &v + return s +} + +// SetNetworkInsightsAccessScopeAnalysisId sets the NetworkInsightsAccessScopeAnalysisId field's value. +func (s *NetworkInsightsAccessScopeAnalysis) SetNetworkInsightsAccessScopeAnalysisId(v string) *NetworkInsightsAccessScopeAnalysis { + s.NetworkInsightsAccessScopeAnalysisId = &v + return s +} + +// SetNetworkInsightsAccessScopeId sets the NetworkInsightsAccessScopeId field's value. +func (s *NetworkInsightsAccessScopeAnalysis) SetNetworkInsightsAccessScopeId(v string) *NetworkInsightsAccessScopeAnalysis { + s.NetworkInsightsAccessScopeId = &v + return s +} + +// SetStartDate sets the StartDate field's value. +func (s *NetworkInsightsAccessScopeAnalysis) SetStartDate(v time.Time) *NetworkInsightsAccessScopeAnalysis { + s.StartDate = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *NetworkInsightsAccessScopeAnalysis) SetStatus(v string) *NetworkInsightsAccessScopeAnalysis { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *NetworkInsightsAccessScopeAnalysis) SetStatusMessage(v string) *NetworkInsightsAccessScopeAnalysis { + s.StatusMessage = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *NetworkInsightsAccessScopeAnalysis) SetTags(v []*Tag) *NetworkInsightsAccessScopeAnalysis { + s.Tags = v + return s +} + +// SetWarningMessage sets the WarningMessage field's value. +func (s *NetworkInsightsAccessScopeAnalysis) SetWarningMessage(v string) *NetworkInsightsAccessScopeAnalysis { + s.WarningMessage = &v + return s +} + +// Describes the Network Access Scope content. +type NetworkInsightsAccessScopeContent struct { + _ struct{} `type:"structure"` + + // The paths to exclude. + ExcludePaths []*AccessScopePath `locationName:"excludePathSet" locationNameList:"item" type:"list"` + + // The paths to match. + MatchPaths []*AccessScopePath `locationName:"matchPathSet" locationNameList:"item" type:"list"` + + // The ID of the Network Access Scope. + NetworkInsightsAccessScopeId *string `locationName:"networkInsightsAccessScopeId" 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 NetworkInsightsAccessScopeContent) 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 NetworkInsightsAccessScopeContent) GoString() string { + return s.String() +} + +// SetExcludePaths sets the ExcludePaths field's value. +func (s *NetworkInsightsAccessScopeContent) SetExcludePaths(v []*AccessScopePath) *NetworkInsightsAccessScopeContent { + s.ExcludePaths = v + return s +} + +// SetMatchPaths sets the MatchPaths field's value. +func (s *NetworkInsightsAccessScopeContent) SetMatchPaths(v []*AccessScopePath) *NetworkInsightsAccessScopeContent { + s.MatchPaths = v + return s +} + +// SetNetworkInsightsAccessScopeId sets the NetworkInsightsAccessScopeId field's value. +func (s *NetworkInsightsAccessScopeContent) SetNetworkInsightsAccessScopeId(v string) *NetworkInsightsAccessScopeContent { + s.NetworkInsightsAccessScopeId = &v + return s +} + // Describes a network insights analysis. type NetworkInsightsAnalysis struct { _ struct{} `type:"structure"` @@ -120277,6 +131913,9 @@ type NetworkInsightsAnalysis struct { // The tags. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // The warning message. + WarningMessage *string `locationName:"warningMessage" type:"string"` } // String returns the string representation. @@ -120375,6 +132014,12 @@ func (s *NetworkInsightsAnalysis) SetTags(v []*Tag) *NetworkInsightsAnalysis { return s } +// SetWarningMessage sets the WarningMessage field's value. +func (s *NetworkInsightsAnalysis) SetWarningMessage(v string) *NetworkInsightsAnalysis { + s.WarningMessage = &v + return s +} + // Describes a path. type NetworkInsightsPath struct { _ struct{} `type:"structure"` @@ -120523,9 +132168,15 @@ type NetworkInterface struct { // The IPv4 prefixes that are assigned to the network interface. Ipv4Prefixes []*Ipv4PrefixSpecification `locationName:"ipv4PrefixSet" locationNameList:"item" type:"list"` + // The IPv6 globally unique address associated with the network interface. + Ipv6Address *string `locationName:"ipv6Address" type:"string"` + // The IPv6 addresses associated with the network interface. Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"` + // Indicates whether this is an IPv6 only network interface. + Ipv6Native *bool `locationName:"ipv6Native" type:"boolean"` + // The IPv6 prefixes that are assigned to the network interface. Ipv6Prefixes []*Ipv6PrefixSpecification `locationName:"ipv6PrefixSet" locationNameList:"item" type:"list"` @@ -120639,12 +132290,24 @@ func (s *NetworkInterface) SetIpv4Prefixes(v []*Ipv4PrefixSpecification) *Networ return s } +// SetIpv6Address sets the Ipv6Address field's value. +func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { + s.Ipv6Address = &v + return s +} + // SetIpv6Addresses sets the Ipv6Addresses field's value. func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface { s.Ipv6Addresses = v return s } +// SetIpv6Native sets the Ipv6Native field's value. +func (s *NetworkInterface) SetIpv6Native(v bool) *NetworkInterface { + s.Ipv6Native = &v + return s +} + // SetIpv6Prefixes sets the Ipv6Prefixes field's value. func (s *NetworkInterface) SetIpv6Prefixes(v []*Ipv6PrefixSpecification) *NetworkInterface { s.Ipv6Prefixes = v @@ -121301,16 +132964,22 @@ func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration { type OnDemandOptions struct { _ struct{} `type:"structure"` - // The order of the launch template overrides to use in fulfilling On-Demand - // capacity. If you specify lowest-price, EC2 Fleet uses price to determine - // the order, launching the lowest price first. If you specify prioritized, - // EC2 Fleet uses the priority that you assigned to each launch template override, - // launching the highest priority first. If you do not specify a value, EC2 - // Fleet defaults to lowest-price. + // The strategy that determines the order of the launch template overrides to + // use in fulfilling On-Demand capacity. + // + // lowest-price - EC2 Fleet uses price to determine the order, launching the + // lowest price first. + // + // prioritized - EC2 Fleet uses the priority that you assigned to each launch + // template override, launching the highest priority first. + // + // Default: lowest-price AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"FleetOnDemandAllocationStrategy"` // The strategy for using unused Capacity Reservations for fulfilling On-Demand - // capacity. Supported only for fleets of type instant. + // capacity. + // + // Supported only for fleets of type instant. CapacityReservationOptions *CapacityReservationOptions `locationName:"capacityReservationOptions" type:"structure"` // The maximum amount per hour for On-Demand Instances that you're willing to @@ -121319,14 +132988,23 @@ type OnDemandOptions struct { // The minimum target capacity for On-Demand Instances in the fleet. If the // minimum target capacity is not reached, the fleet launches no instances. + // + // Supported only for fleets of type instant. + // + // At least one of the following must be specified: SingleAvailabilityZone | + // SingleInstanceType MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"` // Indicates that the fleet launches all On-Demand Instances into a single Availability - // Zone. Supported only for fleets of type instant. + // Zone. + // + // Supported only for fleets of type instant. SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"` // Indicates that the fleet uses a single instance type to launch all On-Demand - // Instances in the fleet. Supported only for fleets of type instant. + // Instances in the fleet. + // + // Supported only for fleets of type instant. SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"` } @@ -121388,16 +133066,22 @@ func (s *OnDemandOptions) SetSingleInstanceType(v bool) *OnDemandOptions { type OnDemandOptionsRequest struct { _ struct{} `type:"structure"` - // The order of the launch template overrides to use in fulfilling On-Demand - // capacity. If you specify lowest-price, EC2 Fleet uses price to determine - // the order, launching the lowest price first. If you specify prioritized, - // EC2 Fleet uses the priority that you assigned to each launch template override, - // launching the highest priority first. If you do not specify a value, EC2 - // Fleet defaults to lowest-price. + // The strategy that determines the order of the launch template overrides to + // use in fulfilling On-Demand capacity. + // + // lowest-price - EC2 Fleet uses price to determine the order, launching the + // lowest price first. + // + // prioritized - EC2 Fleet uses the priority that you assigned to each launch + // template override, launching the highest priority first. + // + // Default: lowest-price AllocationStrategy *string `type:"string" enum:"FleetOnDemandAllocationStrategy"` // The strategy for using unused Capacity Reservations for fulfilling On-Demand - // capacity. Supported only for fleets of type instant. + // capacity. + // + // Supported only for fleets of type instant. CapacityReservationOptions *CapacityReservationOptionsRequest `type:"structure"` // The maximum amount per hour for On-Demand Instances that you're willing to @@ -121406,14 +133090,23 @@ type OnDemandOptionsRequest struct { // The minimum target capacity for On-Demand Instances in the fleet. If the // minimum target capacity is not reached, the fleet launches no instances. + // + // Supported only for fleets of type instant. + // + // At least one of the following must be specified: SingleAvailabilityZone | + // SingleInstanceType MinTargetCapacity *int64 `type:"integer"` // Indicates that the fleet launches all On-Demand Instances into a single Availability - // Zone. Supported only for fleets of type instant. + // Zone. + // + // Supported only for fleets of type instant. SingleAvailabilityZone *bool `type:"boolean"` // Indicates that the fleet uses a single instance type to launch all On-Demand - // Instances in the fleet. Supported only for fleets of type instant. + // Instances in the fleet. + // + // Supported only for fleets of type instant. SingleInstanceType *bool `type:"boolean"` } @@ -121471,6 +133164,178 @@ func (s *OnDemandOptionsRequest) SetSingleInstanceType(v bool) *OnDemandOptionsR return s } +// Describes a packet header statement. +type PacketHeaderStatement struct { + _ struct{} `type:"structure"` + + // The destination addresses. + DestinationAddresses []*string `locationName:"destinationAddressSet" locationNameList:"item" type:"list"` + + // The destination ports. + DestinationPorts []*string `locationName:"destinationPortSet" locationNameList:"item" type:"list"` + + // The destination prefix lists. + DestinationPrefixLists []*string `locationName:"destinationPrefixListSet" locationNameList:"item" type:"list"` + + // The protocols. + Protocols []*string `locationName:"protocolSet" locationNameList:"item" type:"list"` + + // The source addresses. + SourceAddresses []*string `locationName:"sourceAddressSet" locationNameList:"item" type:"list"` + + // The source ports. + SourcePorts []*string `locationName:"sourcePortSet" locationNameList:"item" type:"list"` + + // The source prefix lists. + SourcePrefixLists []*string `locationName:"sourcePrefixListSet" 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 PacketHeaderStatement) 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 PacketHeaderStatement) GoString() string { + return s.String() +} + +// SetDestinationAddresses sets the DestinationAddresses field's value. +func (s *PacketHeaderStatement) SetDestinationAddresses(v []*string) *PacketHeaderStatement { + s.DestinationAddresses = v + return s +} + +// SetDestinationPorts sets the DestinationPorts field's value. +func (s *PacketHeaderStatement) SetDestinationPorts(v []*string) *PacketHeaderStatement { + s.DestinationPorts = v + return s +} + +// SetDestinationPrefixLists sets the DestinationPrefixLists field's value. +func (s *PacketHeaderStatement) SetDestinationPrefixLists(v []*string) *PacketHeaderStatement { + s.DestinationPrefixLists = v + return s +} + +// SetProtocols sets the Protocols field's value. +func (s *PacketHeaderStatement) SetProtocols(v []*string) *PacketHeaderStatement { + s.Protocols = v + return s +} + +// SetSourceAddresses sets the SourceAddresses field's value. +func (s *PacketHeaderStatement) SetSourceAddresses(v []*string) *PacketHeaderStatement { + s.SourceAddresses = v + return s +} + +// SetSourcePorts sets the SourcePorts field's value. +func (s *PacketHeaderStatement) SetSourcePorts(v []*string) *PacketHeaderStatement { + s.SourcePorts = v + return s +} + +// SetSourcePrefixLists sets the SourcePrefixLists field's value. +func (s *PacketHeaderStatement) SetSourcePrefixLists(v []*string) *PacketHeaderStatement { + s.SourcePrefixLists = v + return s +} + +// Describes a packet header statement. +type PacketHeaderStatementRequest struct { + _ struct{} `type:"structure"` + + // The destination addresses. + DestinationAddresses []*string `locationName:"DestinationAddress" locationNameList:"item" type:"list"` + + // The destination ports. + DestinationPorts []*string `locationName:"DestinationPort" locationNameList:"item" type:"list"` + + // The destination prefix lists. + DestinationPrefixLists []*string `locationName:"DestinationPrefixList" locationNameList:"item" type:"list"` + + // The protocols. + Protocols []*string `locationName:"Protocol" locationNameList:"item" type:"list"` + + // The source addresses. + SourceAddresses []*string `locationName:"SourceAddress" locationNameList:"item" type:"list"` + + // The source ports. + SourcePorts []*string `locationName:"SourcePort" locationNameList:"item" type:"list"` + + // The source prefix lists. + SourcePrefixLists []*string `locationName:"SourcePrefixList" 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 PacketHeaderStatementRequest) 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 PacketHeaderStatementRequest) GoString() string { + return s.String() +} + +// SetDestinationAddresses sets the DestinationAddresses field's value. +func (s *PacketHeaderStatementRequest) SetDestinationAddresses(v []*string) *PacketHeaderStatementRequest { + s.DestinationAddresses = v + return s +} + +// SetDestinationPorts sets the DestinationPorts field's value. +func (s *PacketHeaderStatementRequest) SetDestinationPorts(v []*string) *PacketHeaderStatementRequest { + s.DestinationPorts = v + return s +} + +// SetDestinationPrefixLists sets the DestinationPrefixLists field's value. +func (s *PacketHeaderStatementRequest) SetDestinationPrefixLists(v []*string) *PacketHeaderStatementRequest { + s.DestinationPrefixLists = v + return s +} + +// SetProtocols sets the Protocols field's value. +func (s *PacketHeaderStatementRequest) SetProtocols(v []*string) *PacketHeaderStatementRequest { + s.Protocols = v + return s +} + +// SetSourceAddresses sets the SourceAddresses field's value. +func (s *PacketHeaderStatementRequest) SetSourceAddresses(v []*string) *PacketHeaderStatementRequest { + s.SourceAddresses = v + return s +} + +// SetSourcePorts sets the SourcePorts field's value. +func (s *PacketHeaderStatementRequest) SetSourcePorts(v []*string) *PacketHeaderStatementRequest { + s.SourcePorts = v + return s +} + +// SetSourcePrefixLists sets the SourcePrefixLists field's value. +func (s *PacketHeaderStatementRequest) SetSourcePrefixLists(v []*string) *PacketHeaderStatementRequest { + s.SourcePrefixLists = v + return s +} + // Describes a path component. type PathComponent struct { _ struct{} `type:"structure"` @@ -121478,6 +133343,9 @@ type PathComponent struct { // The network ACL rule. AclRule *AnalysisAclRule `locationName:"aclRule" type:"structure"` + // The resource to which the path component is attached. + AttachedTo *AnalysisComponent `locationName:"attachedTo" type:"structure"` + // The component. Component *AnalysisComponent `locationName:"component" type:"structure"` @@ -121533,6 +133401,12 @@ func (s *PathComponent) SetAclRule(v *AnalysisAclRule) *PathComponent { return s } +// SetAttachedTo sets the AttachedTo field's value. +func (s *PathComponent) SetAttachedTo(v *AnalysisComponent) *PathComponent { + s.AttachedTo = v + return s +} + // SetComponent sets the Component field's value. func (s *PathComponent) SetComponent(v *AnalysisComponent) *PathComponent { s.Component = v @@ -121593,6 +133467,88 @@ func (s *PathComponent) SetVpc(v *AnalysisComponent) *PathComponent { return s } +// Describes a path statement. +type PathStatement struct { + _ struct{} `type:"structure"` + + // The packet header statement. + PacketHeaderStatement *PacketHeaderStatement `locationName:"packetHeaderStatement" type:"structure"` + + // The resource statement. + ResourceStatement *ResourceStatement `locationName:"resourceStatement" 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 PathStatement) 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 PathStatement) GoString() string { + return s.String() +} + +// SetPacketHeaderStatement sets the PacketHeaderStatement field's value. +func (s *PathStatement) SetPacketHeaderStatement(v *PacketHeaderStatement) *PathStatement { + s.PacketHeaderStatement = v + return s +} + +// SetResourceStatement sets the ResourceStatement field's value. +func (s *PathStatement) SetResourceStatement(v *ResourceStatement) *PathStatement { + s.ResourceStatement = v + return s +} + +// Describes a path statement. +type PathStatementRequest struct { + _ struct{} `type:"structure"` + + // The packet header statement. + PacketHeaderStatement *PacketHeaderStatementRequest `type:"structure"` + + // The resource statement. + ResourceStatement *ResourceStatementRequest `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 PathStatementRequest) 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 PathStatementRequest) GoString() string { + return s.String() +} + +// SetPacketHeaderStatement sets the PacketHeaderStatement field's value. +func (s *PathStatementRequest) SetPacketHeaderStatement(v *PacketHeaderStatementRequest) *PathStatementRequest { + s.PacketHeaderStatement = v + return s +} + +// SetResourceStatement sets the ResourceStatement field's value. +func (s *PathStatementRequest) SetResourceStatement(v *ResourceStatementRequest) *PathStatementRequest { + s.ResourceStatement = v + return s +} + // Describes the data that identifies an Amazon FPGA image (AFI) on the PCI // bus. type PciId struct { @@ -122272,7 +134228,7 @@ type Placement struct { // This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet). HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"` - // The number of the partition the instance is in. Valid only if the placement + // The number of the partition that the instance is in. Valid only if the placement // group strategy is set to partition. // // This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet). @@ -122365,6 +134321,9 @@ func (s *Placement) SetTenancy(v string) *Placement { type PlacementGroup struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the placement group. + GroupArn *string `locationName:"groupArn" type:"string"` + // The ID of the placement group. GroupId *string `locationName:"groupId" type:"string"` @@ -122402,6 +134361,12 @@ func (s PlacementGroup) GoString() string { return s.String() } +// SetGroupArn sets the GroupArn field's value. +func (s *PlacementGroup) SetGroupArn(v string) *PlacementGroup { + s.GroupArn = &v + return s +} + // SetGroupId sets the GroupId field's value. func (s *PlacementGroup) SetGroupId(v string) *PlacementGroup { s.GroupId = &v @@ -123055,6 +135020,170 @@ func (s *PrivateDnsNameConfiguration) SetValue(v string) *PrivateDnsNameConfigur return s } +// Describes the options for instance hostnames. +type PrivateDnsNameOptionsOnLaunch struct { + _ struct{} `type:"structure"` + + // Indicates whether to respond to DNS queries for instance hostname with DNS + // AAAA records. + EnableResourceNameDnsAAAARecord *bool `locationName:"enableResourceNameDnsAAAARecord" type:"boolean"` + + // Indicates whether to respond to DNS queries for instance hostnames with DNS + // A records. + EnableResourceNameDnsARecord *bool `locationName:"enableResourceNameDnsARecord" type:"boolean"` + + // The type of hostname for EC2 instances. For IPv4 only subnets, an instance + // DNS name must be based on the instance IPv4 address. For IPv6 only subnets, + // an instance DNS name must be based on the instance ID. For dual-stack subnets, + // you can specify whether DNS names use the instance IPv4 address or the instance + // ID. + HostnameType *string `locationName:"hostnameType" type:"string" enum:"HostnameType"` +} + +// 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 PrivateDnsNameOptionsOnLaunch) 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 PrivateDnsNameOptionsOnLaunch) GoString() string { + return s.String() +} + +// SetEnableResourceNameDnsAAAARecord sets the EnableResourceNameDnsAAAARecord field's value. +func (s *PrivateDnsNameOptionsOnLaunch) SetEnableResourceNameDnsAAAARecord(v bool) *PrivateDnsNameOptionsOnLaunch { + s.EnableResourceNameDnsAAAARecord = &v + return s +} + +// SetEnableResourceNameDnsARecord sets the EnableResourceNameDnsARecord field's value. +func (s *PrivateDnsNameOptionsOnLaunch) SetEnableResourceNameDnsARecord(v bool) *PrivateDnsNameOptionsOnLaunch { + s.EnableResourceNameDnsARecord = &v + return s +} + +// SetHostnameType sets the HostnameType field's value. +func (s *PrivateDnsNameOptionsOnLaunch) SetHostnameType(v string) *PrivateDnsNameOptionsOnLaunch { + s.HostnameType = &v + return s +} + +// Describes the options for instance hostnames. +type PrivateDnsNameOptionsRequest struct { + _ struct{} `type:"structure"` + + // Indicates whether to respond to DNS queries for instance hostnames with DNS + // AAAA records. + EnableResourceNameDnsAAAARecord *bool `type:"boolean"` + + // Indicates whether to respond to DNS queries for instance hostnames with DNS + // A records. + EnableResourceNameDnsARecord *bool `type:"boolean"` + + // The type of hostname for EC2 instances. For IPv4 only subnets, an instance + // DNS name must be based on the instance IPv4 address. For IPv6 only subnets, + // an instance DNS name must be based on the instance ID. For dual-stack subnets, + // you can specify whether DNS names use the instance IPv4 address or the instance + // ID. + HostnameType *string `type:"string" enum:"HostnameType"` +} + +// 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 PrivateDnsNameOptionsRequest) 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 PrivateDnsNameOptionsRequest) GoString() string { + return s.String() +} + +// SetEnableResourceNameDnsAAAARecord sets the EnableResourceNameDnsAAAARecord field's value. +func (s *PrivateDnsNameOptionsRequest) SetEnableResourceNameDnsAAAARecord(v bool) *PrivateDnsNameOptionsRequest { + s.EnableResourceNameDnsAAAARecord = &v + return s +} + +// SetEnableResourceNameDnsARecord sets the EnableResourceNameDnsARecord field's value. +func (s *PrivateDnsNameOptionsRequest) SetEnableResourceNameDnsARecord(v bool) *PrivateDnsNameOptionsRequest { + s.EnableResourceNameDnsARecord = &v + return s +} + +// SetHostnameType sets the HostnameType field's value. +func (s *PrivateDnsNameOptionsRequest) SetHostnameType(v string) *PrivateDnsNameOptionsRequest { + s.HostnameType = &v + return s +} + +// Describes the options for instance hostnames. +type PrivateDnsNameOptionsResponse struct { + _ struct{} `type:"structure"` + + // Indicates whether to respond to DNS queries for instance hostnames with DNS + // AAAA records. + EnableResourceNameDnsAAAARecord *bool `locationName:"enableResourceNameDnsAAAARecord" type:"boolean"` + + // Indicates whether to respond to DNS queries for instance hostnames with DNS + // A records. + EnableResourceNameDnsARecord *bool `locationName:"enableResourceNameDnsARecord" type:"boolean"` + + // The type of hostname to assign to an instance. + HostnameType *string `locationName:"hostnameType" type:"string" enum:"HostnameType"` +} + +// 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 PrivateDnsNameOptionsResponse) 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 PrivateDnsNameOptionsResponse) GoString() string { + return s.String() +} + +// SetEnableResourceNameDnsAAAARecord sets the EnableResourceNameDnsAAAARecord field's value. +func (s *PrivateDnsNameOptionsResponse) SetEnableResourceNameDnsAAAARecord(v bool) *PrivateDnsNameOptionsResponse { + s.EnableResourceNameDnsAAAARecord = &v + return s +} + +// SetEnableResourceNameDnsARecord sets the EnableResourceNameDnsARecord field's value. +func (s *PrivateDnsNameOptionsResponse) SetEnableResourceNameDnsARecord(v bool) *PrivateDnsNameOptionsResponse { + s.EnableResourceNameDnsARecord = &v + return s +} + +// SetHostnameType sets the HostnameType field's value. +func (s *PrivateDnsNameOptionsResponse) SetHostnameType(v string) *PrivateDnsNameOptionsResponse { + s.HostnameType = &v + return s +} + // Describes a secondary private IPv4 address for a network interface. type PrivateIpAddressSpecification struct { _ struct{} `type:"structure"` @@ -123357,6 +135486,242 @@ func (s *ProvisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *ProvisionByoipCid return s } +type ProvisionIpamPoolCidrInput struct { + _ struct{} `type:"structure"` + + // The CIDR you want to assign to the IPAM pool. + Cidr *string `type:"string"` + + // A signed document that proves that you are authorized to bring a specified + // IP address range to Amazon using BYOIP. This option applies to public pools + // only. + CidrAuthorizationContext *IpamCidrAuthorizationContext `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 ID of the IPAM pool to which you want to assign a CIDR. + // + // IpamPoolId is a required field + IpamPoolId *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 ProvisionIpamPoolCidrInput) 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 ProvisionIpamPoolCidrInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProvisionIpamPoolCidrInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProvisionIpamPoolCidrInput"} + if s.IpamPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamPoolId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCidr sets the Cidr field's value. +func (s *ProvisionIpamPoolCidrInput) SetCidr(v string) *ProvisionIpamPoolCidrInput { + s.Cidr = &v + return s +} + +// SetCidrAuthorizationContext sets the CidrAuthorizationContext field's value. +func (s *ProvisionIpamPoolCidrInput) SetCidrAuthorizationContext(v *IpamCidrAuthorizationContext) *ProvisionIpamPoolCidrInput { + s.CidrAuthorizationContext = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ProvisionIpamPoolCidrInput) SetDryRun(v bool) *ProvisionIpamPoolCidrInput { + s.DryRun = &v + return s +} + +// SetIpamPoolId sets the IpamPoolId field's value. +func (s *ProvisionIpamPoolCidrInput) SetIpamPoolId(v string) *ProvisionIpamPoolCidrInput { + s.IpamPoolId = &v + return s +} + +type ProvisionIpamPoolCidrOutput struct { + _ struct{} `type:"structure"` + + // Information about the provisioned CIDR. + IpamPoolCidr *IpamPoolCidr `locationName:"ipamPoolCidr" 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 ProvisionIpamPoolCidrOutput) 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 ProvisionIpamPoolCidrOutput) GoString() string { + return s.String() +} + +// SetIpamPoolCidr sets the IpamPoolCidr field's value. +func (s *ProvisionIpamPoolCidrOutput) SetIpamPoolCidr(v *IpamPoolCidr) *ProvisionIpamPoolCidrOutput { + s.IpamPoolCidr = v + return s +} + +type ProvisionPublicIpv4PoolCidrInput 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 ID of the IPAM pool you would like to use to allocate this CIDR. + // + // IpamPoolId is a required field + IpamPoolId *string `type:"string" required:"true"` + + // The netmask length of the CIDR you would like to allocate to the public IPv4 + // pool. + // + // NetmaskLength is a required field + NetmaskLength *int64 `type:"integer" required:"true"` + + // The ID of the public IPv4 pool you would like to use for this CIDR. + // + // PoolId is a required field + PoolId *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 ProvisionPublicIpv4PoolCidrInput) 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 ProvisionPublicIpv4PoolCidrInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProvisionPublicIpv4PoolCidrInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProvisionPublicIpv4PoolCidrInput"} + if s.IpamPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamPoolId")) + } + if s.NetmaskLength == nil { + invalidParams.Add(request.NewErrParamRequired("NetmaskLength")) + } + if s.PoolId == nil { + invalidParams.Add(request.NewErrParamRequired("PoolId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *ProvisionPublicIpv4PoolCidrInput) SetDryRun(v bool) *ProvisionPublicIpv4PoolCidrInput { + s.DryRun = &v + return s +} + +// SetIpamPoolId sets the IpamPoolId field's value. +func (s *ProvisionPublicIpv4PoolCidrInput) SetIpamPoolId(v string) *ProvisionPublicIpv4PoolCidrInput { + s.IpamPoolId = &v + return s +} + +// SetNetmaskLength sets the NetmaskLength field's value. +func (s *ProvisionPublicIpv4PoolCidrInput) SetNetmaskLength(v int64) *ProvisionPublicIpv4PoolCidrInput { + s.NetmaskLength = &v + return s +} + +// SetPoolId sets the PoolId field's value. +func (s *ProvisionPublicIpv4PoolCidrInput) SetPoolId(v string) *ProvisionPublicIpv4PoolCidrInput { + s.PoolId = &v + return s +} + +type ProvisionPublicIpv4PoolCidrOutput struct { + _ struct{} `type:"structure"` + + // Describes an address range of an IPv4 address pool. + PoolAddressRange *PublicIpv4PoolRange `locationName:"poolAddressRange" type:"structure"` + + // The ID of the pool that you want to provision the CIDR to. + PoolId *string `locationName:"poolId" 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 ProvisionPublicIpv4PoolCidrOutput) 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 ProvisionPublicIpv4PoolCidrOutput) GoString() string { + return s.String() +} + +// SetPoolAddressRange sets the PoolAddressRange field's value. +func (s *ProvisionPublicIpv4PoolCidrOutput) SetPoolAddressRange(v *PublicIpv4PoolRange) *ProvisionPublicIpv4PoolCidrOutput { + s.PoolAddressRange = v + return s +} + +// SetPoolId sets the PoolId field's value. +func (s *ProvisionPublicIpv4PoolCidrOutput) SetPoolId(v string) *ProvisionPublicIpv4PoolCidrOutput { + s.PoolId = &v + return s +} + // Reserved. If you need to sustain traffic greater than the documented limits // (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). @@ -125625,6 +137990,156 @@ func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHost return s } +type ReleaseIpamPoolAllocationInput struct { + _ struct{} `type:"structure"` + + // The CIDR of the allocation you want to release. + // + // Cidr is a required field + Cidr *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"` + + // The ID of the allocation. + IpamPoolAllocationId *string `type:"string"` + + // The ID of the IPAM pool which contains the allocation you want to release. + // + // IpamPoolId is a required field + IpamPoolId *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 ReleaseIpamPoolAllocationInput) 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 ReleaseIpamPoolAllocationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReleaseIpamPoolAllocationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReleaseIpamPoolAllocationInput"} + if s.Cidr == nil { + invalidParams.Add(request.NewErrParamRequired("Cidr")) + } + if s.IpamPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamPoolId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCidr sets the Cidr field's value. +func (s *ReleaseIpamPoolAllocationInput) SetCidr(v string) *ReleaseIpamPoolAllocationInput { + s.Cidr = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ReleaseIpamPoolAllocationInput) SetDryRun(v bool) *ReleaseIpamPoolAllocationInput { + s.DryRun = &v + return s +} + +// SetIpamPoolAllocationId sets the IpamPoolAllocationId field's value. +func (s *ReleaseIpamPoolAllocationInput) SetIpamPoolAllocationId(v string) *ReleaseIpamPoolAllocationInput { + s.IpamPoolAllocationId = &v + return s +} + +// SetIpamPoolId sets the IpamPoolId field's value. +func (s *ReleaseIpamPoolAllocationInput) SetIpamPoolId(v string) *ReleaseIpamPoolAllocationInput { + s.IpamPoolId = &v + return s +} + +type ReleaseIpamPoolAllocationOutput struct { + _ struct{} `type:"structure"` + + // Indicates if the release was successful. + Success *bool `locationName:"success" type:"boolean"` +} + +// 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 ReleaseIpamPoolAllocationOutput) 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 ReleaseIpamPoolAllocationOutput) GoString() string { + return s.String() +} + +// SetSuccess sets the Success field's value. +func (s *ReleaseIpamPoolAllocationOutput) SetSuccess(v bool) *ReleaseIpamPoolAllocationOutput { + s.Success = &v + return s +} + +// Remove an operating Region from 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 Regions. +// +// For more information about operating Regions, see Create an IPAM (/vpc/latest/ipam/create-ipam.html) +// in the Amazon VPC IPAM User Guide +type RemoveIpamOperatingRegion struct { + _ struct{} `type:"structure"` + + // The name of the operating Region you want to remove. + RegionName *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 RemoveIpamOperatingRegion) 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 RemoveIpamOperatingRegion) GoString() string { + return s.String() +} + +// SetRegionName sets the RegionName field's value. +func (s *RemoveIpamOperatingRegion) SetRegionName(v string) *RemoveIpamOperatingRegion { + s.RegionName = &v + return s +} + // An entry for a prefix list. type RemovePrefixListEntry struct { _ struct{} `type:"structure"` @@ -126151,6 +138666,7 @@ type ReplaceRouteInput struct { // [IPv4 traffic only] The ID of a carrier gateway. CarrierGatewayId *string `type:"string"` + // The Amazon Resource Name (ARN) of the core network. CoreNetworkArn *string `type:"string"` // The IPv4 CIDR address block used for the destination match. The value that @@ -126751,6 +139267,48 @@ func (s ReportInstanceStatusOutput) GoString() string { return s.String() } +// A tag on an IPAM resource. +type RequestIpamResourceTag struct { + _ struct{} `type:"structure"` + + // The key of a tag assigned to the resource. Use this filter to find all resources + // assigned a tag with a specific key, regardless of the tag value. + Key *string `type:"string"` + + // The value for the tag. + Value *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 RequestIpamResourceTag) 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 RequestIpamResourceTag) GoString() string { + return s.String() +} + +// SetKey sets the Key field's value. +func (s *RequestIpamResourceTag) SetKey(v string) *RequestIpamResourceTag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *RequestIpamResourceTag) SetValue(v string) *RequestIpamResourceTag { + s.Value = &v + return s +} + // The information to include in the launch template. type RequestLaunchTemplateData struct { _ struct{} `type:"structure"` @@ -126866,6 +139424,10 @@ type RequestLaunchTemplateData struct { // The placement for the instance. Placement *LaunchTemplatePlacementRequest `type:"structure"` + // The options for the instance hostname. The default values are inherited from + // the subnet. + PrivateDnsNameOptions *LaunchTemplatePrivateDnsNameOptionsRequest `type:"structure"` + // The ID of the RAM disk. // // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more @@ -127099,6 +139661,12 @@ func (s *RequestLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacementReque return s } +// SetPrivateDnsNameOptions sets the PrivateDnsNameOptions field's value. +func (s *RequestLaunchTemplateData) SetPrivateDnsNameOptions(v *LaunchTemplatePrivateDnsNameOptionsRequest) *RequestLaunchTemplateData { + s.PrivateDnsNameOptions = v + return s +} + // SetRamDiskId sets the RamDiskId field's value. func (s *RequestLaunchTemplateData) SetRamDiskId(v string) *RequestLaunchTemplateData { s.RamDiskId = &v @@ -129350,6 +141918,88 @@ func (s ResetSnapshotAttributeOutput) GoString() string { return s.String() } +// Describes a resource statement. +type ResourceStatement struct { + _ struct{} `type:"structure"` + + // The resource types. + ResourceTypes []*string `locationName:"resourceTypeSet" locationNameList:"item" type:"list"` + + // The resources. + Resources []*string `locationName:"resourceSet" 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 ResourceStatement) 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 ResourceStatement) GoString() string { + return s.String() +} + +// SetResourceTypes sets the ResourceTypes field's value. +func (s *ResourceStatement) SetResourceTypes(v []*string) *ResourceStatement { + s.ResourceTypes = v + return s +} + +// SetResources sets the Resources field's value. +func (s *ResourceStatement) SetResources(v []*string) *ResourceStatement { + s.Resources = v + return s +} + +// Describes a resource statement. +type ResourceStatementRequest struct { + _ struct{} `type:"structure"` + + // The resource types. + ResourceTypes []*string `locationName:"ResourceType" locationNameList:"item" type:"list"` + + // The resources. + Resources []*string `locationName:"Resource" 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 ResourceStatementRequest) 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 ResourceStatementRequest) GoString() string { + return s.String() +} + +// SetResourceTypes sets the ResourceTypes field's value. +func (s *ResourceStatementRequest) SetResourceTypes(v []*string) *ResourceStatementRequest { + s.ResourceTypes = v + return s +} + +// SetResources sets the Resources field's value. +func (s *ResourceStatementRequest) SetResources(v []*string) *ResourceStatementRequest { + s.Resources = v + return s +} + // Describes the error that's returned when you cannot delete a launch template // version. type ResponseError struct { @@ -129476,6 +142126,9 @@ type ResponseLaunchTemplateData struct { // The placement of the instance. Placement *LaunchTemplatePlacement `locationName:"placement" type:"structure"` + // The options for the instance hostname. + PrivateDnsNameOptions *LaunchTemplatePrivateDnsNameOptions `locationName:"privateDnsNameOptions" type:"structure"` + // The ID of the RAM disk, if applicable. RamDiskId *string `locationName:"ramDiskId" type:"string"` @@ -129648,6 +142301,12 @@ func (s *ResponseLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacement) *R return s } +// SetPrivateDnsNameOptions sets the PrivateDnsNameOptions field's value. +func (s *ResponseLaunchTemplateData) SetPrivateDnsNameOptions(v *LaunchTemplatePrivateDnsNameOptions) *ResponseLaunchTemplateData { + s.PrivateDnsNameOptions = v + return s +} + // SetRamDiskId sets the RamDiskId field's value. func (s *ResponseLaunchTemplateData) SetRamDiskId(v string) *ResponseLaunchTemplateData { s.RamDiskId = &v @@ -129893,6 +142552,321 @@ func (s *RestoreManagedPrefixListVersionOutput) SetPrefixList(v *ManagedPrefixLi return s } +type RestoreSnapshotFromRecycleBinInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the snapshot to restore. + // + // SnapshotId is a required field + SnapshotId *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 RestoreSnapshotFromRecycleBinInput) 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 RestoreSnapshotFromRecycleBinInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RestoreSnapshotFromRecycleBinInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RestoreSnapshotFromRecycleBinInput"} + if s.SnapshotId == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *RestoreSnapshotFromRecycleBinInput) SetDryRun(v bool) *RestoreSnapshotFromRecycleBinInput { + s.DryRun = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *RestoreSnapshotFromRecycleBinInput) SetSnapshotId(v string) *RestoreSnapshotFromRecycleBinInput { + s.SnapshotId = &v + return s +} + +type RestoreSnapshotFromRecycleBinOutput struct { + _ struct{} `type:"structure"` + + // The description for the snapshot. + Description *string `locationName:"description" type:"string"` + + // Indicates whether the snapshot is encrypted. + Encrypted *bool `locationName:"encrypted" type:"boolean"` + + // The ARN of the Outpost on which the snapshot is stored. For more information, + // see Amazon EBS local snapshots on Outposts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html) + // in the Amazon Elastic Compute Cloud User Guide. + OutpostArn *string `locationName:"outpostArn" type:"string"` + + // The ID of the Amazon Web Services account that owns the EBS snapshot. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The progress of the snapshot, as a percentage. + Progress *string `locationName:"progress" type:"string"` + + // The ID of the snapshot. + SnapshotId *string `locationName:"snapshotId" type:"string"` + + // The time stamp when the snapshot was initiated. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` + + // The state of the snapshot. + State *string `locationName:"status" type:"string" enum:"SnapshotState"` + + // The ID of the volume that was used to create the snapshot. + VolumeId *string `locationName:"volumeId" type:"string"` + + // The size of the volume, in GiB. + VolumeSize *int64 `locationName:"volumeSize" type:"integer"` +} + +// 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 RestoreSnapshotFromRecycleBinOutput) 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 RestoreSnapshotFromRecycleBinOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *RestoreSnapshotFromRecycleBinOutput) SetDescription(v string) *RestoreSnapshotFromRecycleBinOutput { + s.Description = &v + return s +} + +// SetEncrypted sets the Encrypted field's value. +func (s *RestoreSnapshotFromRecycleBinOutput) SetEncrypted(v bool) *RestoreSnapshotFromRecycleBinOutput { + s.Encrypted = &v + return s +} + +// SetOutpostArn sets the OutpostArn field's value. +func (s *RestoreSnapshotFromRecycleBinOutput) SetOutpostArn(v string) *RestoreSnapshotFromRecycleBinOutput { + s.OutpostArn = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *RestoreSnapshotFromRecycleBinOutput) SetOwnerId(v string) *RestoreSnapshotFromRecycleBinOutput { + s.OwnerId = &v + return s +} + +// SetProgress sets the Progress field's value. +func (s *RestoreSnapshotFromRecycleBinOutput) SetProgress(v string) *RestoreSnapshotFromRecycleBinOutput { + s.Progress = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *RestoreSnapshotFromRecycleBinOutput) SetSnapshotId(v string) *RestoreSnapshotFromRecycleBinOutput { + s.SnapshotId = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *RestoreSnapshotFromRecycleBinOutput) SetStartTime(v time.Time) *RestoreSnapshotFromRecycleBinOutput { + s.StartTime = &v + return s +} + +// SetState sets the State field's value. +func (s *RestoreSnapshotFromRecycleBinOutput) SetState(v string) *RestoreSnapshotFromRecycleBinOutput { + s.State = &v + return s +} + +// SetVolumeId sets the VolumeId field's value. +func (s *RestoreSnapshotFromRecycleBinOutput) SetVolumeId(v string) *RestoreSnapshotFromRecycleBinOutput { + s.VolumeId = &v + return s +} + +// SetVolumeSize sets the VolumeSize field's value. +func (s *RestoreSnapshotFromRecycleBinOutput) SetVolumeSize(v int64) *RestoreSnapshotFromRecycleBinOutput { + s.VolumeSize = &v + return s +} + +type RestoreSnapshotTierInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // Indicates whether to permanently restore an archived snapshot. To permanently + // restore an archived snapshot, specify true and omit the RestoreSnapshotTierRequest$TemporaryRestoreDays + // parameter. + PermanentRestore *bool `type:"boolean"` + + // The ID of the snapshot to restore. + // + // SnapshotId is a required field + SnapshotId *string `type:"string" required:"true"` + + // Specifies the number of days for which to temporarily restore an archived + // snapshot. Required for temporary restores only. The snapshot will be automatically + // re-archived after this period. + // + // To temporarily restore an archived snapshot, specify the number of days and + // omit the PermanentRestore parameter or set it to false. + TemporaryRestoreDays *int64 `type:"integer"` +} + +// 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 RestoreSnapshotTierInput) 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 RestoreSnapshotTierInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RestoreSnapshotTierInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RestoreSnapshotTierInput"} + if s.SnapshotId == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *RestoreSnapshotTierInput) SetDryRun(v bool) *RestoreSnapshotTierInput { + s.DryRun = &v + return s +} + +// SetPermanentRestore sets the PermanentRestore field's value. +func (s *RestoreSnapshotTierInput) SetPermanentRestore(v bool) *RestoreSnapshotTierInput { + s.PermanentRestore = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *RestoreSnapshotTierInput) SetSnapshotId(v string) *RestoreSnapshotTierInput { + s.SnapshotId = &v + return s +} + +// SetTemporaryRestoreDays sets the TemporaryRestoreDays field's value. +func (s *RestoreSnapshotTierInput) SetTemporaryRestoreDays(v int64) *RestoreSnapshotTierInput { + s.TemporaryRestoreDays = &v + return s +} + +type RestoreSnapshotTierOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether the snapshot is permanently restored. true indicates a + // permanent restore. false indicates a temporary restore. + IsPermanentRestore *bool `locationName:"isPermanentRestore" type:"boolean"` + + // For temporary restores only. The number of days for which the archived snapshot + // is temporarily restored. + RestoreDuration *int64 `locationName:"restoreDuration" type:"integer"` + + // The date and time when the snapshot restore process started. + RestoreStartTime *time.Time `locationName:"restoreStartTime" type:"timestamp"` + + // The ID of the snapshot. + SnapshotId *string `locationName:"snapshotId" 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 RestoreSnapshotTierOutput) 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 RestoreSnapshotTierOutput) GoString() string { + return s.String() +} + +// SetIsPermanentRestore sets the IsPermanentRestore field's value. +func (s *RestoreSnapshotTierOutput) SetIsPermanentRestore(v bool) *RestoreSnapshotTierOutput { + s.IsPermanentRestore = &v + return s +} + +// SetRestoreDuration sets the RestoreDuration field's value. +func (s *RestoreSnapshotTierOutput) SetRestoreDuration(v int64) *RestoreSnapshotTierOutput { + s.RestoreDuration = &v + return s +} + +// SetRestoreStartTime sets the RestoreStartTime field's value. +func (s *RestoreSnapshotTierOutput) SetRestoreStartTime(v time.Time) *RestoreSnapshotTierOutput { + s.RestoreStartTime = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *RestoreSnapshotTierOutput) SetSnapshotId(v string) *RestoreSnapshotTierOutput { + s.SnapshotId = &v + return s +} + type RevokeClientVpnIngressInput struct { _ struct{} `type:"structure"` @@ -130380,6 +143354,7 @@ type Route struct { // The ID of the carrier gateway. CarrierGatewayId *string `locationName:"carrierGatewayId" type:"string"` + // The Amazon Resource Name (ARN) of the core network. CoreNetworkArn *string `locationName:"coreNetworkArn" type:"string"` // The IPv4 CIDR block used for the destination match. @@ -130780,7 +143755,7 @@ type RunInstancesInput struct { // Constraints: Maximum 64 ASCII characters ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - // The CPU options for the instance. For more information, see Optimizing CPU + // The CPU options for the instance. For more information, see Optimize CPU // options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) // in the Amazon EC2 User Guide. CpuOptions *CpuOptionsRequest `type:"structure"` @@ -130954,6 +143929,10 @@ type RunInstancesInput struct { // The placement for the instance. Placement *Placement `type:"structure"` + // The options for the instance hostname. The default values are inherited from + // the subnet. + PrivateDnsNameOptions *PrivateDnsNameOptionsRequest `type:"structure"` + // [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 // address range of the subnet. // @@ -131005,11 +143984,11 @@ type RunInstancesInput struct { TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` // The user data to make available to the instance. For more information, see - // Running commands on your Linux instance at launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) - // (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data) - // (Windows). If you are using a command line tool, base64-encoding is performed - // for you, and you can load the text from a file. Otherwise, you must provide - // base64-encoded text. User data is limited to 16 KB. + // Run commands on your Linux instance at launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) + // and Run commands on your Windows instance at launch (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html). + // If you are using a command line tool, base64-encoding is performed for you, + // and you can load the text from a file. Otherwise, you must provide base64-encoded + // text. User data is limited to 16 KB. UserData *string `type:"string"` } @@ -131257,6 +144236,12 @@ func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput { return s } +// SetPrivateDnsNameOptions sets the PrivateDnsNameOptions field's value. +func (s *RunInstancesInput) SetPrivateDnsNameOptions(v *PrivateDnsNameOptionsRequest) *RunInstancesInput { + s.PrivateDnsNameOptions = v + return s +} + // SetPrivateIpAddress sets the PrivateIpAddress field's value. func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput { s.PrivateIpAddress = &v @@ -133775,6 +146760,9 @@ type ServiceConfiguration struct { // The Amazon Resource Names (ARNs) of the Network Load Balancers for the service. NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"` + // The payer responsibility. + PayerResponsibility *string `locationName:"payerResponsibility" type:"string" enum:"PayerResponsibility"` + // The private DNS name for the service. PrivateDnsName *string `locationName:"privateDnsName" type:"string"` @@ -133851,6 +146839,12 @@ func (s *ServiceConfiguration) SetNetworkLoadBalancerArns(v []*string) *ServiceC return s } +// SetPayerResponsibility sets the PayerResponsibility field's value. +func (s *ServiceConfiguration) SetPayerResponsibility(v string) *ServiceConfiguration { + s.PayerResponsibility = &v + return s +} + // SetPrivateDnsName sets the PrivateDnsName field's value. func (s *ServiceConfiguration) SetPrivateDnsName(v string) *ServiceConfiguration { s.PrivateDnsName = &v @@ -133914,6 +146908,9 @@ type ServiceDetail struct { // The Amazon Web Services account ID of the service owner. Owner *string `locationName:"owner" type:"string"` + // The payer responsibility. + PayerResponsibility *string `locationName:"payerResponsibility" type:"string" enum:"PayerResponsibility"` + // The private DNS name for the service. PrivateDnsName *string `locationName:"privateDnsName" type:"string"` @@ -133990,6 +146987,12 @@ func (s *ServiceDetail) SetOwner(v string) *ServiceDetail { return s } +// SetPayerResponsibility sets the PayerResponsibility field's value. +func (s *ServiceDetail) SetPayerResponsibility(v string) *ServiceDetail { + s.PayerResponsibility = &v + return s +} + // SetPrivateDnsName sets the PrivateDnsName field's value. func (s *ServiceDetail) SetPrivateDnsName(v string) *ServiceDetail { s.PrivateDnsName = &v @@ -134213,6 +147216,11 @@ type Snapshot struct { // The progress of the snapshot, as a percentage. Progress *string `locationName:"progress" type:"string"` + // Only for archived snapshots that are temporarily restored. Indicates the + // date and time when a temporarily restored snapshot will be automatically + // re-archived. + RestoreExpiryTime *time.Time `locationName:"restoreExpiryTime" type:"timestamp"` + // The ID of the snapshot. Each snapshot receives a unique identifier when it // is created. SnapshotId *string `locationName:"snapshotId" type:"string"` @@ -134230,6 +147238,12 @@ type Snapshot struct { // by DescribeSnapshots. StateMessage *string `locationName:"statusMessage" type:"string"` + // The storage tier in which the snapshot is stored. standard indicates that + // the snapshot is stored in the standard snapshot storage tier and that it + // is ready for use. archive indicates that the snapshot is currently archived + // and that it must be restored before it can be used. + StorageTier *string `locationName:"storageTier" type:"string" enum:"StorageTier"` + // Any tags assigned to the snapshot. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` @@ -134308,6 +147322,12 @@ func (s *Snapshot) SetProgress(v string) *Snapshot { return s } +// SetRestoreExpiryTime sets the RestoreExpiryTime field's value. +func (s *Snapshot) SetRestoreExpiryTime(v time.Time) *Snapshot { + s.RestoreExpiryTime = &v + return s +} + // SetSnapshotId sets the SnapshotId field's value. func (s *Snapshot) SetSnapshotId(v string) *Snapshot { s.SnapshotId = &v @@ -134332,6 +147352,12 @@ func (s *Snapshot) SetStateMessage(v string) *Snapshot { return s } +// SetStorageTier sets the StorageTier field's value. +func (s *Snapshot) SetStorageTier(v string) *Snapshot { + s.StorageTier = &v + return s +} + // SetTags sets the Tags field's value. func (s *Snapshot) SetTags(v []*Tag) *Snapshot { s.Tags = v @@ -134651,6 +147677,75 @@ func (s *SnapshotInfo) SetVolumeSize(v int64) *SnapshotInfo { return s } +// Information about a snapshot that is currently in the Recycle Bin. +type SnapshotRecycleBinInfo struct { + _ struct{} `type:"structure"` + + // The description for the snapshot. + Description *string `locationName:"description" type:"string"` + + // The date and time when the snaphsot entered the Recycle Bin. + RecycleBinEnterTime *time.Time `locationName:"recycleBinEnterTime" type:"timestamp"` + + // The date and time when the snapshot is to be permanently deleted from the + // Recycle Bin. + RecycleBinExitTime *time.Time `locationName:"recycleBinExitTime" type:"timestamp"` + + // The ID of the snapshot. + SnapshotId *string `locationName:"snapshotId" type:"string"` + + // The ID of the volume from which the snapshot was created. + VolumeId *string `locationName:"volumeId" 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 SnapshotRecycleBinInfo) 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 SnapshotRecycleBinInfo) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *SnapshotRecycleBinInfo) SetDescription(v string) *SnapshotRecycleBinInfo { + s.Description = &v + return s +} + +// SetRecycleBinEnterTime sets the RecycleBinEnterTime field's value. +func (s *SnapshotRecycleBinInfo) SetRecycleBinEnterTime(v time.Time) *SnapshotRecycleBinInfo { + s.RecycleBinEnterTime = &v + return s +} + +// SetRecycleBinExitTime sets the RecycleBinExitTime field's value. +func (s *SnapshotRecycleBinInfo) SetRecycleBinExitTime(v time.Time) *SnapshotRecycleBinInfo { + s.RecycleBinExitTime = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *SnapshotRecycleBinInfo) SetSnapshotId(v string) *SnapshotRecycleBinInfo { + s.SnapshotId = &v + return s +} + +// SetVolumeId sets the VolumeId field's value. +func (s *SnapshotRecycleBinInfo) SetVolumeId(v string) *SnapshotRecycleBinInfo { + s.VolumeId = &v + return s +} + // Details about the import snapshot task. type SnapshotTaskDetail struct { _ struct{} `type:"structure"` @@ -134773,9 +147868,145 @@ func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDe return s } +// Provides information about a snapshot's storage tier. +type SnapshotTierStatus struct { + _ struct{} `type:"structure"` + + // The date and time when the last archive process was completed. + ArchivalCompleteTime *time.Time `locationName:"archivalCompleteTime" type:"timestamp"` + + // The status of the last archive or restore process. + LastTieringOperationStatus *string `locationName:"lastTieringOperationStatus" type:"string" enum:"TieringOperationStatus"` + + // A message describing the status of the last archive or restore process. + LastTieringOperationStatusDetail *string `locationName:"lastTieringOperationStatusDetail" type:"string"` + + // The progress of the last archive or restore process, as a percentage. + LastTieringProgress *int64 `locationName:"lastTieringProgress" type:"integer"` + + // The date and time when the last archive or restore process was started. + LastTieringStartTime *time.Time `locationName:"lastTieringStartTime" type:"timestamp"` + + // The ID of the Amazon Web Services account that owns the snapshot. + OwnerId *string `locationName:"ownerId" type:"string"` + + // Only for archived snapshots that are temporarily restored. Indicates the + // date and time when a temporarily restored snapshot will be automatically + // re-archived. + RestoreExpiryTime *time.Time `locationName:"restoreExpiryTime" type:"timestamp"` + + // The ID of the snapshot. + SnapshotId *string `locationName:"snapshotId" type:"string"` + + // The state of the snapshot. + Status *string `locationName:"status" type:"string" enum:"SnapshotState"` + + // The storage tier in which the snapshot is stored. standard indicates that + // the snapshot is stored in the standard snapshot storage tier and that it + // is ready for use. archive indicates that the snapshot is currently archived + // and that it must be restored before it can be used. + StorageTier *string `locationName:"storageTier" type:"string" enum:"StorageTier"` + + // The tags that are assigned to the snapshot. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // The ID of the volume from which the snapshot was created. + VolumeId *string `locationName:"volumeId" 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 SnapshotTierStatus) 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 SnapshotTierStatus) GoString() string { + return s.String() +} + +// SetArchivalCompleteTime sets the ArchivalCompleteTime field's value. +func (s *SnapshotTierStatus) SetArchivalCompleteTime(v time.Time) *SnapshotTierStatus { + s.ArchivalCompleteTime = &v + return s +} + +// SetLastTieringOperationStatus sets the LastTieringOperationStatus field's value. +func (s *SnapshotTierStatus) SetLastTieringOperationStatus(v string) *SnapshotTierStatus { + s.LastTieringOperationStatus = &v + return s +} + +// SetLastTieringOperationStatusDetail sets the LastTieringOperationStatusDetail field's value. +func (s *SnapshotTierStatus) SetLastTieringOperationStatusDetail(v string) *SnapshotTierStatus { + s.LastTieringOperationStatusDetail = &v + return s +} + +// SetLastTieringProgress sets the LastTieringProgress field's value. +func (s *SnapshotTierStatus) SetLastTieringProgress(v int64) *SnapshotTierStatus { + s.LastTieringProgress = &v + return s +} + +// SetLastTieringStartTime sets the LastTieringStartTime field's value. +func (s *SnapshotTierStatus) SetLastTieringStartTime(v time.Time) *SnapshotTierStatus { + s.LastTieringStartTime = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *SnapshotTierStatus) SetOwnerId(v string) *SnapshotTierStatus { + s.OwnerId = &v + return s +} + +// SetRestoreExpiryTime sets the RestoreExpiryTime field's value. +func (s *SnapshotTierStatus) SetRestoreExpiryTime(v time.Time) *SnapshotTierStatus { + s.RestoreExpiryTime = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *SnapshotTierStatus) SetSnapshotId(v string) *SnapshotTierStatus { + s.SnapshotId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *SnapshotTierStatus) SetStatus(v string) *SnapshotTierStatus { + s.Status = &v + return s +} + +// SetStorageTier sets the StorageTier field's value. +func (s *SnapshotTierStatus) SetStorageTier(v string) *SnapshotTierStatus { + s.StorageTier = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *SnapshotTierStatus) SetTags(v []*Tag) *SnapshotTierStatus { + s.Tags = v + return s +} + +// SetVolumeId sets the VolumeId field's value. +func (s *SnapshotTierStatus) SetVolumeId(v string) *SnapshotTierStatus { + s.VolumeId = &v + return s +} + // The Spot Instance replacement strategy to use when Amazon EC2 emits a signal // that your Spot Instance is at an elevated risk of being interrupted. For -// more information, see Capacity rebalancing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#spot-fleet-capacity-rebalance) +// more information, see Capacity rebalancing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html) // in the Amazon EC2 User Guide for Linux Instances. type SpotCapacityRebalance struct { _ struct{} `type:"structure"` @@ -134796,6 +148027,12 @@ type SpotCapacityRebalance struct { // The amount of time (in seconds) that Amazon EC2 waits before terminating // the old Spot Instance after launching a new replacement Spot Instance. + // + // Required when ReplacementStrategy is set to launch-before-terminate. + // + // Not valid when ReplacementStrategy is set to launch. + // + // Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds. TerminationDelay *int64 `locationName:"terminationDelay" type:"integer"` } @@ -135990,8 +149227,10 @@ func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus { type SpotMaintenanceStrategies struct { _ struct{} `type:"structure"` - // The strategy to use when Amazon EC2 emits a signal that your Spot Instance - // is at an elevated risk of being interrupted. + // The Spot Instance replacement strategy to use when Amazon EC2 emits a signal + // that your Spot Instance is at an elevated risk of being interrupted. For + // more information, see Capacity rebalancing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html) + // in the Amazon EC2 User Guide for Linux Instances. CapacityRebalance *SpotCapacityRebalance `locationName:"capacityRebalance" type:"structure"` } @@ -136102,35 +149341,38 @@ func (s *SpotMarketOptions) SetValidUntil(v time.Time) *SpotMarketOptions { type SpotOptions struct { _ struct{} `type:"structure"` - // Indicates how to allocate the target Spot Instance capacity across the Spot - // Instance pools specified by the EC2 Fleet. + // The strategy that determines how to allocate the target Spot Instance capacity + // across the Spot Instance pools specified by the EC2 Fleet. // - // If the allocation strategy is lowest-price, EC2 Fleet launches instances - // from the Spot Instance pools with the lowest price. This is the default allocation - // strategy. + // lowest-price - EC2 Fleet launches instances from the Spot Instance pools + // with the lowest price. // - // If the allocation strategy is diversified, EC2 Fleet launches instances from - // all of the Spot Instance pools that you specify. + // diversified - EC2 Fleet launches instances from all of the Spot Instance + // pools that you specify. // - // If the allocation strategy is capacity-optimized (recommended), EC2 Fleet - // launches instances from Spot Instance pools with optimal capacity for the - // number of instances that are launching. To give certain instance types a - // higher chance of launching first, use capacity-optimized-prioritized. Set - // a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. - // You can assign the same priority to different LaunchTemplateOverrides. EC2 - // implements the priorities on a best-effort basis, but optimizes for capacity - // first. capacity-optimized-prioritized is supported only if your fleet uses - // a launch template. Note that if the On-Demand AllocationStrategy is set to - // prioritized, the same priority is applied when fulfilling On-Demand capacity. + // capacity-optimized (recommended) - EC2 Fleet launches instances from Spot + // Instance pools with optimal capacity for the number of instances that are + // launching. To give certain instance types a higher chance of launching first, + // use capacity-optimized-prioritized. Set a priority for each instance type + // by using the Priority parameter for LaunchTemplateOverrides. You can assign + // the same priority to different LaunchTemplateOverrides. EC2 implements the + // priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized + // is supported only if your fleet uses a launch template. Note that if the + // On-Demand AllocationStrategy is set to prioritized, the same priority is + // applied when fulfilling On-Demand capacity. + // + // Default: lowest-price AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"SpotAllocationStrategy"` - // The behavior when a Spot Instance is interrupted. The default is terminate. + // The behavior when a Spot Instance is interrupted. + // + // Default: terminate InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"SpotInstanceInterruptionBehavior"` // The number of Spot pools across which to allocate your target Spot capacity. - // Valid only when AllocationStrategy is set to lowest-price. EC2 Fleet selects - // the cheapest Spot pools and evenly allocates your target Spot capacity across - // the number of Spot pools that you specify. + // Supported only when AllocationStrategy is set to lowest-price. EC2 Fleet + // selects the cheapest Spot pools and evenly allocates your target Spot capacity + // across the number of Spot pools that you specify. // // Note that EC2 Fleet attempts to draw Spot Instances from the number of pools // that you specify on a best effort basis. If a pool runs out of Spot capacity @@ -136151,14 +149393,23 @@ type SpotOptions struct { // The minimum target capacity for Spot Instances in the fleet. If the minimum // target capacity is not reached, the fleet launches no instances. + // + // Supported only for fleets of type instant. + // + // At least one of the following must be specified: SingleAvailabilityZone | + // SingleInstanceType MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"` // Indicates that the fleet launches all Spot Instances into a single Availability - // Zone. Supported only for fleets of type instant. + // Zone. + // + // Supported only for fleets of type instant. SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"` // Indicates that the fleet uses a single instance type to launch all Spot Instances - // in the fleet. Supported only for fleets of type instant. + // in the fleet. + // + // Supported only for fleets of type instant. SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"` } @@ -136232,33 +149483,36 @@ func (s *SpotOptions) SetSingleInstanceType(v bool) *SpotOptions { type SpotOptionsRequest struct { _ struct{} `type:"structure"` - // Indicates how to allocate the target Spot Instance capacity across the Spot - // Instance pools specified by the EC2 Fleet. + // The strategy that determines how to allocate the target Spot Instance capacity + // across the Spot Instance pools specified by the EC2 Fleet. // - // If the allocation strategy is lowest-price, EC2 Fleet launches instances - // from the Spot Instance pools with the lowest price. This is the default allocation - // strategy. + // lowest-price - EC2 Fleet launches instances from the Spot Instance pools + // with the lowest price. // - // If the allocation strategy is diversified, EC2 Fleet launches instances from - // all of the Spot Instance pools that you specify. + // diversified - EC2 Fleet launches instances from all of the Spot Instance + // pools that you specify. // - // If the allocation strategy is capacity-optimized (recommended), EC2 Fleet - // launches instances from Spot Instance pools with optimal capacity for the - // number of instances that are launching. To give certain instance types a - // higher chance of launching first, use capacity-optimized-prioritized. Set - // a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. - // You can assign the same priority to different LaunchTemplateOverrides. EC2 - // implements the priorities on a best-effort basis, but optimizes for capacity - // first. capacity-optimized-prioritized is supported only if your fleet uses - // a launch template. Note that if the On-Demand AllocationStrategy is set to - // prioritized, the same priority is applied when fulfilling On-Demand capacity. + // capacity-optimized (recommended) - EC2 Fleet launches instances from Spot + // Instance pools with optimal capacity for the number of instances that are + // launching. To give certain instance types a higher chance of launching first, + // use capacity-optimized-prioritized. Set a priority for each instance type + // by using the Priority parameter for LaunchTemplateOverrides. You can assign + // the same priority to different LaunchTemplateOverrides. EC2 implements the + // priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized + // is supported only if your fleet uses a launch template. Note that if the + // On-Demand AllocationStrategy is set to prioritized, the same priority is + // applied when fulfilling On-Demand capacity. + // + // Default: lowest-price AllocationStrategy *string `type:"string" enum:"SpotAllocationStrategy"` - // The behavior when a Spot Instance is interrupted. The default is terminate. + // The behavior when a Spot Instance is interrupted. + // + // Default: terminate InstanceInterruptionBehavior *string `type:"string" enum:"SpotInstanceInterruptionBehavior"` // The number of Spot pools across which to allocate your target Spot capacity. - // Valid only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet + // Supported only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet // selects the cheapest Spot pools and evenly allocates your target Spot capacity // across the number of Spot pools that you specify. // @@ -136281,14 +149535,23 @@ type SpotOptionsRequest struct { // The minimum target capacity for Spot Instances in the fleet. If the minimum // target capacity is not reached, the fleet launches no instances. + // + // Supported only for fleets of type instant. + // + // At least one of the following must be specified: SingleAvailabilityZone | + // SingleInstanceType MinTargetCapacity *int64 `type:"integer"` // Indicates that the fleet launches all Spot Instances into a single Availability - // Zone. Supported only for fleets of type instant. + // Zone. + // + // Supported only for fleets of type instant. SingleAvailabilityZone *bool `type:"boolean"` // Indicates that the fleet uses a single instance type to launch all Spot Instances - // in the fleet. Supported only for fleets of type instant. + // in the fleet. + // + // Supported only for fleets of type instant. SingleInstanceType *bool `type:"boolean"` } @@ -136793,6 +150056,114 @@ func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *S return s } +type StartNetworkInsightsAccessScopeAnalysisInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to ensure idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the Network Access Scope. + // + // NetworkInsightsAccessScopeId is a required field + NetworkInsightsAccessScopeId *string `type:"string" required:"true"` + + // The tags to apply. + 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 StartNetworkInsightsAccessScopeAnalysisInput) 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 StartNetworkInsightsAccessScopeAnalysisInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartNetworkInsightsAccessScopeAnalysisInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartNetworkInsightsAccessScopeAnalysisInput"} + if s.NetworkInsightsAccessScopeId == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkInsightsAccessScopeId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *StartNetworkInsightsAccessScopeAnalysisInput) SetClientToken(v string) *StartNetworkInsightsAccessScopeAnalysisInput { + s.ClientToken = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *StartNetworkInsightsAccessScopeAnalysisInput) SetDryRun(v bool) *StartNetworkInsightsAccessScopeAnalysisInput { + s.DryRun = &v + return s +} + +// SetNetworkInsightsAccessScopeId sets the NetworkInsightsAccessScopeId field's value. +func (s *StartNetworkInsightsAccessScopeAnalysisInput) SetNetworkInsightsAccessScopeId(v string) *StartNetworkInsightsAccessScopeAnalysisInput { + s.NetworkInsightsAccessScopeId = &v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *StartNetworkInsightsAccessScopeAnalysisInput) SetTagSpecifications(v []*TagSpecification) *StartNetworkInsightsAccessScopeAnalysisInput { + s.TagSpecifications = v + return s +} + +type StartNetworkInsightsAccessScopeAnalysisOutput struct { + _ struct{} `type:"structure"` + + // The Network Access Scope analysis. + NetworkInsightsAccessScopeAnalysis *NetworkInsightsAccessScopeAnalysis `locationName:"networkInsightsAccessScopeAnalysis" 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 StartNetworkInsightsAccessScopeAnalysisOutput) 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 StartNetworkInsightsAccessScopeAnalysisOutput) GoString() string { + return s.String() +} + +// SetNetworkInsightsAccessScopeAnalysis sets the NetworkInsightsAccessScopeAnalysis field's value. +func (s *StartNetworkInsightsAccessScopeAnalysisOutput) SetNetworkInsightsAccessScopeAnalysis(v *NetworkInsightsAccessScopeAnalysis) *StartNetworkInsightsAccessScopeAnalysisOutput { + s.NetworkInsightsAccessScopeAnalysis = v + return s +} + type StartNetworkInsightsAnalysisInput struct { _ struct{} `type:"structure"` @@ -137386,9 +150757,17 @@ type Subnet struct { // this subnet should return synthetic IPv6 addresses for IPv4-only destinations. EnableDns64 *bool `locationName:"enableDns64" type:"boolean"` + // Indicates the device position for local network interfaces in this subnet. + // For example, 1 indicates local network interfaces in this subnet are the + // secondary network interface (eth1). + EnableLniAtDeviceIndex *int64 `locationName:"enableLniAtDeviceIndex" type:"integer"` + // Information about the IPv6 CIDR blocks associated with the subnet. Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"` + // Indicates whether this is an IPv6 only subnet. + Ipv6Native *bool `locationName:"ipv6Native" type:"boolean"` + // Indicates whether a network interface created in this subnet (including a // network interface created by RunInstances) receives a customer-owned IPv4 // address. @@ -137404,6 +150783,10 @@ type Subnet struct { // The ID of the Amazon Web Services account that owns the subnet. OwnerId *string `locationName:"ownerId" type:"string"` + // The type of hostnames to assign to instances in the subnet at launch. An + // instance hostname is based on the IPv4 address or ID of the instance. + PrivateDnsNameOptionsOnLaunch *PrivateDnsNameOptionsOnLaunch `locationName:"privateDnsNameOptionsOnLaunch" type:"structure"` + // The current state of the subnet. State *string `locationName:"state" type:"string" enum:"SubnetState"` @@ -137486,12 +150869,24 @@ func (s *Subnet) SetEnableDns64(v bool) *Subnet { return s } +// SetEnableLniAtDeviceIndex sets the EnableLniAtDeviceIndex field's value. +func (s *Subnet) SetEnableLniAtDeviceIndex(v int64) *Subnet { + s.EnableLniAtDeviceIndex = &v + return s +} + // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value. func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet { s.Ipv6CidrBlockAssociationSet = v return s } +// SetIpv6Native sets the Ipv6Native field's value. +func (s *Subnet) SetIpv6Native(v bool) *Subnet { + s.Ipv6Native = &v + return s +} + // SetMapCustomerOwnedIpOnLaunch sets the MapCustomerOwnedIpOnLaunch field's value. func (s *Subnet) SetMapCustomerOwnedIpOnLaunch(v bool) *Subnet { s.MapCustomerOwnedIpOnLaunch = &v @@ -137516,6 +150911,12 @@ func (s *Subnet) SetOwnerId(v string) *Subnet { return s } +// SetPrivateDnsNameOptionsOnLaunch sets the PrivateDnsNameOptionsOnLaunch field's value. +func (s *Subnet) SetPrivateDnsNameOptionsOnLaunch(v *PrivateDnsNameOptionsOnLaunch) *Subnet { + s.PrivateDnsNameOptionsOnLaunch = v + return s +} + // SetState sets the State field's value. func (s *Subnet) SetState(v string) *Subnet { s.State = &v @@ -137714,17 +151115,17 @@ func (s *SubnetCidrReservation) SetTags(v []*Tag) *SubnetCidrReservation { return s } -// Describes an IPv6 CIDR block associated with a subnet. +// Describes an association between a subnet and an IPv6 CIDR block. type SubnetIpv6CidrBlockAssociation struct { _ struct{} `type:"structure"` - // The association ID for the CIDR block. + // The ID of the association. AssociationId *string `locationName:"associationId" type:"string"` // The IPv6 CIDR block. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"` - // Information about the state of the CIDR block. + // The state of the CIDR block. Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"` } @@ -138728,6 +152129,70 @@ func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateCha return s } +// Describes a through resource statement. +type ThroughResourcesStatement struct { + _ struct{} `type:"structure"` + + // The resource statement. + ResourceStatement *ResourceStatement `locationName:"resourceStatement" 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 ThroughResourcesStatement) 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 ThroughResourcesStatement) GoString() string { + return s.String() +} + +// SetResourceStatement sets the ResourceStatement field's value. +func (s *ThroughResourcesStatement) SetResourceStatement(v *ResourceStatement) *ThroughResourcesStatement { + s.ResourceStatement = v + return s +} + +// Describes a through resource statement. +type ThroughResourcesStatementRequest struct { + _ struct{} `type:"structure"` + + // The resource statement. + ResourceStatement *ResourceStatementRequest `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 ThroughResourcesStatementRequest) 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 ThroughResourcesStatementRequest) GoString() string { + return s.String() +} + +// SetResourceStatement sets the ResourceStatement field's value. +func (s *ThroughResourcesStatementRequest) SetResourceStatement(v *ResourceStatementRequest) *ThroughResourcesStatementRequest { + s.ResourceStatement = v + return s +} + // The minimum and maximum amount of total local storage, in GB. type TotalLocalStorageGB struct { _ struct{} `type:"structure"` @@ -145425,7 +158890,7 @@ type VpnTunnelOptionsSpecification struct { // The number of seconds after which a DPD timeout occurs. // - // Constraints: A value between 0 and 30. + // Constraints: A value greater than or equal to 30. // // Default: 30 DPDTimeoutSeconds *int64 `type:"integer"` @@ -145905,6 +159370,22 @@ func AddressAttributeName_Values() []string { } } +const ( + // AddressFamilyIpv4 is a AddressFamily enum value + AddressFamilyIpv4 = "ipv4" + + // AddressFamilyIpv6 is a AddressFamily enum value + AddressFamilyIpv6 = "ipv6" +) + +// AddressFamily_Values returns all elements of the AddressFamily enum +func AddressFamily_Values() []string { + return []string{ + AddressFamilyIpv4, + AddressFamilyIpv6, + } +} + const ( // AffinityDefault is a Affinity enum value AffinityDefault = "default" @@ -146562,6 +160043,24 @@ const ( // CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise = "Linux with SQL Server Enterprise" + + // CapacityReservationInstancePlatformRhelwithSqlserverStandard is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformRhelwithSqlserverStandard = "RHEL with SQL Server Standard" + + // CapacityReservationInstancePlatformRhelwithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformRhelwithSqlserverEnterprise = "RHEL with SQL Server Enterprise" + + // CapacityReservationInstancePlatformRhelwithSqlserverWeb is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformRhelwithSqlserverWeb = "RHEL with SQL Server Web" + + // CapacityReservationInstancePlatformRhelwithHa is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformRhelwithHa = "RHEL with HA" + + // CapacityReservationInstancePlatformRhelwithHaandSqlserverStandard is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformRhelwithHaandSqlserverStandard = "RHEL with HA and SQL Server Standard" + + // CapacityReservationInstancePlatformRhelwithHaandSqlserverEnterprise is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformRhelwithHaandSqlserverEnterprise = "RHEL with HA and SQL Server Enterprise" ) // CapacityReservationInstancePlatform_Values returns all elements of the CapacityReservationInstancePlatform enum @@ -146578,6 +160077,12 @@ func CapacityReservationInstancePlatform_Values() []string { CapacityReservationInstancePlatformLinuxwithSqlserverStandard, CapacityReservationInstancePlatformLinuxwithSqlserverWeb, CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise, + CapacityReservationInstancePlatformRhelwithSqlserverStandard, + CapacityReservationInstancePlatformRhelwithSqlserverEnterprise, + CapacityReservationInstancePlatformRhelwithSqlserverWeb, + CapacityReservationInstancePlatformRhelwithHa, + CapacityReservationInstancePlatformRhelwithHaandSqlserverStandard, + CapacityReservationInstancePlatformRhelwithHaandSqlserverEnterprise, } } @@ -147417,6 +160922,50 @@ func ExportTaskState_Values() []string { } } +const ( + // FastLaunchResourceTypeSnapshot is a FastLaunchResourceType enum value + FastLaunchResourceTypeSnapshot = "snapshot" +) + +// FastLaunchResourceType_Values returns all elements of the FastLaunchResourceType enum +func FastLaunchResourceType_Values() []string { + return []string{ + FastLaunchResourceTypeSnapshot, + } +} + +const ( + // FastLaunchStateCodeEnabling is a FastLaunchStateCode enum value + FastLaunchStateCodeEnabling = "enabling" + + // FastLaunchStateCodeEnablingFailed is a FastLaunchStateCode enum value + FastLaunchStateCodeEnablingFailed = "enabling-failed" + + // FastLaunchStateCodeEnabled is a FastLaunchStateCode enum value + FastLaunchStateCodeEnabled = "enabled" + + // FastLaunchStateCodeEnabledFailed is a FastLaunchStateCode enum value + FastLaunchStateCodeEnabledFailed = "enabled-failed" + + // FastLaunchStateCodeDisabling is a FastLaunchStateCode enum value + FastLaunchStateCodeDisabling = "disabling" + + // FastLaunchStateCodeDisablingFailed is a FastLaunchStateCode enum value + FastLaunchStateCodeDisablingFailed = "disabling-failed" +) + +// FastLaunchStateCode_Values returns all elements of the FastLaunchStateCode enum +func FastLaunchStateCode_Values() []string { + return []string{ + FastLaunchStateCodeEnabling, + FastLaunchStateCodeEnablingFailed, + FastLaunchStateCodeEnabled, + FastLaunchStateCodeEnabledFailed, + FastLaunchStateCodeDisabling, + FastLaunchStateCodeDisablingFailed, + } +} + const ( // FastSnapshotRestoreStateCodeEnabling is a FastSnapshotRestoreStateCode enum value FastSnapshotRestoreStateCodeEnabling = "enabling" @@ -147445,6 +160994,26 @@ func FastSnapshotRestoreStateCode_Values() []string { } } +const ( + // FindingsFoundTrue is a FindingsFound enum value + FindingsFoundTrue = "true" + + // FindingsFoundFalse is a FindingsFound enum value + FindingsFoundFalse = "false" + + // FindingsFoundUnknown is a FindingsFound enum value + FindingsFoundUnknown = "unknown" +) + +// FindingsFound_Values returns all elements of the FindingsFound enum +func FindingsFound_Values() []string { + return []string{ + FindingsFoundTrue, + FindingsFoundFalse, + FindingsFoundUnknown, + } +} + const ( // FleetActivityStatusError is a FleetActivityStatus enum value FleetActivityStatusError = "error" @@ -147765,6 +161334,22 @@ func HostTenancy_Values() []string { } } +const ( + // HostnameTypeIpName is a HostnameType enum value + HostnameTypeIpName = "ip-name" + + // HostnameTypeResourceName is a HostnameType enum value + HostnameTypeResourceName = "resource-name" +) + +// HostnameType_Values returns all elements of the HostnameType enum +func HostnameType_Values() []string { + return []string{ + HostnameTypeIpName, + HostnameTypeResourceName, + } +} + const ( // HttpTokensStateOptional is a HttpTokensState enum value HttpTokensStateOptional = "optional" @@ -148173,6 +161758,22 @@ func InstanceMetadataProtocolState_Values() []string { } } +const ( + // InstanceMetadataTagsStateDisabled is a InstanceMetadataTagsState enum value + InstanceMetadataTagsStateDisabled = "disabled" + + // InstanceMetadataTagsStateEnabled is a InstanceMetadataTagsState enum value + InstanceMetadataTagsStateEnabled = "enabled" +) + +// InstanceMetadataTagsState_Values returns all elements of the InstanceMetadataTagsState enum +func InstanceMetadataTagsState_Values() []string { + return []string{ + InstanceMetadataTagsStateDisabled, + InstanceMetadataTagsStateEnabled, + } +} + const ( // InstanceStateNamePending is a InstanceStateName enum value InstanceStateNamePending = "pending" @@ -148222,449 +161823,23 @@ func InstanceStorageEncryptionSupport_Values() []string { } const ( - // InstanceTypeT1Micro is a InstanceType enum value - InstanceTypeT1Micro = "t1.micro" + // InstanceTypeA1Medium is a InstanceType enum value + InstanceTypeA1Medium = "a1.medium" - // InstanceTypeT2Nano is a InstanceType enum value - InstanceTypeT2Nano = "t2.nano" + // InstanceTypeA1Large is a InstanceType enum value + InstanceTypeA1Large = "a1.large" - // InstanceTypeT2Micro is a InstanceType enum value - InstanceTypeT2Micro = "t2.micro" + // InstanceTypeA1Xlarge is a InstanceType enum value + InstanceTypeA1Xlarge = "a1.xlarge" - // InstanceTypeT2Small is a InstanceType enum value - InstanceTypeT2Small = "t2.small" + // InstanceTypeA12xlarge is a InstanceType enum value + InstanceTypeA12xlarge = "a1.2xlarge" - // InstanceTypeT2Medium is a InstanceType enum value - InstanceTypeT2Medium = "t2.medium" + // InstanceTypeA14xlarge is a InstanceType enum value + InstanceTypeA14xlarge = "a1.4xlarge" - // InstanceTypeT2Large is a InstanceType enum value - InstanceTypeT2Large = "t2.large" - - // InstanceTypeT2Xlarge is a InstanceType enum value - InstanceTypeT2Xlarge = "t2.xlarge" - - // InstanceTypeT22xlarge is a InstanceType enum value - InstanceTypeT22xlarge = "t2.2xlarge" - - // InstanceTypeT3Nano is a InstanceType enum value - InstanceTypeT3Nano = "t3.nano" - - // InstanceTypeT3Micro is a InstanceType enum value - InstanceTypeT3Micro = "t3.micro" - - // InstanceTypeT3Small is a InstanceType enum value - InstanceTypeT3Small = "t3.small" - - // InstanceTypeT3Medium is a InstanceType enum value - InstanceTypeT3Medium = "t3.medium" - - // InstanceTypeT3Large is a InstanceType enum value - InstanceTypeT3Large = "t3.large" - - // InstanceTypeT3Xlarge is a InstanceType enum value - InstanceTypeT3Xlarge = "t3.xlarge" - - // InstanceTypeT32xlarge is a InstanceType enum value - InstanceTypeT32xlarge = "t3.2xlarge" - - // InstanceTypeT3aNano is a InstanceType enum value - InstanceTypeT3aNano = "t3a.nano" - - // InstanceTypeT3aMicro is a InstanceType enum value - InstanceTypeT3aMicro = "t3a.micro" - - // InstanceTypeT3aSmall is a InstanceType enum value - InstanceTypeT3aSmall = "t3a.small" - - // InstanceTypeT3aMedium is a InstanceType enum value - InstanceTypeT3aMedium = "t3a.medium" - - // InstanceTypeT3aLarge is a InstanceType enum value - InstanceTypeT3aLarge = "t3a.large" - - // InstanceTypeT3aXlarge is a InstanceType enum value - InstanceTypeT3aXlarge = "t3a.xlarge" - - // InstanceTypeT3a2xlarge is a InstanceType enum value - InstanceTypeT3a2xlarge = "t3a.2xlarge" - - // InstanceTypeT4gNano is a InstanceType enum value - InstanceTypeT4gNano = "t4g.nano" - - // InstanceTypeT4gMicro is a InstanceType enum value - InstanceTypeT4gMicro = "t4g.micro" - - // InstanceTypeT4gSmall is a InstanceType enum value - InstanceTypeT4gSmall = "t4g.small" - - // InstanceTypeT4gMedium is a InstanceType enum value - InstanceTypeT4gMedium = "t4g.medium" - - // InstanceTypeT4gLarge is a InstanceType enum value - InstanceTypeT4gLarge = "t4g.large" - - // InstanceTypeT4gXlarge is a InstanceType enum value - InstanceTypeT4gXlarge = "t4g.xlarge" - - // InstanceTypeT4g2xlarge is a InstanceType enum value - InstanceTypeT4g2xlarge = "t4g.2xlarge" - - // InstanceTypeM1Small is a InstanceType enum value - InstanceTypeM1Small = "m1.small" - - // InstanceTypeM1Medium is a InstanceType enum value - InstanceTypeM1Medium = "m1.medium" - - // InstanceTypeM1Large is a InstanceType enum value - InstanceTypeM1Large = "m1.large" - - // InstanceTypeM1Xlarge is a InstanceType enum value - InstanceTypeM1Xlarge = "m1.xlarge" - - // InstanceTypeM3Medium is a InstanceType enum value - InstanceTypeM3Medium = "m3.medium" - - // InstanceTypeM3Large is a InstanceType enum value - InstanceTypeM3Large = "m3.large" - - // InstanceTypeM3Xlarge is a InstanceType enum value - InstanceTypeM3Xlarge = "m3.xlarge" - - // InstanceTypeM32xlarge is a InstanceType enum value - InstanceTypeM32xlarge = "m3.2xlarge" - - // InstanceTypeM4Large is a InstanceType enum value - InstanceTypeM4Large = "m4.large" - - // InstanceTypeM4Xlarge is a InstanceType enum value - InstanceTypeM4Xlarge = "m4.xlarge" - - // InstanceTypeM42xlarge is a InstanceType enum value - InstanceTypeM42xlarge = "m4.2xlarge" - - // InstanceTypeM44xlarge is a InstanceType enum value - InstanceTypeM44xlarge = "m4.4xlarge" - - // InstanceTypeM410xlarge is a InstanceType enum value - InstanceTypeM410xlarge = "m4.10xlarge" - - // InstanceTypeM416xlarge is a InstanceType enum value - InstanceTypeM416xlarge = "m4.16xlarge" - - // InstanceTypeM2Xlarge is a InstanceType enum value - InstanceTypeM2Xlarge = "m2.xlarge" - - // InstanceTypeM22xlarge is a InstanceType enum value - InstanceTypeM22xlarge = "m2.2xlarge" - - // InstanceTypeM24xlarge is a InstanceType enum value - InstanceTypeM24xlarge = "m2.4xlarge" - - // InstanceTypeCr18xlarge is a InstanceType enum value - InstanceTypeCr18xlarge = "cr1.8xlarge" - - // InstanceTypeR3Large is a InstanceType enum value - InstanceTypeR3Large = "r3.large" - - // InstanceTypeR3Xlarge is a InstanceType enum value - InstanceTypeR3Xlarge = "r3.xlarge" - - // InstanceTypeR32xlarge is a InstanceType enum value - InstanceTypeR32xlarge = "r3.2xlarge" - - // InstanceTypeR34xlarge is a InstanceType enum value - InstanceTypeR34xlarge = "r3.4xlarge" - - // InstanceTypeR38xlarge is a InstanceType enum value - InstanceTypeR38xlarge = "r3.8xlarge" - - // InstanceTypeR4Large is a InstanceType enum value - InstanceTypeR4Large = "r4.large" - - // InstanceTypeR4Xlarge is a InstanceType enum value - InstanceTypeR4Xlarge = "r4.xlarge" - - // InstanceTypeR42xlarge is a InstanceType enum value - InstanceTypeR42xlarge = "r4.2xlarge" - - // InstanceTypeR44xlarge is a InstanceType enum value - InstanceTypeR44xlarge = "r4.4xlarge" - - // InstanceTypeR48xlarge is a InstanceType enum value - InstanceTypeR48xlarge = "r4.8xlarge" - - // InstanceTypeR416xlarge is a InstanceType enum value - InstanceTypeR416xlarge = "r4.16xlarge" - - // InstanceTypeR5Large is a InstanceType enum value - InstanceTypeR5Large = "r5.large" - - // InstanceTypeR5Xlarge is a InstanceType enum value - InstanceTypeR5Xlarge = "r5.xlarge" - - // InstanceTypeR52xlarge is a InstanceType enum value - InstanceTypeR52xlarge = "r5.2xlarge" - - // InstanceTypeR54xlarge is a InstanceType enum value - InstanceTypeR54xlarge = "r5.4xlarge" - - // InstanceTypeR58xlarge is a InstanceType enum value - InstanceTypeR58xlarge = "r5.8xlarge" - - // InstanceTypeR512xlarge is a InstanceType enum value - InstanceTypeR512xlarge = "r5.12xlarge" - - // InstanceTypeR516xlarge is a InstanceType enum value - InstanceTypeR516xlarge = "r5.16xlarge" - - // InstanceTypeR524xlarge is a InstanceType enum value - InstanceTypeR524xlarge = "r5.24xlarge" - - // InstanceTypeR5Metal is a InstanceType enum value - InstanceTypeR5Metal = "r5.metal" - - // InstanceTypeR5aLarge is a InstanceType enum value - InstanceTypeR5aLarge = "r5a.large" - - // InstanceTypeR5aXlarge is a InstanceType enum value - InstanceTypeR5aXlarge = "r5a.xlarge" - - // InstanceTypeR5a2xlarge is a InstanceType enum value - InstanceTypeR5a2xlarge = "r5a.2xlarge" - - // InstanceTypeR5a4xlarge is a InstanceType enum value - InstanceTypeR5a4xlarge = "r5a.4xlarge" - - // InstanceTypeR5a8xlarge is a InstanceType enum value - InstanceTypeR5a8xlarge = "r5a.8xlarge" - - // InstanceTypeR5a12xlarge is a InstanceType enum value - InstanceTypeR5a12xlarge = "r5a.12xlarge" - - // InstanceTypeR5a16xlarge is a InstanceType enum value - InstanceTypeR5a16xlarge = "r5a.16xlarge" - - // InstanceTypeR5a24xlarge is a InstanceType enum value - InstanceTypeR5a24xlarge = "r5a.24xlarge" - - // InstanceTypeR5bLarge is a InstanceType enum value - InstanceTypeR5bLarge = "r5b.large" - - // InstanceTypeR5bXlarge is a InstanceType enum value - InstanceTypeR5bXlarge = "r5b.xlarge" - - // InstanceTypeR5b2xlarge is a InstanceType enum value - InstanceTypeR5b2xlarge = "r5b.2xlarge" - - // InstanceTypeR5b4xlarge is a InstanceType enum value - InstanceTypeR5b4xlarge = "r5b.4xlarge" - - // InstanceTypeR5b8xlarge is a InstanceType enum value - InstanceTypeR5b8xlarge = "r5b.8xlarge" - - // InstanceTypeR5b12xlarge is a InstanceType enum value - InstanceTypeR5b12xlarge = "r5b.12xlarge" - - // InstanceTypeR5b16xlarge is a InstanceType enum value - InstanceTypeR5b16xlarge = "r5b.16xlarge" - - // InstanceTypeR5b24xlarge is a InstanceType enum value - InstanceTypeR5b24xlarge = "r5b.24xlarge" - - // InstanceTypeR5bMetal is a InstanceType enum value - InstanceTypeR5bMetal = "r5b.metal" - - // InstanceTypeR5dLarge is a InstanceType enum value - InstanceTypeR5dLarge = "r5d.large" - - // InstanceTypeR5dXlarge is a InstanceType enum value - InstanceTypeR5dXlarge = "r5d.xlarge" - - // InstanceTypeR5d2xlarge is a InstanceType enum value - InstanceTypeR5d2xlarge = "r5d.2xlarge" - - // InstanceTypeR5d4xlarge is a InstanceType enum value - InstanceTypeR5d4xlarge = "r5d.4xlarge" - - // InstanceTypeR5d8xlarge is a InstanceType enum value - InstanceTypeR5d8xlarge = "r5d.8xlarge" - - // InstanceTypeR5d12xlarge is a InstanceType enum value - InstanceTypeR5d12xlarge = "r5d.12xlarge" - - // InstanceTypeR5d16xlarge is a InstanceType enum value - InstanceTypeR5d16xlarge = "r5d.16xlarge" - - // InstanceTypeR5d24xlarge is a InstanceType enum value - InstanceTypeR5d24xlarge = "r5d.24xlarge" - - // InstanceTypeR5dMetal is a InstanceType enum value - InstanceTypeR5dMetal = "r5d.metal" - - // InstanceTypeR5adLarge is a InstanceType enum value - InstanceTypeR5adLarge = "r5ad.large" - - // InstanceTypeR5adXlarge is a InstanceType enum value - InstanceTypeR5adXlarge = "r5ad.xlarge" - - // InstanceTypeR5ad2xlarge is a InstanceType enum value - InstanceTypeR5ad2xlarge = "r5ad.2xlarge" - - // InstanceTypeR5ad4xlarge is a InstanceType enum value - InstanceTypeR5ad4xlarge = "r5ad.4xlarge" - - // InstanceTypeR5ad8xlarge is a InstanceType enum value - InstanceTypeR5ad8xlarge = "r5ad.8xlarge" - - // InstanceTypeR5ad12xlarge is a InstanceType enum value - InstanceTypeR5ad12xlarge = "r5ad.12xlarge" - - // InstanceTypeR5ad16xlarge is a InstanceType enum value - InstanceTypeR5ad16xlarge = "r5ad.16xlarge" - - // InstanceTypeR5ad24xlarge is a InstanceType enum value - InstanceTypeR5ad24xlarge = "r5ad.24xlarge" - - // InstanceTypeR6gMetal is a InstanceType enum value - InstanceTypeR6gMetal = "r6g.metal" - - // InstanceTypeR6gMedium is a InstanceType enum value - InstanceTypeR6gMedium = "r6g.medium" - - // InstanceTypeR6gLarge is a InstanceType enum value - InstanceTypeR6gLarge = "r6g.large" - - // InstanceTypeR6gXlarge is a InstanceType enum value - InstanceTypeR6gXlarge = "r6g.xlarge" - - // InstanceTypeR6g2xlarge is a InstanceType enum value - InstanceTypeR6g2xlarge = "r6g.2xlarge" - - // InstanceTypeR6g4xlarge is a InstanceType enum value - InstanceTypeR6g4xlarge = "r6g.4xlarge" - - // InstanceTypeR6g8xlarge is a InstanceType enum value - InstanceTypeR6g8xlarge = "r6g.8xlarge" - - // InstanceTypeR6g12xlarge is a InstanceType enum value - InstanceTypeR6g12xlarge = "r6g.12xlarge" - - // InstanceTypeR6g16xlarge is a InstanceType enum value - InstanceTypeR6g16xlarge = "r6g.16xlarge" - - // InstanceTypeR6gdMetal is a InstanceType enum value - InstanceTypeR6gdMetal = "r6gd.metal" - - // InstanceTypeR6gdMedium is a InstanceType enum value - InstanceTypeR6gdMedium = "r6gd.medium" - - // InstanceTypeR6gdLarge is a InstanceType enum value - InstanceTypeR6gdLarge = "r6gd.large" - - // InstanceTypeR6gdXlarge is a InstanceType enum value - InstanceTypeR6gdXlarge = "r6gd.xlarge" - - // InstanceTypeR6gd2xlarge is a InstanceType enum value - InstanceTypeR6gd2xlarge = "r6gd.2xlarge" - - // InstanceTypeR6gd4xlarge is a InstanceType enum value - InstanceTypeR6gd4xlarge = "r6gd.4xlarge" - - // InstanceTypeR6gd8xlarge is a InstanceType enum value - InstanceTypeR6gd8xlarge = "r6gd.8xlarge" - - // InstanceTypeR6gd12xlarge is a InstanceType enum value - InstanceTypeR6gd12xlarge = "r6gd.12xlarge" - - // InstanceTypeR6gd16xlarge is a InstanceType enum value - InstanceTypeR6gd16xlarge = "r6gd.16xlarge" - - // InstanceTypeX116xlarge is a InstanceType enum value - InstanceTypeX116xlarge = "x1.16xlarge" - - // InstanceTypeX132xlarge is a InstanceType enum value - InstanceTypeX132xlarge = "x1.32xlarge" - - // InstanceTypeX1eXlarge is a InstanceType enum value - InstanceTypeX1eXlarge = "x1e.xlarge" - - // InstanceTypeX1e2xlarge is a InstanceType enum value - InstanceTypeX1e2xlarge = "x1e.2xlarge" - - // InstanceTypeX1e4xlarge is a InstanceType enum value - InstanceTypeX1e4xlarge = "x1e.4xlarge" - - // InstanceTypeX1e8xlarge is a InstanceType enum value - InstanceTypeX1e8xlarge = "x1e.8xlarge" - - // InstanceTypeX1e16xlarge is a InstanceType enum value - InstanceTypeX1e16xlarge = "x1e.16xlarge" - - // InstanceTypeX1e32xlarge is a InstanceType enum value - InstanceTypeX1e32xlarge = "x1e.32xlarge" - - // InstanceTypeI2Xlarge is a InstanceType enum value - InstanceTypeI2Xlarge = "i2.xlarge" - - // InstanceTypeI22xlarge is a InstanceType enum value - InstanceTypeI22xlarge = "i2.2xlarge" - - // InstanceTypeI24xlarge is a InstanceType enum value - InstanceTypeI24xlarge = "i2.4xlarge" - - // InstanceTypeI28xlarge is a InstanceType enum value - InstanceTypeI28xlarge = "i2.8xlarge" - - // InstanceTypeI3Large is a InstanceType enum value - InstanceTypeI3Large = "i3.large" - - // InstanceTypeI3Xlarge is a InstanceType enum value - InstanceTypeI3Xlarge = "i3.xlarge" - - // InstanceTypeI32xlarge is a InstanceType enum value - InstanceTypeI32xlarge = "i3.2xlarge" - - // InstanceTypeI34xlarge is a InstanceType enum value - InstanceTypeI34xlarge = "i3.4xlarge" - - // InstanceTypeI38xlarge is a InstanceType enum value - InstanceTypeI38xlarge = "i3.8xlarge" - - // InstanceTypeI316xlarge is a InstanceType enum value - InstanceTypeI316xlarge = "i3.16xlarge" - - // InstanceTypeI3Metal is a InstanceType enum value - InstanceTypeI3Metal = "i3.metal" - - // InstanceTypeI3enLarge is a InstanceType enum value - InstanceTypeI3enLarge = "i3en.large" - - // InstanceTypeI3enXlarge is a InstanceType enum value - InstanceTypeI3enXlarge = "i3en.xlarge" - - // InstanceTypeI3en2xlarge is a InstanceType enum value - InstanceTypeI3en2xlarge = "i3en.2xlarge" - - // InstanceTypeI3en3xlarge is a InstanceType enum value - InstanceTypeI3en3xlarge = "i3en.3xlarge" - - // InstanceTypeI3en6xlarge is a InstanceType enum value - InstanceTypeI3en6xlarge = "i3en.6xlarge" - - // InstanceTypeI3en12xlarge is a InstanceType enum value - InstanceTypeI3en12xlarge = "i3en.12xlarge" - - // InstanceTypeI3en24xlarge is a InstanceType enum value - InstanceTypeI3en24xlarge = "i3en.24xlarge" - - // InstanceTypeI3enMetal is a InstanceType enum value - InstanceTypeI3enMetal = "i3en.metal" - - // InstanceTypeHi14xlarge is a InstanceType enum value - InstanceTypeHi14xlarge = "hi1.4xlarge" - - // InstanceTypeHs18xlarge is a InstanceType enum value - InstanceTypeHs18xlarge = "hs1.8xlarge" + // InstanceTypeA1Metal is a InstanceType enum value + InstanceTypeA1Metal = "a1.metal" // InstanceTypeC1Medium is a InstanceType enum value InstanceTypeC1Medium = "c1.medium" @@ -148825,9 +162000,6 @@ const ( // InstanceTypeC5nMetal is a InstanceType enum value InstanceTypeC5nMetal = "c5n.metal" - // InstanceTypeC6gMetal is a InstanceType enum value - InstanceTypeC6gMetal = "c6g.metal" - // InstanceTypeC6gMedium is a InstanceType enum value InstanceTypeC6gMedium = "c6g.medium" @@ -148852,8 +162024,8 @@ const ( // InstanceTypeC6g16xlarge is a InstanceType enum value InstanceTypeC6g16xlarge = "c6g.16xlarge" - // InstanceTypeC6gdMetal is a InstanceType enum value - InstanceTypeC6gdMetal = "c6gd.metal" + // InstanceTypeC6gMetal is a InstanceType enum value + InstanceTypeC6gMetal = "c6g.metal" // InstanceTypeC6gdMedium is a InstanceType enum value InstanceTypeC6gdMedium = "c6gd.medium" @@ -148879,6 +162051,9 @@ const ( // InstanceTypeC6gd16xlarge is a InstanceType enum value InstanceTypeC6gd16xlarge = "c6gd.16xlarge" + // InstanceTypeC6gdMetal is a InstanceType enum value + InstanceTypeC6gdMetal = "c6gd.metal" + // InstanceTypeC6gnMedium is a InstanceType enum value InstanceTypeC6gnMedium = "c6gn.medium" @@ -148936,86 +162111,11 @@ const ( // InstanceTypeCc28xlarge is a InstanceType enum value InstanceTypeCc28xlarge = "cc2.8xlarge" - // InstanceTypeG22xlarge is a InstanceType enum value - InstanceTypeG22xlarge = "g2.2xlarge" - - // InstanceTypeG28xlarge is a InstanceType enum value - InstanceTypeG28xlarge = "g2.8xlarge" - - // InstanceTypeG34xlarge is a InstanceType enum value - InstanceTypeG34xlarge = "g3.4xlarge" - - // InstanceTypeG38xlarge is a InstanceType enum value - InstanceTypeG38xlarge = "g3.8xlarge" - - // InstanceTypeG316xlarge is a InstanceType enum value - InstanceTypeG316xlarge = "g3.16xlarge" - - // InstanceTypeG3sXlarge is a InstanceType enum value - InstanceTypeG3sXlarge = "g3s.xlarge" - - // InstanceTypeG4adXlarge is a InstanceType enum value - InstanceTypeG4adXlarge = "g4ad.xlarge" - - // InstanceTypeG4ad2xlarge is a InstanceType enum value - InstanceTypeG4ad2xlarge = "g4ad.2xlarge" - - // InstanceTypeG4ad4xlarge is a InstanceType enum value - InstanceTypeG4ad4xlarge = "g4ad.4xlarge" - - // InstanceTypeG4ad8xlarge is a InstanceType enum value - InstanceTypeG4ad8xlarge = "g4ad.8xlarge" - - // InstanceTypeG4ad16xlarge is a InstanceType enum value - InstanceTypeG4ad16xlarge = "g4ad.16xlarge" - - // InstanceTypeG4dnXlarge is a InstanceType enum value - InstanceTypeG4dnXlarge = "g4dn.xlarge" - - // InstanceTypeG4dn2xlarge is a InstanceType enum value - InstanceTypeG4dn2xlarge = "g4dn.2xlarge" - - // InstanceTypeG4dn4xlarge is a InstanceType enum value - InstanceTypeG4dn4xlarge = "g4dn.4xlarge" - - // InstanceTypeG4dn8xlarge is a InstanceType enum value - InstanceTypeG4dn8xlarge = "g4dn.8xlarge" - - // InstanceTypeG4dn12xlarge is a InstanceType enum value - InstanceTypeG4dn12xlarge = "g4dn.12xlarge" - - // InstanceTypeG4dn16xlarge is a InstanceType enum value - InstanceTypeG4dn16xlarge = "g4dn.16xlarge" - - // InstanceTypeG4dnMetal is a InstanceType enum value - InstanceTypeG4dnMetal = "g4dn.metal" - // InstanceTypeCg14xlarge is a InstanceType enum value InstanceTypeCg14xlarge = "cg1.4xlarge" - // InstanceTypeP2Xlarge is a InstanceType enum value - InstanceTypeP2Xlarge = "p2.xlarge" - - // InstanceTypeP28xlarge is a InstanceType enum value - InstanceTypeP28xlarge = "p2.8xlarge" - - // InstanceTypeP216xlarge is a InstanceType enum value - InstanceTypeP216xlarge = "p2.16xlarge" - - // InstanceTypeP32xlarge is a InstanceType enum value - InstanceTypeP32xlarge = "p3.2xlarge" - - // InstanceTypeP38xlarge is a InstanceType enum value - InstanceTypeP38xlarge = "p3.8xlarge" - - // InstanceTypeP316xlarge is a InstanceType enum value - InstanceTypeP316xlarge = "p3.16xlarge" - - // InstanceTypeP3dn24xlarge is a InstanceType enum value - InstanceTypeP3dn24xlarge = "p3dn.24xlarge" - - // InstanceTypeP4d24xlarge is a InstanceType enum value - InstanceTypeP4d24xlarge = "p4d.24xlarge" + // InstanceTypeCr18xlarge is a InstanceType enum value + InstanceTypeCr18xlarge = "cr1.8xlarge" // InstanceTypeD2Xlarge is a InstanceType enum value InstanceTypeD2Xlarge = "d2.xlarge" @@ -149071,6 +162171,279 @@ const ( // InstanceTypeF116xlarge is a InstanceType enum value InstanceTypeF116xlarge = "f1.16xlarge" + // InstanceTypeG22xlarge is a InstanceType enum value + InstanceTypeG22xlarge = "g2.2xlarge" + + // InstanceTypeG28xlarge is a InstanceType enum value + InstanceTypeG28xlarge = "g2.8xlarge" + + // InstanceTypeG34xlarge is a InstanceType enum value + InstanceTypeG34xlarge = "g3.4xlarge" + + // InstanceTypeG38xlarge is a InstanceType enum value + InstanceTypeG38xlarge = "g3.8xlarge" + + // InstanceTypeG316xlarge is a InstanceType enum value + InstanceTypeG316xlarge = "g3.16xlarge" + + // InstanceTypeG3sXlarge is a InstanceType enum value + InstanceTypeG3sXlarge = "g3s.xlarge" + + // InstanceTypeG4adXlarge is a InstanceType enum value + InstanceTypeG4adXlarge = "g4ad.xlarge" + + // InstanceTypeG4ad2xlarge is a InstanceType enum value + InstanceTypeG4ad2xlarge = "g4ad.2xlarge" + + // InstanceTypeG4ad4xlarge is a InstanceType enum value + InstanceTypeG4ad4xlarge = "g4ad.4xlarge" + + // InstanceTypeG4ad8xlarge is a InstanceType enum value + InstanceTypeG4ad8xlarge = "g4ad.8xlarge" + + // InstanceTypeG4ad16xlarge is a InstanceType enum value + InstanceTypeG4ad16xlarge = "g4ad.16xlarge" + + // InstanceTypeG4dnXlarge is a InstanceType enum value + InstanceTypeG4dnXlarge = "g4dn.xlarge" + + // InstanceTypeG4dn2xlarge is a InstanceType enum value + InstanceTypeG4dn2xlarge = "g4dn.2xlarge" + + // InstanceTypeG4dn4xlarge is a InstanceType enum value + InstanceTypeG4dn4xlarge = "g4dn.4xlarge" + + // InstanceTypeG4dn8xlarge is a InstanceType enum value + InstanceTypeG4dn8xlarge = "g4dn.8xlarge" + + // InstanceTypeG4dn12xlarge is a InstanceType enum value + InstanceTypeG4dn12xlarge = "g4dn.12xlarge" + + // InstanceTypeG4dn16xlarge is a InstanceType enum value + InstanceTypeG4dn16xlarge = "g4dn.16xlarge" + + // InstanceTypeG4dnMetal is a InstanceType enum value + InstanceTypeG4dnMetal = "g4dn.metal" + + // InstanceTypeG5Xlarge is a InstanceType enum value + InstanceTypeG5Xlarge = "g5.xlarge" + + // InstanceTypeG52xlarge is a InstanceType enum value + InstanceTypeG52xlarge = "g5.2xlarge" + + // InstanceTypeG54xlarge is a InstanceType enum value + InstanceTypeG54xlarge = "g5.4xlarge" + + // InstanceTypeG58xlarge is a InstanceType enum value + InstanceTypeG58xlarge = "g5.8xlarge" + + // InstanceTypeG512xlarge is a InstanceType enum value + InstanceTypeG512xlarge = "g5.12xlarge" + + // InstanceTypeG516xlarge is a InstanceType enum value + InstanceTypeG516xlarge = "g5.16xlarge" + + // InstanceTypeG524xlarge is a InstanceType enum value + InstanceTypeG524xlarge = "g5.24xlarge" + + // InstanceTypeG548xlarge is a InstanceType enum value + InstanceTypeG548xlarge = "g5.48xlarge" + + // InstanceTypeG5gXlarge is a InstanceType enum value + InstanceTypeG5gXlarge = "g5g.xlarge" + + // InstanceTypeG5g2xlarge is a InstanceType enum value + InstanceTypeG5g2xlarge = "g5g.2xlarge" + + // InstanceTypeG5g4xlarge is a InstanceType enum value + InstanceTypeG5g4xlarge = "g5g.4xlarge" + + // InstanceTypeG5g8xlarge is a InstanceType enum value + InstanceTypeG5g8xlarge = "g5g.8xlarge" + + // InstanceTypeG5g16xlarge is a InstanceType enum value + InstanceTypeG5g16xlarge = "g5g.16xlarge" + + // InstanceTypeG5gMetal is a InstanceType enum value + InstanceTypeG5gMetal = "g5g.metal" + + // InstanceTypeHi14xlarge is a InstanceType enum value + InstanceTypeHi14xlarge = "hi1.4xlarge" + + // InstanceTypeHpc6a48xlarge is a InstanceType enum value + InstanceTypeHpc6a48xlarge = "hpc6a.48xlarge" + + // InstanceTypeHs18xlarge is a InstanceType enum value + InstanceTypeHs18xlarge = "hs1.8xlarge" + + // InstanceTypeH12xlarge is a InstanceType enum value + InstanceTypeH12xlarge = "h1.2xlarge" + + // InstanceTypeH14xlarge is a InstanceType enum value + InstanceTypeH14xlarge = "h1.4xlarge" + + // InstanceTypeH18xlarge is a InstanceType enum value + InstanceTypeH18xlarge = "h1.8xlarge" + + // InstanceTypeH116xlarge is a InstanceType enum value + InstanceTypeH116xlarge = "h1.16xlarge" + + // InstanceTypeI2Xlarge is a InstanceType enum value + InstanceTypeI2Xlarge = "i2.xlarge" + + // InstanceTypeI22xlarge is a InstanceType enum value + InstanceTypeI22xlarge = "i2.2xlarge" + + // InstanceTypeI24xlarge is a InstanceType enum value + InstanceTypeI24xlarge = "i2.4xlarge" + + // InstanceTypeI28xlarge is a InstanceType enum value + InstanceTypeI28xlarge = "i2.8xlarge" + + // InstanceTypeI3Large is a InstanceType enum value + InstanceTypeI3Large = "i3.large" + + // InstanceTypeI3Xlarge is a InstanceType enum value + InstanceTypeI3Xlarge = "i3.xlarge" + + // InstanceTypeI32xlarge is a InstanceType enum value + InstanceTypeI32xlarge = "i3.2xlarge" + + // InstanceTypeI34xlarge is a InstanceType enum value + InstanceTypeI34xlarge = "i3.4xlarge" + + // InstanceTypeI38xlarge is a InstanceType enum value + InstanceTypeI38xlarge = "i3.8xlarge" + + // InstanceTypeI316xlarge is a InstanceType enum value + InstanceTypeI316xlarge = "i3.16xlarge" + + // InstanceTypeI3Metal is a InstanceType enum value + InstanceTypeI3Metal = "i3.metal" + + // InstanceTypeI3enLarge is a InstanceType enum value + InstanceTypeI3enLarge = "i3en.large" + + // InstanceTypeI3enXlarge is a InstanceType enum value + InstanceTypeI3enXlarge = "i3en.xlarge" + + // InstanceTypeI3en2xlarge is a InstanceType enum value + InstanceTypeI3en2xlarge = "i3en.2xlarge" + + // InstanceTypeI3en3xlarge is a InstanceType enum value + InstanceTypeI3en3xlarge = "i3en.3xlarge" + + // InstanceTypeI3en6xlarge is a InstanceType enum value + InstanceTypeI3en6xlarge = "i3en.6xlarge" + + // InstanceTypeI3en12xlarge is a InstanceType enum value + InstanceTypeI3en12xlarge = "i3en.12xlarge" + + // InstanceTypeI3en24xlarge is a InstanceType enum value + InstanceTypeI3en24xlarge = "i3en.24xlarge" + + // InstanceTypeI3enMetal is a InstanceType enum value + InstanceTypeI3enMetal = "i3en.metal" + + // InstanceTypeIm4gnLarge is a InstanceType enum value + InstanceTypeIm4gnLarge = "im4gn.large" + + // InstanceTypeIm4gnXlarge is a InstanceType enum value + InstanceTypeIm4gnXlarge = "im4gn.xlarge" + + // InstanceTypeIm4gn2xlarge is a InstanceType enum value + InstanceTypeIm4gn2xlarge = "im4gn.2xlarge" + + // InstanceTypeIm4gn4xlarge is a InstanceType enum value + InstanceTypeIm4gn4xlarge = "im4gn.4xlarge" + + // InstanceTypeIm4gn8xlarge is a InstanceType enum value + InstanceTypeIm4gn8xlarge = "im4gn.8xlarge" + + // InstanceTypeIm4gn16xlarge is a InstanceType enum value + InstanceTypeIm4gn16xlarge = "im4gn.16xlarge" + + // InstanceTypeInf1Xlarge is a InstanceType enum value + InstanceTypeInf1Xlarge = "inf1.xlarge" + + // InstanceTypeInf12xlarge is a InstanceType enum value + InstanceTypeInf12xlarge = "inf1.2xlarge" + + // InstanceTypeInf16xlarge is a InstanceType enum value + InstanceTypeInf16xlarge = "inf1.6xlarge" + + // InstanceTypeInf124xlarge is a InstanceType enum value + InstanceTypeInf124xlarge = "inf1.24xlarge" + + // InstanceTypeIs4genMedium is a InstanceType enum value + InstanceTypeIs4genMedium = "is4gen.medium" + + // InstanceTypeIs4genLarge is a InstanceType enum value + InstanceTypeIs4genLarge = "is4gen.large" + + // InstanceTypeIs4genXlarge is a InstanceType enum value + InstanceTypeIs4genXlarge = "is4gen.xlarge" + + // InstanceTypeIs4gen2xlarge is a InstanceType enum value + InstanceTypeIs4gen2xlarge = "is4gen.2xlarge" + + // InstanceTypeIs4gen4xlarge is a InstanceType enum value + InstanceTypeIs4gen4xlarge = "is4gen.4xlarge" + + // InstanceTypeIs4gen8xlarge is a InstanceType enum value + InstanceTypeIs4gen8xlarge = "is4gen.8xlarge" + + // InstanceTypeM1Small is a InstanceType enum value + InstanceTypeM1Small = "m1.small" + + // InstanceTypeM1Medium is a InstanceType enum value + InstanceTypeM1Medium = "m1.medium" + + // InstanceTypeM1Large is a InstanceType enum value + InstanceTypeM1Large = "m1.large" + + // InstanceTypeM1Xlarge is a InstanceType enum value + InstanceTypeM1Xlarge = "m1.xlarge" + + // InstanceTypeM2Xlarge is a InstanceType enum value + InstanceTypeM2Xlarge = "m2.xlarge" + + // InstanceTypeM22xlarge is a InstanceType enum value + InstanceTypeM22xlarge = "m2.2xlarge" + + // InstanceTypeM24xlarge is a InstanceType enum value + InstanceTypeM24xlarge = "m2.4xlarge" + + // InstanceTypeM3Medium is a InstanceType enum value + InstanceTypeM3Medium = "m3.medium" + + // InstanceTypeM3Large is a InstanceType enum value + InstanceTypeM3Large = "m3.large" + + // InstanceTypeM3Xlarge is a InstanceType enum value + InstanceTypeM3Xlarge = "m3.xlarge" + + // InstanceTypeM32xlarge is a InstanceType enum value + InstanceTypeM32xlarge = "m3.2xlarge" + + // InstanceTypeM4Large is a InstanceType enum value + InstanceTypeM4Large = "m4.large" + + // InstanceTypeM4Xlarge is a InstanceType enum value + InstanceTypeM4Xlarge = "m4.xlarge" + + // InstanceTypeM42xlarge is a InstanceType enum value + InstanceTypeM42xlarge = "m4.2xlarge" + + // InstanceTypeM44xlarge is a InstanceType enum value + InstanceTypeM44xlarge = "m4.4xlarge" + + // InstanceTypeM410xlarge is a InstanceType enum value + InstanceTypeM410xlarge = "m4.10xlarge" + + // InstanceTypeM416xlarge is a InstanceType enum value + InstanceTypeM416xlarge = "m4.16xlarge" + // InstanceTypeM5Large is a InstanceType enum value InstanceTypeM5Large = "m5.large" @@ -149122,6 +162495,30 @@ const ( // InstanceTypeM5a24xlarge is a InstanceType enum value InstanceTypeM5a24xlarge = "m5a.24xlarge" + // InstanceTypeM5adLarge is a InstanceType enum value + InstanceTypeM5adLarge = "m5ad.large" + + // InstanceTypeM5adXlarge is a InstanceType enum value + InstanceTypeM5adXlarge = "m5ad.xlarge" + + // InstanceTypeM5ad2xlarge is a InstanceType enum value + InstanceTypeM5ad2xlarge = "m5ad.2xlarge" + + // InstanceTypeM5ad4xlarge is a InstanceType enum value + InstanceTypeM5ad4xlarge = "m5ad.4xlarge" + + // InstanceTypeM5ad8xlarge is a InstanceType enum value + InstanceTypeM5ad8xlarge = "m5ad.8xlarge" + + // InstanceTypeM5ad12xlarge is a InstanceType enum value + InstanceTypeM5ad12xlarge = "m5ad.12xlarge" + + // InstanceTypeM5ad16xlarge is a InstanceType enum value + InstanceTypeM5ad16xlarge = "m5ad.16xlarge" + + // InstanceTypeM5ad24xlarge is a InstanceType enum value + InstanceTypeM5ad24xlarge = "m5ad.24xlarge" + // InstanceTypeM5dLarge is a InstanceType enum value InstanceTypeM5dLarge = "m5d.large" @@ -149149,129 +162546,6 @@ const ( // InstanceTypeM5dMetal is a InstanceType enum value InstanceTypeM5dMetal = "m5d.metal" - // InstanceTypeM5adLarge is a InstanceType enum value - InstanceTypeM5adLarge = "m5ad.large" - - // InstanceTypeM5adXlarge is a InstanceType enum value - InstanceTypeM5adXlarge = "m5ad.xlarge" - - // InstanceTypeM5ad2xlarge is a InstanceType enum value - InstanceTypeM5ad2xlarge = "m5ad.2xlarge" - - // InstanceTypeM5ad4xlarge is a InstanceType enum value - InstanceTypeM5ad4xlarge = "m5ad.4xlarge" - - // InstanceTypeM5ad8xlarge is a InstanceType enum value - InstanceTypeM5ad8xlarge = "m5ad.8xlarge" - - // InstanceTypeM5ad12xlarge is a InstanceType enum value - InstanceTypeM5ad12xlarge = "m5ad.12xlarge" - - // InstanceTypeM5ad16xlarge is a InstanceType enum value - InstanceTypeM5ad16xlarge = "m5ad.16xlarge" - - // InstanceTypeM5ad24xlarge is a InstanceType enum value - InstanceTypeM5ad24xlarge = "m5ad.24xlarge" - - // InstanceTypeM5znLarge is a InstanceType enum value - InstanceTypeM5znLarge = "m5zn.large" - - // InstanceTypeM5znXlarge is a InstanceType enum value - InstanceTypeM5znXlarge = "m5zn.xlarge" - - // InstanceTypeM5zn2xlarge is a InstanceType enum value - InstanceTypeM5zn2xlarge = "m5zn.2xlarge" - - // InstanceTypeM5zn3xlarge is a InstanceType enum value - InstanceTypeM5zn3xlarge = "m5zn.3xlarge" - - // InstanceTypeM5zn6xlarge is a InstanceType enum value - InstanceTypeM5zn6xlarge = "m5zn.6xlarge" - - // InstanceTypeM5zn12xlarge is a InstanceType enum value - InstanceTypeM5zn12xlarge = "m5zn.12xlarge" - - // InstanceTypeM5znMetal is a InstanceType enum value - InstanceTypeM5znMetal = "m5zn.metal" - - // InstanceTypeH12xlarge is a InstanceType enum value - InstanceTypeH12xlarge = "h1.2xlarge" - - // InstanceTypeH14xlarge is a InstanceType enum value - InstanceTypeH14xlarge = "h1.4xlarge" - - // InstanceTypeH18xlarge is a InstanceType enum value - InstanceTypeH18xlarge = "h1.8xlarge" - - // InstanceTypeH116xlarge is a InstanceType enum value - InstanceTypeH116xlarge = "h1.16xlarge" - - // InstanceTypeZ1dLarge is a InstanceType enum value - InstanceTypeZ1dLarge = "z1d.large" - - // InstanceTypeZ1dXlarge is a InstanceType enum value - InstanceTypeZ1dXlarge = "z1d.xlarge" - - // InstanceTypeZ1d2xlarge is a InstanceType enum value - InstanceTypeZ1d2xlarge = "z1d.2xlarge" - - // InstanceTypeZ1d3xlarge is a InstanceType enum value - InstanceTypeZ1d3xlarge = "z1d.3xlarge" - - // InstanceTypeZ1d6xlarge is a InstanceType enum value - InstanceTypeZ1d6xlarge = "z1d.6xlarge" - - // InstanceTypeZ1d12xlarge is a InstanceType enum value - InstanceTypeZ1d12xlarge = "z1d.12xlarge" - - // InstanceTypeZ1dMetal is a InstanceType enum value - InstanceTypeZ1dMetal = "z1d.metal" - - // InstanceTypeU6tb156xlarge is a InstanceType enum value - InstanceTypeU6tb156xlarge = "u-6tb1.56xlarge" - - // InstanceTypeU6tb1112xlarge is a InstanceType enum value - InstanceTypeU6tb1112xlarge = "u-6tb1.112xlarge" - - // InstanceTypeU9tb1112xlarge is a InstanceType enum value - InstanceTypeU9tb1112xlarge = "u-9tb1.112xlarge" - - // InstanceTypeU12tb1112xlarge is a InstanceType enum value - InstanceTypeU12tb1112xlarge = "u-12tb1.112xlarge" - - // InstanceTypeU6tb1Metal is a InstanceType enum value - InstanceTypeU6tb1Metal = "u-6tb1.metal" - - // InstanceTypeU9tb1Metal is a InstanceType enum value - InstanceTypeU9tb1Metal = "u-9tb1.metal" - - // InstanceTypeU12tb1Metal is a InstanceType enum value - InstanceTypeU12tb1Metal = "u-12tb1.metal" - - // InstanceTypeU18tb1Metal is a InstanceType enum value - InstanceTypeU18tb1Metal = "u-18tb1.metal" - - // InstanceTypeU24tb1Metal is a InstanceType enum value - InstanceTypeU24tb1Metal = "u-24tb1.metal" - - // InstanceTypeA1Medium is a InstanceType enum value - InstanceTypeA1Medium = "a1.medium" - - // InstanceTypeA1Large is a InstanceType enum value - InstanceTypeA1Large = "a1.large" - - // InstanceTypeA1Xlarge is a InstanceType enum value - InstanceTypeA1Xlarge = "a1.xlarge" - - // InstanceTypeA12xlarge is a InstanceType enum value - InstanceTypeA12xlarge = "a1.2xlarge" - - // InstanceTypeA14xlarge is a InstanceType enum value - InstanceTypeA14xlarge = "a1.4xlarge" - - // InstanceTypeA1Metal is a InstanceType enum value - InstanceTypeA1Metal = "a1.metal" - // InstanceTypeM5dnLarge is a InstanceType enum value InstanceTypeM5dnLarge = "m5dn.large" @@ -149326,71 +162600,56 @@ const ( // InstanceTypeM5nMetal is a InstanceType enum value InstanceTypeM5nMetal = "m5n.metal" - // InstanceTypeR5dnLarge is a InstanceType enum value - InstanceTypeR5dnLarge = "r5dn.large" + // InstanceTypeM5znLarge is a InstanceType enum value + InstanceTypeM5znLarge = "m5zn.large" - // InstanceTypeR5dnXlarge is a InstanceType enum value - InstanceTypeR5dnXlarge = "r5dn.xlarge" + // InstanceTypeM5znXlarge is a InstanceType enum value + InstanceTypeM5znXlarge = "m5zn.xlarge" - // InstanceTypeR5dn2xlarge is a InstanceType enum value - InstanceTypeR5dn2xlarge = "r5dn.2xlarge" + // InstanceTypeM5zn2xlarge is a InstanceType enum value + InstanceTypeM5zn2xlarge = "m5zn.2xlarge" - // InstanceTypeR5dn4xlarge is a InstanceType enum value - InstanceTypeR5dn4xlarge = "r5dn.4xlarge" + // InstanceTypeM5zn3xlarge is a InstanceType enum value + InstanceTypeM5zn3xlarge = "m5zn.3xlarge" - // InstanceTypeR5dn8xlarge is a InstanceType enum value - InstanceTypeR5dn8xlarge = "r5dn.8xlarge" + // InstanceTypeM5zn6xlarge is a InstanceType enum value + InstanceTypeM5zn6xlarge = "m5zn.6xlarge" - // InstanceTypeR5dn12xlarge is a InstanceType enum value - InstanceTypeR5dn12xlarge = "r5dn.12xlarge" + // InstanceTypeM5zn12xlarge is a InstanceType enum value + InstanceTypeM5zn12xlarge = "m5zn.12xlarge" - // InstanceTypeR5dn16xlarge is a InstanceType enum value - InstanceTypeR5dn16xlarge = "r5dn.16xlarge" + // InstanceTypeM5znMetal is a InstanceType enum value + InstanceTypeM5znMetal = "m5zn.metal" - // InstanceTypeR5dn24xlarge is a InstanceType enum value - InstanceTypeR5dn24xlarge = "r5dn.24xlarge" + // InstanceTypeM6aLarge is a InstanceType enum value + InstanceTypeM6aLarge = "m6a.large" - // InstanceTypeR5dnMetal is a InstanceType enum value - InstanceTypeR5dnMetal = "r5dn.metal" + // InstanceTypeM6aXlarge is a InstanceType enum value + InstanceTypeM6aXlarge = "m6a.xlarge" - // InstanceTypeR5nLarge is a InstanceType enum value - InstanceTypeR5nLarge = "r5n.large" + // InstanceTypeM6a2xlarge is a InstanceType enum value + InstanceTypeM6a2xlarge = "m6a.2xlarge" - // InstanceTypeR5nXlarge is a InstanceType enum value - InstanceTypeR5nXlarge = "r5n.xlarge" + // InstanceTypeM6a4xlarge is a InstanceType enum value + InstanceTypeM6a4xlarge = "m6a.4xlarge" - // InstanceTypeR5n2xlarge is a InstanceType enum value - InstanceTypeR5n2xlarge = "r5n.2xlarge" + // InstanceTypeM6a8xlarge is a InstanceType enum value + InstanceTypeM6a8xlarge = "m6a.8xlarge" - // InstanceTypeR5n4xlarge is a InstanceType enum value - InstanceTypeR5n4xlarge = "r5n.4xlarge" + // InstanceTypeM6a12xlarge is a InstanceType enum value + InstanceTypeM6a12xlarge = "m6a.12xlarge" - // InstanceTypeR5n8xlarge is a InstanceType enum value - InstanceTypeR5n8xlarge = "r5n.8xlarge" + // InstanceTypeM6a16xlarge is a InstanceType enum value + InstanceTypeM6a16xlarge = "m6a.16xlarge" - // InstanceTypeR5n12xlarge is a InstanceType enum value - InstanceTypeR5n12xlarge = "r5n.12xlarge" + // InstanceTypeM6a24xlarge is a InstanceType enum value + InstanceTypeM6a24xlarge = "m6a.24xlarge" - // InstanceTypeR5n16xlarge is a InstanceType enum value - InstanceTypeR5n16xlarge = "r5n.16xlarge" + // InstanceTypeM6a32xlarge is a InstanceType enum value + InstanceTypeM6a32xlarge = "m6a.32xlarge" - // InstanceTypeR5n24xlarge is a InstanceType enum value - InstanceTypeR5n24xlarge = "r5n.24xlarge" - - // InstanceTypeR5nMetal is a InstanceType enum value - InstanceTypeR5nMetal = "r5n.metal" - - // InstanceTypeInf1Xlarge is a InstanceType enum value - InstanceTypeInf1Xlarge = "inf1.xlarge" - - // InstanceTypeInf12xlarge is a InstanceType enum value - InstanceTypeInf12xlarge = "inf1.2xlarge" - - // InstanceTypeInf16xlarge is a InstanceType enum value - InstanceTypeInf16xlarge = "inf1.6xlarge" - - // InstanceTypeInf124xlarge is a InstanceType enum value - InstanceTypeInf124xlarge = "inf1.24xlarge" + // InstanceTypeM6a48xlarge is a InstanceType enum value + InstanceTypeM6a48xlarge = "m6a.48xlarge" // InstanceTypeM6gMetal is a InstanceType enum value InstanceTypeM6gMetal = "m6g.metal" @@ -149476,6 +162735,447 @@ const ( // InstanceTypeMac1Metal is a InstanceType enum value InstanceTypeMac1Metal = "mac1.metal" + // InstanceTypeP2Xlarge is a InstanceType enum value + InstanceTypeP2Xlarge = "p2.xlarge" + + // InstanceTypeP28xlarge is a InstanceType enum value + InstanceTypeP28xlarge = "p2.8xlarge" + + // InstanceTypeP216xlarge is a InstanceType enum value + InstanceTypeP216xlarge = "p2.16xlarge" + + // InstanceTypeP32xlarge is a InstanceType enum value + InstanceTypeP32xlarge = "p3.2xlarge" + + // InstanceTypeP38xlarge is a InstanceType enum value + InstanceTypeP38xlarge = "p3.8xlarge" + + // InstanceTypeP316xlarge is a InstanceType enum value + InstanceTypeP316xlarge = "p3.16xlarge" + + // InstanceTypeP3dn24xlarge is a InstanceType enum value + InstanceTypeP3dn24xlarge = "p3dn.24xlarge" + + // InstanceTypeP4d24xlarge is a InstanceType enum value + InstanceTypeP4d24xlarge = "p4d.24xlarge" + + // InstanceTypeR3Large is a InstanceType enum value + InstanceTypeR3Large = "r3.large" + + // InstanceTypeR3Xlarge is a InstanceType enum value + InstanceTypeR3Xlarge = "r3.xlarge" + + // InstanceTypeR32xlarge is a InstanceType enum value + InstanceTypeR32xlarge = "r3.2xlarge" + + // InstanceTypeR34xlarge is a InstanceType enum value + InstanceTypeR34xlarge = "r3.4xlarge" + + // InstanceTypeR38xlarge is a InstanceType enum value + InstanceTypeR38xlarge = "r3.8xlarge" + + // InstanceTypeR4Large is a InstanceType enum value + InstanceTypeR4Large = "r4.large" + + // InstanceTypeR4Xlarge is a InstanceType enum value + InstanceTypeR4Xlarge = "r4.xlarge" + + // InstanceTypeR42xlarge is a InstanceType enum value + InstanceTypeR42xlarge = "r4.2xlarge" + + // InstanceTypeR44xlarge is a InstanceType enum value + InstanceTypeR44xlarge = "r4.4xlarge" + + // InstanceTypeR48xlarge is a InstanceType enum value + InstanceTypeR48xlarge = "r4.8xlarge" + + // InstanceTypeR416xlarge is a InstanceType enum value + InstanceTypeR416xlarge = "r4.16xlarge" + + // InstanceTypeR5Large is a InstanceType enum value + InstanceTypeR5Large = "r5.large" + + // InstanceTypeR5Xlarge is a InstanceType enum value + InstanceTypeR5Xlarge = "r5.xlarge" + + // InstanceTypeR52xlarge is a InstanceType enum value + InstanceTypeR52xlarge = "r5.2xlarge" + + // InstanceTypeR54xlarge is a InstanceType enum value + InstanceTypeR54xlarge = "r5.4xlarge" + + // InstanceTypeR58xlarge is a InstanceType enum value + InstanceTypeR58xlarge = "r5.8xlarge" + + // InstanceTypeR512xlarge is a InstanceType enum value + InstanceTypeR512xlarge = "r5.12xlarge" + + // InstanceTypeR516xlarge is a InstanceType enum value + InstanceTypeR516xlarge = "r5.16xlarge" + + // InstanceTypeR524xlarge is a InstanceType enum value + InstanceTypeR524xlarge = "r5.24xlarge" + + // InstanceTypeR5Metal is a InstanceType enum value + InstanceTypeR5Metal = "r5.metal" + + // InstanceTypeR5aLarge is a InstanceType enum value + InstanceTypeR5aLarge = "r5a.large" + + // InstanceTypeR5aXlarge is a InstanceType enum value + InstanceTypeR5aXlarge = "r5a.xlarge" + + // InstanceTypeR5a2xlarge is a InstanceType enum value + InstanceTypeR5a2xlarge = "r5a.2xlarge" + + // InstanceTypeR5a4xlarge is a InstanceType enum value + InstanceTypeR5a4xlarge = "r5a.4xlarge" + + // InstanceTypeR5a8xlarge is a InstanceType enum value + InstanceTypeR5a8xlarge = "r5a.8xlarge" + + // InstanceTypeR5a12xlarge is a InstanceType enum value + InstanceTypeR5a12xlarge = "r5a.12xlarge" + + // InstanceTypeR5a16xlarge is a InstanceType enum value + InstanceTypeR5a16xlarge = "r5a.16xlarge" + + // InstanceTypeR5a24xlarge is a InstanceType enum value + InstanceTypeR5a24xlarge = "r5a.24xlarge" + + // InstanceTypeR5adLarge is a InstanceType enum value + InstanceTypeR5adLarge = "r5ad.large" + + // InstanceTypeR5adXlarge is a InstanceType enum value + InstanceTypeR5adXlarge = "r5ad.xlarge" + + // InstanceTypeR5ad2xlarge is a InstanceType enum value + InstanceTypeR5ad2xlarge = "r5ad.2xlarge" + + // InstanceTypeR5ad4xlarge is a InstanceType enum value + InstanceTypeR5ad4xlarge = "r5ad.4xlarge" + + // InstanceTypeR5ad8xlarge is a InstanceType enum value + InstanceTypeR5ad8xlarge = "r5ad.8xlarge" + + // InstanceTypeR5ad12xlarge is a InstanceType enum value + InstanceTypeR5ad12xlarge = "r5ad.12xlarge" + + // InstanceTypeR5ad16xlarge is a InstanceType enum value + InstanceTypeR5ad16xlarge = "r5ad.16xlarge" + + // InstanceTypeR5ad24xlarge is a InstanceType enum value + InstanceTypeR5ad24xlarge = "r5ad.24xlarge" + + // InstanceTypeR5bLarge is a InstanceType enum value + InstanceTypeR5bLarge = "r5b.large" + + // InstanceTypeR5bXlarge is a InstanceType enum value + InstanceTypeR5bXlarge = "r5b.xlarge" + + // InstanceTypeR5b2xlarge is a InstanceType enum value + InstanceTypeR5b2xlarge = "r5b.2xlarge" + + // InstanceTypeR5b4xlarge is a InstanceType enum value + InstanceTypeR5b4xlarge = "r5b.4xlarge" + + // InstanceTypeR5b8xlarge is a InstanceType enum value + InstanceTypeR5b8xlarge = "r5b.8xlarge" + + // InstanceTypeR5b12xlarge is a InstanceType enum value + InstanceTypeR5b12xlarge = "r5b.12xlarge" + + // InstanceTypeR5b16xlarge is a InstanceType enum value + InstanceTypeR5b16xlarge = "r5b.16xlarge" + + // InstanceTypeR5b24xlarge is a InstanceType enum value + InstanceTypeR5b24xlarge = "r5b.24xlarge" + + // InstanceTypeR5bMetal is a InstanceType enum value + InstanceTypeR5bMetal = "r5b.metal" + + // InstanceTypeR5dLarge is a InstanceType enum value + InstanceTypeR5dLarge = "r5d.large" + + // InstanceTypeR5dXlarge is a InstanceType enum value + InstanceTypeR5dXlarge = "r5d.xlarge" + + // InstanceTypeR5d2xlarge is a InstanceType enum value + InstanceTypeR5d2xlarge = "r5d.2xlarge" + + // InstanceTypeR5d4xlarge is a InstanceType enum value + InstanceTypeR5d4xlarge = "r5d.4xlarge" + + // InstanceTypeR5d8xlarge is a InstanceType enum value + InstanceTypeR5d8xlarge = "r5d.8xlarge" + + // InstanceTypeR5d12xlarge is a InstanceType enum value + InstanceTypeR5d12xlarge = "r5d.12xlarge" + + // InstanceTypeR5d16xlarge is a InstanceType enum value + InstanceTypeR5d16xlarge = "r5d.16xlarge" + + // InstanceTypeR5d24xlarge is a InstanceType enum value + InstanceTypeR5d24xlarge = "r5d.24xlarge" + + // InstanceTypeR5dMetal is a InstanceType enum value + InstanceTypeR5dMetal = "r5d.metal" + + // InstanceTypeR5dnLarge is a InstanceType enum value + InstanceTypeR5dnLarge = "r5dn.large" + + // InstanceTypeR5dnXlarge is a InstanceType enum value + InstanceTypeR5dnXlarge = "r5dn.xlarge" + + // InstanceTypeR5dn2xlarge is a InstanceType enum value + InstanceTypeR5dn2xlarge = "r5dn.2xlarge" + + // InstanceTypeR5dn4xlarge is a InstanceType enum value + InstanceTypeR5dn4xlarge = "r5dn.4xlarge" + + // InstanceTypeR5dn8xlarge is a InstanceType enum value + InstanceTypeR5dn8xlarge = "r5dn.8xlarge" + + // InstanceTypeR5dn12xlarge is a InstanceType enum value + InstanceTypeR5dn12xlarge = "r5dn.12xlarge" + + // InstanceTypeR5dn16xlarge is a InstanceType enum value + InstanceTypeR5dn16xlarge = "r5dn.16xlarge" + + // InstanceTypeR5dn24xlarge is a InstanceType enum value + InstanceTypeR5dn24xlarge = "r5dn.24xlarge" + + // InstanceTypeR5dnMetal is a InstanceType enum value + InstanceTypeR5dnMetal = "r5dn.metal" + + // InstanceTypeR5nLarge is a InstanceType enum value + InstanceTypeR5nLarge = "r5n.large" + + // InstanceTypeR5nXlarge is a InstanceType enum value + InstanceTypeR5nXlarge = "r5n.xlarge" + + // InstanceTypeR5n2xlarge is a InstanceType enum value + InstanceTypeR5n2xlarge = "r5n.2xlarge" + + // InstanceTypeR5n4xlarge is a InstanceType enum value + InstanceTypeR5n4xlarge = "r5n.4xlarge" + + // InstanceTypeR5n8xlarge is a InstanceType enum value + InstanceTypeR5n8xlarge = "r5n.8xlarge" + + // InstanceTypeR5n12xlarge is a InstanceType enum value + InstanceTypeR5n12xlarge = "r5n.12xlarge" + + // InstanceTypeR5n16xlarge is a InstanceType enum value + InstanceTypeR5n16xlarge = "r5n.16xlarge" + + // InstanceTypeR5n24xlarge is a InstanceType enum value + InstanceTypeR5n24xlarge = "r5n.24xlarge" + + // InstanceTypeR5nMetal is a InstanceType enum value + InstanceTypeR5nMetal = "r5n.metal" + + // InstanceTypeR6gMedium is a InstanceType enum value + InstanceTypeR6gMedium = "r6g.medium" + + // InstanceTypeR6gLarge is a InstanceType enum value + InstanceTypeR6gLarge = "r6g.large" + + // InstanceTypeR6gXlarge is a InstanceType enum value + InstanceTypeR6gXlarge = "r6g.xlarge" + + // InstanceTypeR6g2xlarge is a InstanceType enum value + InstanceTypeR6g2xlarge = "r6g.2xlarge" + + // InstanceTypeR6g4xlarge is a InstanceType enum value + InstanceTypeR6g4xlarge = "r6g.4xlarge" + + // InstanceTypeR6g8xlarge is a InstanceType enum value + InstanceTypeR6g8xlarge = "r6g.8xlarge" + + // InstanceTypeR6g12xlarge is a InstanceType enum value + InstanceTypeR6g12xlarge = "r6g.12xlarge" + + // InstanceTypeR6g16xlarge is a InstanceType enum value + InstanceTypeR6g16xlarge = "r6g.16xlarge" + + // InstanceTypeR6gMetal is a InstanceType enum value + InstanceTypeR6gMetal = "r6g.metal" + + // InstanceTypeR6gdMedium is a InstanceType enum value + InstanceTypeR6gdMedium = "r6gd.medium" + + // InstanceTypeR6gdLarge is a InstanceType enum value + InstanceTypeR6gdLarge = "r6gd.large" + + // InstanceTypeR6gdXlarge is a InstanceType enum value + InstanceTypeR6gdXlarge = "r6gd.xlarge" + + // InstanceTypeR6gd2xlarge is a InstanceType enum value + InstanceTypeR6gd2xlarge = "r6gd.2xlarge" + + // InstanceTypeR6gd4xlarge is a InstanceType enum value + InstanceTypeR6gd4xlarge = "r6gd.4xlarge" + + // InstanceTypeR6gd8xlarge is a InstanceType enum value + InstanceTypeR6gd8xlarge = "r6gd.8xlarge" + + // InstanceTypeR6gd12xlarge is a InstanceType enum value + InstanceTypeR6gd12xlarge = "r6gd.12xlarge" + + // InstanceTypeR6gd16xlarge is a InstanceType enum value + InstanceTypeR6gd16xlarge = "r6gd.16xlarge" + + // InstanceTypeR6gdMetal is a InstanceType enum value + InstanceTypeR6gdMetal = "r6gd.metal" + + // InstanceTypeT1Micro is a InstanceType enum value + InstanceTypeT1Micro = "t1.micro" + + // InstanceTypeT2Nano is a InstanceType enum value + InstanceTypeT2Nano = "t2.nano" + + // InstanceTypeT2Micro is a InstanceType enum value + InstanceTypeT2Micro = "t2.micro" + + // InstanceTypeT2Small is a InstanceType enum value + InstanceTypeT2Small = "t2.small" + + // InstanceTypeT2Medium is a InstanceType enum value + InstanceTypeT2Medium = "t2.medium" + + // InstanceTypeT2Large is a InstanceType enum value + InstanceTypeT2Large = "t2.large" + + // InstanceTypeT2Xlarge is a InstanceType enum value + InstanceTypeT2Xlarge = "t2.xlarge" + + // InstanceTypeT22xlarge is a InstanceType enum value + InstanceTypeT22xlarge = "t2.2xlarge" + + // InstanceTypeT3Nano is a InstanceType enum value + InstanceTypeT3Nano = "t3.nano" + + // InstanceTypeT3Micro is a InstanceType enum value + InstanceTypeT3Micro = "t3.micro" + + // InstanceTypeT3Small is a InstanceType enum value + InstanceTypeT3Small = "t3.small" + + // InstanceTypeT3Medium is a InstanceType enum value + InstanceTypeT3Medium = "t3.medium" + + // InstanceTypeT3Large is a InstanceType enum value + InstanceTypeT3Large = "t3.large" + + // InstanceTypeT3Xlarge is a InstanceType enum value + InstanceTypeT3Xlarge = "t3.xlarge" + + // InstanceTypeT32xlarge is a InstanceType enum value + InstanceTypeT32xlarge = "t3.2xlarge" + + // InstanceTypeT3aNano is a InstanceType enum value + InstanceTypeT3aNano = "t3a.nano" + + // InstanceTypeT3aMicro is a InstanceType enum value + InstanceTypeT3aMicro = "t3a.micro" + + // InstanceTypeT3aSmall is a InstanceType enum value + InstanceTypeT3aSmall = "t3a.small" + + // InstanceTypeT3aMedium is a InstanceType enum value + InstanceTypeT3aMedium = "t3a.medium" + + // InstanceTypeT3aLarge is a InstanceType enum value + InstanceTypeT3aLarge = "t3a.large" + + // InstanceTypeT3aXlarge is a InstanceType enum value + InstanceTypeT3aXlarge = "t3a.xlarge" + + // InstanceTypeT3a2xlarge is a InstanceType enum value + InstanceTypeT3a2xlarge = "t3a.2xlarge" + + // InstanceTypeT4gNano is a InstanceType enum value + InstanceTypeT4gNano = "t4g.nano" + + // InstanceTypeT4gMicro is a InstanceType enum value + InstanceTypeT4gMicro = "t4g.micro" + + // InstanceTypeT4gSmall is a InstanceType enum value + InstanceTypeT4gSmall = "t4g.small" + + // InstanceTypeT4gMedium is a InstanceType enum value + InstanceTypeT4gMedium = "t4g.medium" + + // InstanceTypeT4gLarge is a InstanceType enum value + InstanceTypeT4gLarge = "t4g.large" + + // InstanceTypeT4gXlarge is a InstanceType enum value + InstanceTypeT4gXlarge = "t4g.xlarge" + + // InstanceTypeT4g2xlarge is a InstanceType enum value + InstanceTypeT4g2xlarge = "t4g.2xlarge" + + // InstanceTypeU6tb156xlarge is a InstanceType enum value + InstanceTypeU6tb156xlarge = "u-6tb1.56xlarge" + + // InstanceTypeU6tb1112xlarge is a InstanceType enum value + InstanceTypeU6tb1112xlarge = "u-6tb1.112xlarge" + + // InstanceTypeU9tb1112xlarge is a InstanceType enum value + InstanceTypeU9tb1112xlarge = "u-9tb1.112xlarge" + + // InstanceTypeU12tb1112xlarge is a InstanceType enum value + InstanceTypeU12tb1112xlarge = "u-12tb1.112xlarge" + + // InstanceTypeU6tb1Metal is a InstanceType enum value + InstanceTypeU6tb1Metal = "u-6tb1.metal" + + // InstanceTypeU9tb1Metal is a InstanceType enum value + InstanceTypeU9tb1Metal = "u-9tb1.metal" + + // InstanceTypeU12tb1Metal is a InstanceType enum value + InstanceTypeU12tb1Metal = "u-12tb1.metal" + + // InstanceTypeU18tb1Metal is a InstanceType enum value + InstanceTypeU18tb1Metal = "u-18tb1.metal" + + // InstanceTypeU24tb1Metal is a InstanceType enum value + InstanceTypeU24tb1Metal = "u-24tb1.metal" + + // InstanceTypeVt13xlarge is a InstanceType enum value + InstanceTypeVt13xlarge = "vt1.3xlarge" + + // InstanceTypeVt16xlarge is a InstanceType enum value + InstanceTypeVt16xlarge = "vt1.6xlarge" + + // InstanceTypeVt124xlarge is a InstanceType enum value + InstanceTypeVt124xlarge = "vt1.24xlarge" + + // InstanceTypeX116xlarge is a InstanceType enum value + InstanceTypeX116xlarge = "x1.16xlarge" + + // InstanceTypeX132xlarge is a InstanceType enum value + InstanceTypeX132xlarge = "x1.32xlarge" + + // InstanceTypeX1eXlarge is a InstanceType enum value + InstanceTypeX1eXlarge = "x1e.xlarge" + + // InstanceTypeX1e2xlarge is a InstanceType enum value + InstanceTypeX1e2xlarge = "x1e.2xlarge" + + // InstanceTypeX1e4xlarge is a InstanceType enum value + InstanceTypeX1e4xlarge = "x1e.4xlarge" + + // InstanceTypeX1e8xlarge is a InstanceType enum value + InstanceTypeX1e8xlarge = "x1e.8xlarge" + + // InstanceTypeX1e16xlarge is a InstanceType enum value + InstanceTypeX1e16xlarge = "x1e.16xlarge" + + // InstanceTypeX1e32xlarge is a InstanceType enum value + InstanceTypeX1e32xlarge = "x1e.32xlarge" + // InstanceTypeX2gdMedium is a InstanceType enum value InstanceTypeX2gdMedium = "x2gd.medium" @@ -149503,191 +163203,37 @@ const ( // InstanceTypeX2gdMetal is a InstanceType enum value InstanceTypeX2gdMetal = "x2gd.metal" - // InstanceTypeVt13xlarge is a InstanceType enum value - InstanceTypeVt13xlarge = "vt1.3xlarge" + // InstanceTypeZ1dLarge is a InstanceType enum value + InstanceTypeZ1dLarge = "z1d.large" - // InstanceTypeVt16xlarge is a InstanceType enum value - InstanceTypeVt16xlarge = "vt1.6xlarge" + // InstanceTypeZ1dXlarge is a InstanceType enum value + InstanceTypeZ1dXlarge = "z1d.xlarge" - // InstanceTypeVt124xlarge is a InstanceType enum value - InstanceTypeVt124xlarge = "vt1.24xlarge" + // InstanceTypeZ1d2xlarge is a InstanceType enum value + InstanceTypeZ1d2xlarge = "z1d.2xlarge" - // InstanceTypeG5Xlarge is a InstanceType enum value - InstanceTypeG5Xlarge = "g5.xlarge" + // InstanceTypeZ1d3xlarge is a InstanceType enum value + InstanceTypeZ1d3xlarge = "z1d.3xlarge" - // InstanceTypeG52xlarge is a InstanceType enum value - InstanceTypeG52xlarge = "g5.2xlarge" + // InstanceTypeZ1d6xlarge is a InstanceType enum value + InstanceTypeZ1d6xlarge = "z1d.6xlarge" - // InstanceTypeG54xlarge is a InstanceType enum value - InstanceTypeG54xlarge = "g5.4xlarge" + // InstanceTypeZ1d12xlarge is a InstanceType enum value + InstanceTypeZ1d12xlarge = "z1d.12xlarge" - // InstanceTypeG58xlarge is a InstanceType enum value - InstanceTypeG58xlarge = "g5.8xlarge" - - // InstanceTypeG512xlarge is a InstanceType enum value - InstanceTypeG512xlarge = "g5.12xlarge" - - // InstanceTypeG516xlarge is a InstanceType enum value - InstanceTypeG516xlarge = "g5.16xlarge" - - // InstanceTypeG524xlarge is a InstanceType enum value - InstanceTypeG524xlarge = "g5.24xlarge" - - // InstanceTypeG548xlarge is a InstanceType enum value - InstanceTypeG548xlarge = "g5.48xlarge" + // InstanceTypeZ1dMetal is a InstanceType enum value + InstanceTypeZ1dMetal = "z1d.metal" ) // InstanceType_Values returns all elements of the InstanceType enum func InstanceType_Values() []string { return []string{ - InstanceTypeT1Micro, - InstanceTypeT2Nano, - InstanceTypeT2Micro, - InstanceTypeT2Small, - InstanceTypeT2Medium, - InstanceTypeT2Large, - InstanceTypeT2Xlarge, - InstanceTypeT22xlarge, - InstanceTypeT3Nano, - InstanceTypeT3Micro, - InstanceTypeT3Small, - InstanceTypeT3Medium, - InstanceTypeT3Large, - InstanceTypeT3Xlarge, - InstanceTypeT32xlarge, - InstanceTypeT3aNano, - InstanceTypeT3aMicro, - InstanceTypeT3aSmall, - InstanceTypeT3aMedium, - InstanceTypeT3aLarge, - InstanceTypeT3aXlarge, - InstanceTypeT3a2xlarge, - InstanceTypeT4gNano, - InstanceTypeT4gMicro, - InstanceTypeT4gSmall, - InstanceTypeT4gMedium, - InstanceTypeT4gLarge, - InstanceTypeT4gXlarge, - InstanceTypeT4g2xlarge, - InstanceTypeM1Small, - InstanceTypeM1Medium, - InstanceTypeM1Large, - InstanceTypeM1Xlarge, - InstanceTypeM3Medium, - InstanceTypeM3Large, - InstanceTypeM3Xlarge, - InstanceTypeM32xlarge, - InstanceTypeM4Large, - InstanceTypeM4Xlarge, - InstanceTypeM42xlarge, - InstanceTypeM44xlarge, - InstanceTypeM410xlarge, - InstanceTypeM416xlarge, - InstanceTypeM2Xlarge, - InstanceTypeM22xlarge, - InstanceTypeM24xlarge, - InstanceTypeCr18xlarge, - InstanceTypeR3Large, - InstanceTypeR3Xlarge, - InstanceTypeR32xlarge, - InstanceTypeR34xlarge, - InstanceTypeR38xlarge, - InstanceTypeR4Large, - InstanceTypeR4Xlarge, - InstanceTypeR42xlarge, - InstanceTypeR44xlarge, - InstanceTypeR48xlarge, - InstanceTypeR416xlarge, - InstanceTypeR5Large, - InstanceTypeR5Xlarge, - InstanceTypeR52xlarge, - InstanceTypeR54xlarge, - InstanceTypeR58xlarge, - InstanceTypeR512xlarge, - InstanceTypeR516xlarge, - InstanceTypeR524xlarge, - InstanceTypeR5Metal, - InstanceTypeR5aLarge, - InstanceTypeR5aXlarge, - InstanceTypeR5a2xlarge, - InstanceTypeR5a4xlarge, - InstanceTypeR5a8xlarge, - InstanceTypeR5a12xlarge, - InstanceTypeR5a16xlarge, - InstanceTypeR5a24xlarge, - InstanceTypeR5bLarge, - InstanceTypeR5bXlarge, - InstanceTypeR5b2xlarge, - InstanceTypeR5b4xlarge, - InstanceTypeR5b8xlarge, - InstanceTypeR5b12xlarge, - InstanceTypeR5b16xlarge, - InstanceTypeR5b24xlarge, - InstanceTypeR5bMetal, - InstanceTypeR5dLarge, - InstanceTypeR5dXlarge, - InstanceTypeR5d2xlarge, - InstanceTypeR5d4xlarge, - InstanceTypeR5d8xlarge, - InstanceTypeR5d12xlarge, - InstanceTypeR5d16xlarge, - InstanceTypeR5d24xlarge, - InstanceTypeR5dMetal, - InstanceTypeR5adLarge, - InstanceTypeR5adXlarge, - InstanceTypeR5ad2xlarge, - InstanceTypeR5ad4xlarge, - InstanceTypeR5ad8xlarge, - InstanceTypeR5ad12xlarge, - InstanceTypeR5ad16xlarge, - InstanceTypeR5ad24xlarge, - InstanceTypeR6gMetal, - InstanceTypeR6gMedium, - InstanceTypeR6gLarge, - InstanceTypeR6gXlarge, - InstanceTypeR6g2xlarge, - InstanceTypeR6g4xlarge, - InstanceTypeR6g8xlarge, - InstanceTypeR6g12xlarge, - InstanceTypeR6g16xlarge, - InstanceTypeR6gdMetal, - InstanceTypeR6gdMedium, - InstanceTypeR6gdLarge, - InstanceTypeR6gdXlarge, - InstanceTypeR6gd2xlarge, - InstanceTypeR6gd4xlarge, - InstanceTypeR6gd8xlarge, - InstanceTypeR6gd12xlarge, - InstanceTypeR6gd16xlarge, - InstanceTypeX116xlarge, - InstanceTypeX132xlarge, - InstanceTypeX1eXlarge, - InstanceTypeX1e2xlarge, - InstanceTypeX1e4xlarge, - InstanceTypeX1e8xlarge, - InstanceTypeX1e16xlarge, - InstanceTypeX1e32xlarge, - InstanceTypeI2Xlarge, - InstanceTypeI22xlarge, - InstanceTypeI24xlarge, - InstanceTypeI28xlarge, - InstanceTypeI3Large, - InstanceTypeI3Xlarge, - InstanceTypeI32xlarge, - InstanceTypeI34xlarge, - InstanceTypeI38xlarge, - InstanceTypeI316xlarge, - InstanceTypeI3Metal, - InstanceTypeI3enLarge, - InstanceTypeI3enXlarge, - InstanceTypeI3en2xlarge, - InstanceTypeI3en3xlarge, - InstanceTypeI3en6xlarge, - InstanceTypeI3en12xlarge, - InstanceTypeI3en24xlarge, - InstanceTypeI3enMetal, - InstanceTypeHi14xlarge, - InstanceTypeHs18xlarge, + InstanceTypeA1Medium, + InstanceTypeA1Large, + InstanceTypeA1Xlarge, + InstanceTypeA12xlarge, + InstanceTypeA14xlarge, + InstanceTypeA1Metal, InstanceTypeC1Medium, InstanceTypeC1Xlarge, InstanceTypeC3Large, @@ -149741,7 +163287,6 @@ func InstanceType_Values() []string { InstanceTypeC5n9xlarge, InstanceTypeC5n18xlarge, InstanceTypeC5nMetal, - InstanceTypeC6gMetal, InstanceTypeC6gMedium, InstanceTypeC6gLarge, InstanceTypeC6gXlarge, @@ -149750,7 +163295,7 @@ func InstanceType_Values() []string { InstanceTypeC6g8xlarge, InstanceTypeC6g12xlarge, InstanceTypeC6g16xlarge, - InstanceTypeC6gdMetal, + InstanceTypeC6gMetal, InstanceTypeC6gdMedium, InstanceTypeC6gdLarge, InstanceTypeC6gdXlarge, @@ -149759,6 +163304,7 @@ func InstanceType_Values() []string { InstanceTypeC6gd8xlarge, InstanceTypeC6gd12xlarge, InstanceTypeC6gd16xlarge, + InstanceTypeC6gdMetal, InstanceTypeC6gnMedium, InstanceTypeC6gnLarge, InstanceTypeC6gnXlarge, @@ -149778,33 +163324,8 @@ func InstanceType_Values() []string { InstanceTypeC6i32xlarge, InstanceTypeCc14xlarge, InstanceTypeCc28xlarge, - InstanceTypeG22xlarge, - InstanceTypeG28xlarge, - InstanceTypeG34xlarge, - InstanceTypeG38xlarge, - InstanceTypeG316xlarge, - InstanceTypeG3sXlarge, - InstanceTypeG4adXlarge, - InstanceTypeG4ad2xlarge, - InstanceTypeG4ad4xlarge, - InstanceTypeG4ad8xlarge, - InstanceTypeG4ad16xlarge, - InstanceTypeG4dnXlarge, - InstanceTypeG4dn2xlarge, - InstanceTypeG4dn4xlarge, - InstanceTypeG4dn8xlarge, - InstanceTypeG4dn12xlarge, - InstanceTypeG4dn16xlarge, - InstanceTypeG4dnMetal, InstanceTypeCg14xlarge, - InstanceTypeP2Xlarge, - InstanceTypeP28xlarge, - InstanceTypeP216xlarge, - InstanceTypeP32xlarge, - InstanceTypeP38xlarge, - InstanceTypeP316xlarge, - InstanceTypeP3dn24xlarge, - InstanceTypeP4d24xlarge, + InstanceTypeCr18xlarge, InstanceTypeD2Xlarge, InstanceTypeD22xlarge, InstanceTypeD24xlarge, @@ -149823,6 +163344,97 @@ func InstanceType_Values() []string { InstanceTypeF12xlarge, InstanceTypeF14xlarge, InstanceTypeF116xlarge, + InstanceTypeG22xlarge, + InstanceTypeG28xlarge, + InstanceTypeG34xlarge, + InstanceTypeG38xlarge, + InstanceTypeG316xlarge, + InstanceTypeG3sXlarge, + InstanceTypeG4adXlarge, + InstanceTypeG4ad2xlarge, + InstanceTypeG4ad4xlarge, + InstanceTypeG4ad8xlarge, + InstanceTypeG4ad16xlarge, + InstanceTypeG4dnXlarge, + InstanceTypeG4dn2xlarge, + InstanceTypeG4dn4xlarge, + InstanceTypeG4dn8xlarge, + InstanceTypeG4dn12xlarge, + InstanceTypeG4dn16xlarge, + InstanceTypeG4dnMetal, + InstanceTypeG5Xlarge, + InstanceTypeG52xlarge, + InstanceTypeG54xlarge, + InstanceTypeG58xlarge, + InstanceTypeG512xlarge, + InstanceTypeG516xlarge, + InstanceTypeG524xlarge, + InstanceTypeG548xlarge, + InstanceTypeG5gXlarge, + InstanceTypeG5g2xlarge, + InstanceTypeG5g4xlarge, + InstanceTypeG5g8xlarge, + InstanceTypeG5g16xlarge, + InstanceTypeG5gMetal, + InstanceTypeHi14xlarge, + InstanceTypeHpc6a48xlarge, + InstanceTypeHs18xlarge, + InstanceTypeH12xlarge, + InstanceTypeH14xlarge, + InstanceTypeH18xlarge, + InstanceTypeH116xlarge, + InstanceTypeI2Xlarge, + InstanceTypeI22xlarge, + InstanceTypeI24xlarge, + InstanceTypeI28xlarge, + InstanceTypeI3Large, + InstanceTypeI3Xlarge, + InstanceTypeI32xlarge, + InstanceTypeI34xlarge, + InstanceTypeI38xlarge, + InstanceTypeI316xlarge, + InstanceTypeI3Metal, + InstanceTypeI3enLarge, + InstanceTypeI3enXlarge, + InstanceTypeI3en2xlarge, + InstanceTypeI3en3xlarge, + InstanceTypeI3en6xlarge, + InstanceTypeI3en12xlarge, + InstanceTypeI3en24xlarge, + InstanceTypeI3enMetal, + InstanceTypeIm4gnLarge, + InstanceTypeIm4gnXlarge, + InstanceTypeIm4gn2xlarge, + InstanceTypeIm4gn4xlarge, + InstanceTypeIm4gn8xlarge, + InstanceTypeIm4gn16xlarge, + InstanceTypeInf1Xlarge, + InstanceTypeInf12xlarge, + InstanceTypeInf16xlarge, + InstanceTypeInf124xlarge, + InstanceTypeIs4genMedium, + InstanceTypeIs4genLarge, + InstanceTypeIs4genXlarge, + InstanceTypeIs4gen2xlarge, + InstanceTypeIs4gen4xlarge, + InstanceTypeIs4gen8xlarge, + InstanceTypeM1Small, + InstanceTypeM1Medium, + InstanceTypeM1Large, + InstanceTypeM1Xlarge, + InstanceTypeM2Xlarge, + InstanceTypeM22xlarge, + InstanceTypeM24xlarge, + InstanceTypeM3Medium, + InstanceTypeM3Large, + InstanceTypeM3Xlarge, + InstanceTypeM32xlarge, + InstanceTypeM4Large, + InstanceTypeM4Xlarge, + InstanceTypeM42xlarge, + InstanceTypeM44xlarge, + InstanceTypeM410xlarge, + InstanceTypeM416xlarge, InstanceTypeM5Large, InstanceTypeM5Xlarge, InstanceTypeM52xlarge, @@ -149840,6 +163452,14 @@ func InstanceType_Values() []string { InstanceTypeM5a12xlarge, InstanceTypeM5a16xlarge, InstanceTypeM5a24xlarge, + InstanceTypeM5adLarge, + InstanceTypeM5adXlarge, + InstanceTypeM5ad2xlarge, + InstanceTypeM5ad4xlarge, + InstanceTypeM5ad8xlarge, + InstanceTypeM5ad12xlarge, + InstanceTypeM5ad16xlarge, + InstanceTypeM5ad24xlarge, InstanceTypeM5dLarge, InstanceTypeM5dXlarge, InstanceTypeM5d2xlarge, @@ -149849,47 +163469,6 @@ func InstanceType_Values() []string { InstanceTypeM5d16xlarge, InstanceTypeM5d24xlarge, InstanceTypeM5dMetal, - InstanceTypeM5adLarge, - InstanceTypeM5adXlarge, - InstanceTypeM5ad2xlarge, - InstanceTypeM5ad4xlarge, - InstanceTypeM5ad8xlarge, - InstanceTypeM5ad12xlarge, - InstanceTypeM5ad16xlarge, - InstanceTypeM5ad24xlarge, - InstanceTypeM5znLarge, - InstanceTypeM5znXlarge, - InstanceTypeM5zn2xlarge, - InstanceTypeM5zn3xlarge, - InstanceTypeM5zn6xlarge, - InstanceTypeM5zn12xlarge, - InstanceTypeM5znMetal, - InstanceTypeH12xlarge, - InstanceTypeH14xlarge, - InstanceTypeH18xlarge, - InstanceTypeH116xlarge, - InstanceTypeZ1dLarge, - InstanceTypeZ1dXlarge, - InstanceTypeZ1d2xlarge, - InstanceTypeZ1d3xlarge, - InstanceTypeZ1d6xlarge, - InstanceTypeZ1d12xlarge, - InstanceTypeZ1dMetal, - InstanceTypeU6tb156xlarge, - InstanceTypeU6tb1112xlarge, - InstanceTypeU9tb1112xlarge, - InstanceTypeU12tb1112xlarge, - InstanceTypeU6tb1Metal, - InstanceTypeU9tb1Metal, - InstanceTypeU12tb1Metal, - InstanceTypeU18tb1Metal, - InstanceTypeU24tb1Metal, - InstanceTypeA1Medium, - InstanceTypeA1Large, - InstanceTypeA1Xlarge, - InstanceTypeA12xlarge, - InstanceTypeA14xlarge, - InstanceTypeA1Metal, InstanceTypeM5dnLarge, InstanceTypeM5dnXlarge, InstanceTypeM5dn2xlarge, @@ -149908,28 +163487,23 @@ func InstanceType_Values() []string { InstanceTypeM5n16xlarge, InstanceTypeM5n24xlarge, InstanceTypeM5nMetal, - InstanceTypeR5dnLarge, - InstanceTypeR5dnXlarge, - InstanceTypeR5dn2xlarge, - InstanceTypeR5dn4xlarge, - InstanceTypeR5dn8xlarge, - InstanceTypeR5dn12xlarge, - InstanceTypeR5dn16xlarge, - InstanceTypeR5dn24xlarge, - InstanceTypeR5dnMetal, - InstanceTypeR5nLarge, - InstanceTypeR5nXlarge, - InstanceTypeR5n2xlarge, - InstanceTypeR5n4xlarge, - InstanceTypeR5n8xlarge, - InstanceTypeR5n12xlarge, - InstanceTypeR5n16xlarge, - InstanceTypeR5n24xlarge, - InstanceTypeR5nMetal, - InstanceTypeInf1Xlarge, - InstanceTypeInf12xlarge, - InstanceTypeInf16xlarge, - InstanceTypeInf124xlarge, + InstanceTypeM5znLarge, + InstanceTypeM5znXlarge, + InstanceTypeM5zn2xlarge, + InstanceTypeM5zn3xlarge, + InstanceTypeM5zn6xlarge, + InstanceTypeM5zn12xlarge, + InstanceTypeM5znMetal, + InstanceTypeM6aLarge, + InstanceTypeM6aXlarge, + InstanceTypeM6a2xlarge, + InstanceTypeM6a4xlarge, + InstanceTypeM6a8xlarge, + InstanceTypeM6a12xlarge, + InstanceTypeM6a16xlarge, + InstanceTypeM6a24xlarge, + InstanceTypeM6a32xlarge, + InstanceTypeM6a48xlarge, InstanceTypeM6gMetal, InstanceTypeM6gMedium, InstanceTypeM6gLarge, @@ -149958,6 +163532,153 @@ func InstanceType_Values() []string { InstanceTypeM6i24xlarge, InstanceTypeM6i32xlarge, InstanceTypeMac1Metal, + InstanceTypeP2Xlarge, + InstanceTypeP28xlarge, + InstanceTypeP216xlarge, + InstanceTypeP32xlarge, + InstanceTypeP38xlarge, + InstanceTypeP316xlarge, + InstanceTypeP3dn24xlarge, + InstanceTypeP4d24xlarge, + InstanceTypeR3Large, + InstanceTypeR3Xlarge, + InstanceTypeR32xlarge, + InstanceTypeR34xlarge, + InstanceTypeR38xlarge, + InstanceTypeR4Large, + InstanceTypeR4Xlarge, + InstanceTypeR42xlarge, + InstanceTypeR44xlarge, + InstanceTypeR48xlarge, + InstanceTypeR416xlarge, + InstanceTypeR5Large, + InstanceTypeR5Xlarge, + InstanceTypeR52xlarge, + InstanceTypeR54xlarge, + InstanceTypeR58xlarge, + InstanceTypeR512xlarge, + InstanceTypeR516xlarge, + InstanceTypeR524xlarge, + InstanceTypeR5Metal, + InstanceTypeR5aLarge, + InstanceTypeR5aXlarge, + InstanceTypeR5a2xlarge, + InstanceTypeR5a4xlarge, + InstanceTypeR5a8xlarge, + InstanceTypeR5a12xlarge, + InstanceTypeR5a16xlarge, + InstanceTypeR5a24xlarge, + InstanceTypeR5adLarge, + InstanceTypeR5adXlarge, + InstanceTypeR5ad2xlarge, + InstanceTypeR5ad4xlarge, + InstanceTypeR5ad8xlarge, + InstanceTypeR5ad12xlarge, + InstanceTypeR5ad16xlarge, + InstanceTypeR5ad24xlarge, + InstanceTypeR5bLarge, + InstanceTypeR5bXlarge, + InstanceTypeR5b2xlarge, + InstanceTypeR5b4xlarge, + InstanceTypeR5b8xlarge, + InstanceTypeR5b12xlarge, + InstanceTypeR5b16xlarge, + InstanceTypeR5b24xlarge, + InstanceTypeR5bMetal, + InstanceTypeR5dLarge, + InstanceTypeR5dXlarge, + InstanceTypeR5d2xlarge, + InstanceTypeR5d4xlarge, + InstanceTypeR5d8xlarge, + InstanceTypeR5d12xlarge, + InstanceTypeR5d16xlarge, + InstanceTypeR5d24xlarge, + InstanceTypeR5dMetal, + InstanceTypeR5dnLarge, + InstanceTypeR5dnXlarge, + InstanceTypeR5dn2xlarge, + InstanceTypeR5dn4xlarge, + InstanceTypeR5dn8xlarge, + InstanceTypeR5dn12xlarge, + InstanceTypeR5dn16xlarge, + InstanceTypeR5dn24xlarge, + InstanceTypeR5dnMetal, + InstanceTypeR5nLarge, + InstanceTypeR5nXlarge, + InstanceTypeR5n2xlarge, + InstanceTypeR5n4xlarge, + InstanceTypeR5n8xlarge, + InstanceTypeR5n12xlarge, + InstanceTypeR5n16xlarge, + InstanceTypeR5n24xlarge, + InstanceTypeR5nMetal, + InstanceTypeR6gMedium, + InstanceTypeR6gLarge, + InstanceTypeR6gXlarge, + InstanceTypeR6g2xlarge, + InstanceTypeR6g4xlarge, + InstanceTypeR6g8xlarge, + InstanceTypeR6g12xlarge, + InstanceTypeR6g16xlarge, + InstanceTypeR6gMetal, + InstanceTypeR6gdMedium, + InstanceTypeR6gdLarge, + InstanceTypeR6gdXlarge, + InstanceTypeR6gd2xlarge, + InstanceTypeR6gd4xlarge, + InstanceTypeR6gd8xlarge, + InstanceTypeR6gd12xlarge, + InstanceTypeR6gd16xlarge, + InstanceTypeR6gdMetal, + InstanceTypeT1Micro, + InstanceTypeT2Nano, + InstanceTypeT2Micro, + InstanceTypeT2Small, + InstanceTypeT2Medium, + InstanceTypeT2Large, + InstanceTypeT2Xlarge, + InstanceTypeT22xlarge, + InstanceTypeT3Nano, + InstanceTypeT3Micro, + InstanceTypeT3Small, + InstanceTypeT3Medium, + InstanceTypeT3Large, + InstanceTypeT3Xlarge, + InstanceTypeT32xlarge, + InstanceTypeT3aNano, + InstanceTypeT3aMicro, + InstanceTypeT3aSmall, + InstanceTypeT3aMedium, + InstanceTypeT3aLarge, + InstanceTypeT3aXlarge, + InstanceTypeT3a2xlarge, + InstanceTypeT4gNano, + InstanceTypeT4gMicro, + InstanceTypeT4gSmall, + InstanceTypeT4gMedium, + InstanceTypeT4gLarge, + InstanceTypeT4gXlarge, + InstanceTypeT4g2xlarge, + InstanceTypeU6tb156xlarge, + InstanceTypeU6tb1112xlarge, + InstanceTypeU9tb1112xlarge, + InstanceTypeU12tb1112xlarge, + InstanceTypeU6tb1Metal, + InstanceTypeU9tb1Metal, + InstanceTypeU12tb1Metal, + InstanceTypeU18tb1Metal, + InstanceTypeU24tb1Metal, + InstanceTypeVt13xlarge, + InstanceTypeVt16xlarge, + InstanceTypeVt124xlarge, + InstanceTypeX116xlarge, + InstanceTypeX132xlarge, + InstanceTypeX1eXlarge, + InstanceTypeX1e2xlarge, + InstanceTypeX1e4xlarge, + InstanceTypeX1e8xlarge, + InstanceTypeX1e16xlarge, + InstanceTypeX1e32xlarge, InstanceTypeX2gdMedium, InstanceTypeX2gdLarge, InstanceTypeX2gdXlarge, @@ -149967,17 +163688,13 @@ func InstanceType_Values() []string { InstanceTypeX2gd12xlarge, InstanceTypeX2gd16xlarge, InstanceTypeX2gdMetal, - InstanceTypeVt13xlarge, - InstanceTypeVt16xlarge, - InstanceTypeVt124xlarge, - InstanceTypeG5Xlarge, - InstanceTypeG52xlarge, - InstanceTypeG54xlarge, - InstanceTypeG58xlarge, - InstanceTypeG512xlarge, - InstanceTypeG516xlarge, - InstanceTypeG524xlarge, - InstanceTypeG548xlarge, + InstanceTypeZ1dLarge, + InstanceTypeZ1dXlarge, + InstanceTypeZ1d2xlarge, + InstanceTypeZ1d3xlarge, + InstanceTypeZ1d6xlarge, + InstanceTypeZ1d12xlarge, + InstanceTypeZ1dMetal, } } @@ -150029,6 +163746,362 @@ func InterfaceProtocolType_Values() []string { } } +const ( + // IpamAddressHistoryResourceTypeEip is a IpamAddressHistoryResourceType enum value + IpamAddressHistoryResourceTypeEip = "eip" + + // IpamAddressHistoryResourceTypeVpc is a IpamAddressHistoryResourceType enum value + IpamAddressHistoryResourceTypeVpc = "vpc" + + // IpamAddressHistoryResourceTypeSubnet is a IpamAddressHistoryResourceType enum value + IpamAddressHistoryResourceTypeSubnet = "subnet" + + // IpamAddressHistoryResourceTypeNetworkInterface is a IpamAddressHistoryResourceType enum value + IpamAddressHistoryResourceTypeNetworkInterface = "network-interface" + + // IpamAddressHistoryResourceTypeInstance is a IpamAddressHistoryResourceType enum value + IpamAddressHistoryResourceTypeInstance = "instance" +) + +// IpamAddressHistoryResourceType_Values returns all elements of the IpamAddressHistoryResourceType enum +func IpamAddressHistoryResourceType_Values() []string { + return []string{ + IpamAddressHistoryResourceTypeEip, + IpamAddressHistoryResourceTypeVpc, + IpamAddressHistoryResourceTypeSubnet, + IpamAddressHistoryResourceTypeNetworkInterface, + IpamAddressHistoryResourceTypeInstance, + } +} + +const ( + // IpamComplianceStatusCompliant is a IpamComplianceStatus enum value + IpamComplianceStatusCompliant = "compliant" + + // IpamComplianceStatusNoncompliant is a IpamComplianceStatus enum value + IpamComplianceStatusNoncompliant = "noncompliant" + + // IpamComplianceStatusUnmanaged is a IpamComplianceStatus enum value + IpamComplianceStatusUnmanaged = "unmanaged" + + // IpamComplianceStatusIgnored is a IpamComplianceStatus enum value + IpamComplianceStatusIgnored = "ignored" +) + +// IpamComplianceStatus_Values returns all elements of the IpamComplianceStatus enum +func IpamComplianceStatus_Values() []string { + return []string{ + IpamComplianceStatusCompliant, + IpamComplianceStatusNoncompliant, + IpamComplianceStatusUnmanaged, + IpamComplianceStatusIgnored, + } +} + +const ( + // IpamManagementStateManaged is a IpamManagementState enum value + IpamManagementStateManaged = "managed" + + // IpamManagementStateUnmanaged is a IpamManagementState enum value + IpamManagementStateUnmanaged = "unmanaged" + + // IpamManagementStateIgnored is a IpamManagementState enum value + IpamManagementStateIgnored = "ignored" +) + +// IpamManagementState_Values returns all elements of the IpamManagementState enum +func IpamManagementState_Values() []string { + return []string{ + IpamManagementStateManaged, + IpamManagementStateUnmanaged, + IpamManagementStateIgnored, + } +} + +const ( + // IpamOverlapStatusOverlapping is a IpamOverlapStatus enum value + IpamOverlapStatusOverlapping = "overlapping" + + // IpamOverlapStatusNonoverlapping is a IpamOverlapStatus enum value + IpamOverlapStatusNonoverlapping = "nonoverlapping" + + // IpamOverlapStatusIgnored is a IpamOverlapStatus enum value + IpamOverlapStatusIgnored = "ignored" +) + +// IpamOverlapStatus_Values returns all elements of the IpamOverlapStatus enum +func IpamOverlapStatus_Values() []string { + return []string{ + IpamOverlapStatusOverlapping, + IpamOverlapStatusNonoverlapping, + IpamOverlapStatusIgnored, + } +} + +const ( + // IpamPoolAllocationResourceTypeIpamPool is a IpamPoolAllocationResourceType enum value + IpamPoolAllocationResourceTypeIpamPool = "ipam-pool" + + // IpamPoolAllocationResourceTypeVpc is a IpamPoolAllocationResourceType enum value + IpamPoolAllocationResourceTypeVpc = "vpc" + + // IpamPoolAllocationResourceTypeEc2PublicIpv4Pool is a IpamPoolAllocationResourceType enum value + IpamPoolAllocationResourceTypeEc2PublicIpv4Pool = "ec2-public-ipv4-pool" + + // IpamPoolAllocationResourceTypeCustom is a IpamPoolAllocationResourceType enum value + IpamPoolAllocationResourceTypeCustom = "custom" +) + +// IpamPoolAllocationResourceType_Values returns all elements of the IpamPoolAllocationResourceType enum +func IpamPoolAllocationResourceType_Values() []string { + return []string{ + IpamPoolAllocationResourceTypeIpamPool, + IpamPoolAllocationResourceTypeVpc, + IpamPoolAllocationResourceTypeEc2PublicIpv4Pool, + IpamPoolAllocationResourceTypeCustom, + } +} + +const ( + // IpamPoolAwsServiceEc2 is a IpamPoolAwsService enum value + IpamPoolAwsServiceEc2 = "ec2" +) + +// IpamPoolAwsService_Values returns all elements of the IpamPoolAwsService enum +func IpamPoolAwsService_Values() []string { + return []string{ + IpamPoolAwsServiceEc2, + } +} + +const ( + // IpamPoolCidrFailureCodeCidrNotAvailable is a IpamPoolCidrFailureCode enum value + IpamPoolCidrFailureCodeCidrNotAvailable = "cidr-not-available" +) + +// IpamPoolCidrFailureCode_Values returns all elements of the IpamPoolCidrFailureCode enum +func IpamPoolCidrFailureCode_Values() []string { + return []string{ + IpamPoolCidrFailureCodeCidrNotAvailable, + } +} + +const ( + // IpamPoolCidrStatePendingProvision is a IpamPoolCidrState enum value + IpamPoolCidrStatePendingProvision = "pending-provision" + + // IpamPoolCidrStateProvisioned is a IpamPoolCidrState enum value + IpamPoolCidrStateProvisioned = "provisioned" + + // IpamPoolCidrStateFailedProvision is a IpamPoolCidrState enum value + IpamPoolCidrStateFailedProvision = "failed-provision" + + // IpamPoolCidrStatePendingDeprovision is a IpamPoolCidrState enum value + IpamPoolCidrStatePendingDeprovision = "pending-deprovision" + + // IpamPoolCidrStateDeprovisioned is a IpamPoolCidrState enum value + IpamPoolCidrStateDeprovisioned = "deprovisioned" + + // IpamPoolCidrStateFailedDeprovision is a IpamPoolCidrState enum value + IpamPoolCidrStateFailedDeprovision = "failed-deprovision" + + // IpamPoolCidrStatePendingImport is a IpamPoolCidrState enum value + IpamPoolCidrStatePendingImport = "pending-import" + + // IpamPoolCidrStateFailedImport is a IpamPoolCidrState enum value + IpamPoolCidrStateFailedImport = "failed-import" +) + +// IpamPoolCidrState_Values returns all elements of the IpamPoolCidrState enum +func IpamPoolCidrState_Values() []string { + return []string{ + IpamPoolCidrStatePendingProvision, + IpamPoolCidrStateProvisioned, + IpamPoolCidrStateFailedProvision, + IpamPoolCidrStatePendingDeprovision, + IpamPoolCidrStateDeprovisioned, + IpamPoolCidrStateFailedDeprovision, + IpamPoolCidrStatePendingImport, + IpamPoolCidrStateFailedImport, + } +} + +const ( + // IpamPoolStateCreateInProgress is a IpamPoolState enum value + IpamPoolStateCreateInProgress = "create-in-progress" + + // IpamPoolStateCreateComplete is a IpamPoolState enum value + IpamPoolStateCreateComplete = "create-complete" + + // IpamPoolStateCreateFailed is a IpamPoolState enum value + IpamPoolStateCreateFailed = "create-failed" + + // IpamPoolStateModifyInProgress is a IpamPoolState enum value + IpamPoolStateModifyInProgress = "modify-in-progress" + + // IpamPoolStateModifyComplete is a IpamPoolState enum value + IpamPoolStateModifyComplete = "modify-complete" + + // IpamPoolStateModifyFailed is a IpamPoolState enum value + IpamPoolStateModifyFailed = "modify-failed" + + // IpamPoolStateDeleteInProgress is a IpamPoolState enum value + IpamPoolStateDeleteInProgress = "delete-in-progress" + + // IpamPoolStateDeleteComplete is a IpamPoolState enum value + IpamPoolStateDeleteComplete = "delete-complete" + + // IpamPoolStateDeleteFailed is a IpamPoolState enum value + IpamPoolStateDeleteFailed = "delete-failed" +) + +// IpamPoolState_Values returns all elements of the IpamPoolState enum +func IpamPoolState_Values() []string { + return []string{ + IpamPoolStateCreateInProgress, + IpamPoolStateCreateComplete, + IpamPoolStateCreateFailed, + IpamPoolStateModifyInProgress, + IpamPoolStateModifyComplete, + IpamPoolStateModifyFailed, + IpamPoolStateDeleteInProgress, + IpamPoolStateDeleteComplete, + IpamPoolStateDeleteFailed, + } +} + +const ( + // IpamResourceTypeVpc is a IpamResourceType enum value + IpamResourceTypeVpc = "vpc" + + // IpamResourceTypeSubnet is a IpamResourceType enum value + IpamResourceTypeSubnet = "subnet" + + // IpamResourceTypeEip is a IpamResourceType enum value + IpamResourceTypeEip = "eip" + + // IpamResourceTypePublicIpv4Pool is a IpamResourceType enum value + IpamResourceTypePublicIpv4Pool = "public-ipv4-pool" + + // IpamResourceTypeIpv6Pool is a IpamResourceType enum value + IpamResourceTypeIpv6Pool = "ipv6-pool" +) + +// IpamResourceType_Values returns all elements of the IpamResourceType enum +func IpamResourceType_Values() []string { + return []string{ + IpamResourceTypeVpc, + IpamResourceTypeSubnet, + IpamResourceTypeEip, + IpamResourceTypePublicIpv4Pool, + IpamResourceTypeIpv6Pool, + } +} + +const ( + // IpamScopeStateCreateInProgress is a IpamScopeState enum value + IpamScopeStateCreateInProgress = "create-in-progress" + + // IpamScopeStateCreateComplete is a IpamScopeState enum value + IpamScopeStateCreateComplete = "create-complete" + + // IpamScopeStateCreateFailed is a IpamScopeState enum value + IpamScopeStateCreateFailed = "create-failed" + + // IpamScopeStateModifyInProgress is a IpamScopeState enum value + IpamScopeStateModifyInProgress = "modify-in-progress" + + // IpamScopeStateModifyComplete is a IpamScopeState enum value + IpamScopeStateModifyComplete = "modify-complete" + + // IpamScopeStateModifyFailed is a IpamScopeState enum value + IpamScopeStateModifyFailed = "modify-failed" + + // IpamScopeStateDeleteInProgress is a IpamScopeState enum value + IpamScopeStateDeleteInProgress = "delete-in-progress" + + // IpamScopeStateDeleteComplete is a IpamScopeState enum value + IpamScopeStateDeleteComplete = "delete-complete" + + // IpamScopeStateDeleteFailed is a IpamScopeState enum value + IpamScopeStateDeleteFailed = "delete-failed" +) + +// IpamScopeState_Values returns all elements of the IpamScopeState enum +func IpamScopeState_Values() []string { + return []string{ + IpamScopeStateCreateInProgress, + IpamScopeStateCreateComplete, + IpamScopeStateCreateFailed, + IpamScopeStateModifyInProgress, + IpamScopeStateModifyComplete, + IpamScopeStateModifyFailed, + IpamScopeStateDeleteInProgress, + IpamScopeStateDeleteComplete, + IpamScopeStateDeleteFailed, + } +} + +const ( + // IpamScopeTypePublic is a IpamScopeType enum value + IpamScopeTypePublic = "public" + + // IpamScopeTypePrivate is a IpamScopeType enum value + IpamScopeTypePrivate = "private" +) + +// IpamScopeType_Values returns all elements of the IpamScopeType enum +func IpamScopeType_Values() []string { + return []string{ + IpamScopeTypePublic, + IpamScopeTypePrivate, + } +} + +const ( + // IpamStateCreateInProgress is a IpamState enum value + IpamStateCreateInProgress = "create-in-progress" + + // IpamStateCreateComplete is a IpamState enum value + IpamStateCreateComplete = "create-complete" + + // IpamStateCreateFailed is a IpamState enum value + IpamStateCreateFailed = "create-failed" + + // IpamStateModifyInProgress is a IpamState enum value + IpamStateModifyInProgress = "modify-in-progress" + + // IpamStateModifyComplete is a IpamState enum value + IpamStateModifyComplete = "modify-complete" + + // IpamStateModifyFailed is a IpamState enum value + IpamStateModifyFailed = "modify-failed" + + // IpamStateDeleteInProgress is a IpamState enum value + IpamStateDeleteInProgress = "delete-in-progress" + + // IpamStateDeleteComplete is a IpamState enum value + IpamStateDeleteComplete = "delete-complete" + + // IpamStateDeleteFailed is a IpamState enum value + IpamStateDeleteFailed = "delete-failed" +) + +// IpamState_Values returns all elements of the IpamState enum +func IpamState_Values() []string { + return []string{ + IpamStateCreateInProgress, + IpamStateCreateComplete, + IpamStateCreateFailed, + IpamStateModifyInProgress, + IpamStateModifyComplete, + IpamStateModifyFailed, + IpamStateDeleteInProgress, + IpamStateDeleteComplete, + IpamStateDeleteFailed, + } +} + const ( // Ipv6SupportValueEnable is a Ipv6SupportValue enum value Ipv6SupportValueEnable = "enable" @@ -150157,6 +164230,22 @@ func LaunchTemplateInstanceMetadataProtocolIpv6_Values() []string { } } +const ( + // LaunchTemplateInstanceMetadataTagsStateDisabled is a LaunchTemplateInstanceMetadataTagsState enum value + LaunchTemplateInstanceMetadataTagsStateDisabled = "disabled" + + // LaunchTemplateInstanceMetadataTagsStateEnabled is a LaunchTemplateInstanceMetadataTagsState enum value + LaunchTemplateInstanceMetadataTagsStateEnabled = "enabled" +) + +// LaunchTemplateInstanceMetadataTagsState_Values returns all elements of the LaunchTemplateInstanceMetadataTagsState enum +func LaunchTemplateInstanceMetadataTagsState_Values() []string { + return []string{ + LaunchTemplateInstanceMetadataTagsStateDisabled, + LaunchTemplateInstanceMetadataTagsStateEnabled, + } +} + const ( // ListingStateAvailable is a ListingState enum value ListingStateAvailable = "available" @@ -150673,6 +164762,18 @@ func PartitionLoadFrequency_Values() []string { } } +const ( + // PayerResponsibilityServiceOwner is a PayerResponsibility enum value + PayerResponsibilityServiceOwner = "ServiceOwner" +) + +// PayerResponsibility_Values returns all elements of the PayerResponsibility enum +func PayerResponsibility_Values() []string { + return []string{ + PayerResponsibilityServiceOwner, + } +} + const ( // PaymentOptionAllUpfront is a PaymentOption enum value PaymentOptionAllUpfront = "AllUpfront" @@ -151198,6 +165299,15 @@ const ( // ResourceTypeInternetGateway is a ResourceType enum value ResourceTypeInternetGateway = "internet-gateway" + // ResourceTypeIpam is a ResourceType enum value + ResourceTypeIpam = "ipam" + + // ResourceTypeIpamPool is a ResourceType enum value + ResourceTypeIpamPool = "ipam-pool" + + // ResourceTypeIpamScope is a ResourceType enum value + ResourceTypeIpamScope = "ipam-scope" + // ResourceTypeIpv4poolEc2 is a ResourceType enum value ResourceTypeIpv4poolEc2 = "ipv4pool-ec2" @@ -151243,6 +165353,12 @@ const ( // ResourceTypeNetworkInsightsPath is a ResourceType enum value ResourceTypeNetworkInsightsPath = "network-insights-path" + // ResourceTypeNetworkInsightsAccessScope is a ResourceType enum value + ResourceTypeNetworkInsightsAccessScope = "network-insights-access-scope" + + // ResourceTypeNetworkInsightsAccessScopeAnalysis is a ResourceType enum value + ResourceTypeNetworkInsightsAccessScopeAnalysis = "network-insights-access-scope-analysis" + // ResourceTypePlacementGroup is a ResourceType enum value ResourceTypePlacementGroup = "placement-group" @@ -151348,6 +165464,9 @@ func ResourceType_Values() []string { ResourceTypeInstance, ResourceTypeInstanceEventWindow, ResourceTypeInternetGateway, + ResourceTypeIpam, + ResourceTypeIpamPool, + ResourceTypeIpamScope, ResourceTypeIpv4poolEc2, ResourceTypeIpv6poolEc2, ResourceTypeKeyPair, @@ -151363,6 +165482,8 @@ func ResourceType_Values() []string { ResourceTypeNetworkInterface, ResourceTypeNetworkInsightsAnalysis, ResourceTypeNetworkInsightsPath, + ResourceTypeNetworkInsightsAccessScope, + ResourceTypeNetworkInsightsAccessScopeAnalysis, ResourceTypePlacementGroup, ResourceTypePrefixList, ResourceTypeReplaceRootVolumeTask, @@ -151610,6 +165731,12 @@ const ( // SnapshotStateError is a SnapshotState enum value SnapshotStateError = "error" + + // SnapshotStateRecoverable is a SnapshotState enum value + SnapshotStateRecoverable = "recoverable" + + // SnapshotStateRecovering is a SnapshotState enum value + SnapshotStateRecovering = "recovering" ) // SnapshotState_Values returns all elements of the SnapshotState enum @@ -151618,6 +165745,8 @@ func SnapshotState_Values() []string { SnapshotStatePending, SnapshotStateCompleted, SnapshotStateError, + SnapshotStateRecoverable, + SnapshotStateRecovering, } } @@ -151821,6 +165950,22 @@ func StatusType_Values() []string { } } +const ( + // StorageTierArchive is a StorageTier enum value + StorageTierArchive = "archive" + + // StorageTierStandard is a StorageTier enum value + StorageTierStandard = "standard" +) + +// StorageTier_Values returns all elements of the StorageTier enum +func StorageTier_Values() []string { + return []string{ + StorageTierArchive, + StorageTierStandard, + } +} + const ( // SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value SubnetCidrBlockStateCodeAssociating = "associating" @@ -151933,6 +166078,18 @@ func TargetCapacityUnitType_Values() []string { } } +const ( + // TargetStorageTierArchive is a TargetStorageTier enum value + TargetStorageTierArchive = "archive" +) + +// TargetStorageTier_Values returns all elements of the TargetStorageTier enum +func TargetStorageTier_Values() []string { + return []string{ + TargetStorageTierArchive, + } +} + const ( // TelemetryStatusUp is a TelemetryStatus enum value TelemetryStatusUp = "UP" @@ -151969,6 +166126,50 @@ func Tenancy_Values() []string { } } +const ( + // TieringOperationStatusArchivalInProgress is a TieringOperationStatus enum value + TieringOperationStatusArchivalInProgress = "archival-in-progress" + + // TieringOperationStatusArchivalCompleted is a TieringOperationStatus enum value + TieringOperationStatusArchivalCompleted = "archival-completed" + + // TieringOperationStatusArchivalFailed is a TieringOperationStatus enum value + TieringOperationStatusArchivalFailed = "archival-failed" + + // TieringOperationStatusTemporaryRestoreInProgress is a TieringOperationStatus enum value + TieringOperationStatusTemporaryRestoreInProgress = "temporary-restore-in-progress" + + // TieringOperationStatusTemporaryRestoreCompleted is a TieringOperationStatus enum value + TieringOperationStatusTemporaryRestoreCompleted = "temporary-restore-completed" + + // TieringOperationStatusTemporaryRestoreFailed is a TieringOperationStatus enum value + TieringOperationStatusTemporaryRestoreFailed = "temporary-restore-failed" + + // TieringOperationStatusPermanentRestoreInProgress is a TieringOperationStatus enum value + TieringOperationStatusPermanentRestoreInProgress = "permanent-restore-in-progress" + + // TieringOperationStatusPermanentRestoreCompleted is a TieringOperationStatus enum value + TieringOperationStatusPermanentRestoreCompleted = "permanent-restore-completed" + + // TieringOperationStatusPermanentRestoreFailed is a TieringOperationStatus enum value + TieringOperationStatusPermanentRestoreFailed = "permanent-restore-failed" +) + +// TieringOperationStatus_Values returns all elements of the TieringOperationStatus enum +func TieringOperationStatus_Values() []string { + return []string{ + TieringOperationStatusArchivalInProgress, + TieringOperationStatusArchivalCompleted, + TieringOperationStatusArchivalFailed, + TieringOperationStatusTemporaryRestoreInProgress, + TieringOperationStatusTemporaryRestoreCompleted, + TieringOperationStatusTemporaryRestoreFailed, + TieringOperationStatusPermanentRestoreInProgress, + TieringOperationStatusPermanentRestoreCompleted, + TieringOperationStatusPermanentRestoreFailed, + } +} + const ( // TrafficDirectionIngress is a TrafficDirection enum value TrafficDirectionIngress = "ingress" diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go index 47c44cc9d..0e3a875f2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go @@ -4,14 +4,15 @@ // requests to Amazon Elastic Compute Cloud. // // Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing -// capacity in the AWS Cloud. Using Amazon EC2 eliminates the need to invest -// in hardware up front, so you can develop and deploy applications faster. -// Amazon Virtual Private Cloud (Amazon VPC) enables you to provision a logically -// isolated section of the AWS Cloud where you can launch AWS resources in a -// virtual network that you've defined. Amazon Elastic Block Store (Amazon EBS) -// provides block level storage volumes for use with EC2 instances. EBS volumes -// are highly available and reliable storage volumes that can be attached to -// any running instance and used like a hard drive. +// capacity in the Amazon Web Services Cloud. Using Amazon EC2 eliminates the +// need to invest in hardware up front, so you can develop and deploy applications +// faster. Amazon Virtual Private Cloud (Amazon VPC) enables you to provision +// a logically isolated section of the Amazon Web Services Cloud where you can +// launch Amazon Web Services resources in a virtual network that you've defined. +// Amazon Elastic Block Store (Amazon EBS) provides block level storage volumes +// for use with EC2 instances. EBS volumes are highly available and reliable +// storage volumes that can be attached to any running instance and used like +// a hard drive. // // To learn more, see the following resources: // @@ -24,8 +25,8 @@ // * Amazon VPC: Amazon VPC product page (http://aws.amazon.com/vpc), Amazon // VPC documentation (http://aws.amazon.com/documentation/vpc) // -// * AWS VPN: AWS VPN product page (http://aws.amazon.com/vpn), AWS VPN documentation -// (http://aws.amazon.com/documentation/vpn) +// * Amazon Web Services VPN: Amazon Web Services VPN product page (http://aws.amazon.com/vpn), +// Amazon Web Services VPN documentation (http://aws.amazon.com/documentation/vpn) // // See https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go index 15ad4aa67..a8f15fd6b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go @@ -48,6 +48,10 @@ const ( // svc := ec2.New(mySession, aws.NewConfig().WithRegion("us-west-2")) func New(p client.ConfigProvider, cfgs ...*aws.Config) *EC2 { c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = EndpointsID + // No Fallback + } return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) } diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go index b459717ff..b58f6a0d1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go @@ -738,6 +738,57 @@ func (c *EC2) WaitUntilInstanceTerminatedWithContext(ctx aws.Context, input *Des return w.WaitWithContext(ctx) } +// WaitUntilInternetGatewayExists uses the Amazon EC2 API operation +// DescribeInternetGateways to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *EC2) WaitUntilInternetGatewayExists(input *DescribeInternetGatewaysInput) error { + return c.WaitUntilInternetGatewayExistsWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilInternetGatewayExistsWithContext is an extended version of WaitUntilInternetGatewayExists. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// 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) WaitUntilInternetGatewayExistsWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilInternetGatewayExists", + MaxAttempts: 6, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "length(InternetGateways[].InternetGatewayId) > `0`", + Expected: true, + }, + { + State: request.RetryWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "InvalidInternetGateway.NotFound", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeInternetGatewaysInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInternetGatewaysRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + // WaitUntilKeyPairExists uses the Amazon EC2 API operation // DescribeKeyPairs to wait for a condition to be met before returning. // If the condition is not met within the max attempt window, an error will diff --git a/vendor/github.com/aws/aws-sdk-go/service/kms/service.go b/vendor/github.com/aws/aws-sdk-go/service/kms/service.go index 9492c2af3..18dfb8c78 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kms/service.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kms/service.go @@ -49,6 +49,10 @@ const ( // svc := kms.New(mySession, aws.NewConfig().WithRegion("us-west-2")) func New(p client.ConfigProvider, cfgs ...*aws.Config) *KMS { c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = EndpointsID + // No Fallback + } return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) } 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 a1a8a0952..1e7fa6557 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 @@ -63,14 +63,15 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // 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 STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// 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. // // Permissions // // The temporary security credentials created by AssumeRole can be used to make // API calls to any Amazon Web Services service with the following exception: -// You cannot call the STS GetFederationToken or GetSessionToken API operations. +// You cannot call the Amazon Web Services STS GetFederationToken or GetSessionToken +// API operations. // // (Optional) You can pass inline or managed session policies (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 @@ -86,26 +87,33 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // -// To assume a role from a different account, your account must be trusted by -// the role. The trust relationship is defined in the role's trust policy when -// the role is created. That trust policy states which accounts are allowed -// to delegate that access to users in the account. +// When you create a role, you create two policies: A role trust policy that +// specifies who can assume the role and a permissions policy that specifies +// what can be done with the role. You specify the trusted principal who is +// allowed to assume the role in the role trust policy. +// +// To assume a role from a different account, your Amazon Web Services account +// must be trusted by the role. The trust relationship is defined in the role's +// trust policy when the role is created. That trust policy states which accounts +// are allowed to delegate that access to users in the account. // // A user who wants to access a role in a different account must also have permissions // that are delegated from the user account administrator. The administrator // must attach a policy that allows the user to call AssumeRole for the ARN -// of the role in the other account. If the user is in the same account as the -// role, then you can do either of the following: +// of the role in the other account. // -// * Attach a policy to the user (identical to the previous user in a different -// account). +// To allow a user to assume a role in the same account, you can do either of +// the following: +// +// * Attach a policy to the user that allows the user to call AssumeRole +// (as long as the role's trust policy trusts the account). // // * Add the user as a principal directly in the role's trust policy. // -// In this case, the trust policy acts as an IAM resource-based policy. Users -// in the same account as the role do not need explicit permission to assume -// the role. For more information about trust policies and resource-based policies, -// see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) +// You can do either because the role’s trust policy acts as an IAM resource-based +// policy. When a resource-based policy grants access to a principal in the +// same account, no additional identity-based policy is required. For more information +// about trust policies and resource-based policies, see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) // in the IAM User Guide. // // Tags @@ -170,7 +178,7 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // // You could receive this error even though you meet other defined session policy // and session tag limits. For more information, see IAM and STS Entity Character -// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length) // in the IAM User Guide. // // * ErrCodeRegionDisabledException "RegionDisabledException" @@ -258,7 +266,7 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // Services access without user-specific credentials or configuration. For a // comparison of AssumeRoleWithSAML with the 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 STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// 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. // // The temporary security credentials returned by this operation consist of @@ -403,7 +411,7 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // // You could receive this error even though you meet other defined session policy // and session tag limits. For more information, see IAM and STS Entity Character -// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length) // in the IAM User Guide. // // * ErrCodeIDPRejectedClaimException "IDPRejectedClaim" @@ -523,7 +531,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity // with the 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 STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// 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. // // The temporary security credentials returned by this API consist of an access @@ -661,7 +669,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // // You could receive this error even though you meet other defined session policy // and session tag limits. For more information, see IAM and STS Entity Character -// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length) // in the IAM User Guide. // // * ErrCodeIDPRejectedClaimException "IDPRejectedClaim" @@ -776,10 +784,11 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag // code. // // The message is encoded because the details of the authorization status can -// constitute privileged information that the user who requested the operation +// contain privileged information that the user who requested the operation // should not see. To decode an authorization status message, a user must be -// granted permissions via an IAM policy to request the DecodeAuthorizationMessage -// (sts:DecodeAuthorizationMessage) action. +// granted permissions through an IAM policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) +// to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) +// action. // // The decoded message includes the following type of information: // @@ -1065,7 +1074,7 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re // For a comparison of GetFederationToken with the 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 STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// 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. // // You can create a mobile-based or browser-based app that can authenticate @@ -1088,9 +1097,9 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re // // The temporary credentials are valid for the specified duration, from 900 // seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default -// session duration is 43,200 seconds (12 hours). Temporary credentials that -// are obtained by using Amazon Web Services account root user credentials have -// a maximum duration of 3,600 seconds (1 hour). +// session duration is 43,200 seconds (12 hours). Temporary credentials obtained +// by using the Amazon Web Services account root user credentials have a maximum +// duration of 3,600 seconds (1 hour). // // Permissions // @@ -1141,63 +1150,6 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re // (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity) // in the IAM User Guide. // -// You can also call GetFederationToken using the security credentials of an -// Amazon Web Services account root user, but we do not recommend it. Instead, -// we recommend that you create an IAM user for the purpose of the proxy application. -// Then attach a policy to the IAM user that limits federated users to only -// the actions and resources that they need to access. For more information, -// see IAM Best Practices (https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) -// in the IAM User Guide. -// -// Session duration -// -// The temporary credentials are valid for the specified duration, from 900 -// seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default -// session duration is 43,200 seconds (12 hours). Temporary credentials that -// are obtained by using Amazon Web Services account root user credentials have -// a maximum duration of 3,600 seconds (1 hour). -// -// Permissions -// -// You can use the temporary credentials created by GetFederationToken in any -// Amazon Web Services service except the following: -// -// * You cannot call any IAM operations using the CLI or the Amazon Web Services -// API. -// -// * You cannot call any STS operations except GetCallerIdentity. -// -// 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 policies to -// use as managed session policies. The plain text that you use for both inline -// and managed session policies can't exceed 2,048 characters. -// -// Though the session policy parameters are optional, if you do not pass a policy, -// then the resulting federated user session has no permissions. When you pass -// session policies, the session permissions are the intersection of the IAM -// user policies and the session policies that you pass. This gives you a way -// to further restrict the permissions for a federated user. You cannot use -// session policies to grant more permissions than those that are defined in -// the permissions policy of the IAM user. For more information, see Session -// Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) -// in the IAM User Guide. For information about using GetFederationToken to -// create temporary security credentials, see GetFederationToken—Federation -// Through a Custom Identity Broker (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken). -// -// You can use the credentials to access a resource that has a resource-based -// policy. If that policy specifically references the federated user session -// in the Principal element of the policy, the session has the permissions allowed -// by the policy. These permissions are granted in addition to the permissions -// granted by the session policies. -// -// Tags -// -// (Optional) You can pass tag key-value pairs to your session. These are called -// session tags. For more information about session tags, see Passing Session -// Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) -// in the IAM User Guide. -// // An administrator must grant you the permissions necessary to pass session // tags. The administrator can also create granular permissions to allow you // to pass only specific session tags. For more information, see Tutorial: Using @@ -1234,7 +1186,7 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re // // You could receive this error even though you meet other defined session policy // and session tag limits. For more information, see IAM and STS Entity Character -// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length) // in the IAM User Guide. // // * ErrCodeRegionDisabledException "RegionDisabledException" @@ -1323,7 +1275,7 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request. // then the API returns an access denied error. For a comparison of GetSessionToken // with the 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 STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// 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. // // Session Duration @@ -1404,15 +1356,23 @@ func (c *STS) GetSessionTokenWithContext(ctx aws.Context, input *GetSessionToken type AssumeRoleInput struct { _ struct{} `type:"structure"` - // The duration, in seconds, of the role session. The value specified can can - // range from 900 seconds (15 minutes) up to the maximum session duration that - // is set for the role. The maximum session duration setting can have a value - // from 1 hour to 12 hours. If you specify a value higher than this setting - // or the administrator setting (whichever is lower), the operation fails. For - // example, if you specify a session duration of 12 hours, but your administrator - // set the maximum session duration to 6 hours, your operation fails. To learn - // how to view the maximum value for your role, see View the Maximum Session - // Duration Setting for a Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) + // The duration, in seconds, of the role session. The value specified can range + // from 900 seconds (15 minutes) up to the maximum session duration set for + // the role. The maximum session duration setting can have a value from 1 hour + // to 12 hours. If you specify a value higher than this setting or the administrator + // setting (whichever is lower), the operation fails. For example, if you specify + // a session duration of 12 hours, but your administrator set the maximum session + // duration to 6 hours, your operation fails. + // + // Role chaining limits your Amazon Web Services CLI or Amazon Web Services + // API role session to a maximum of one hour. When you use the AssumeRole API + // operation to assume a role, you can specify the duration of your role session + // with the DurationSeconds parameter. You can specify a parameter value of + // up to 43200 seconds (12 hours), depending on the maximum session duration + // setting for your role. However, if you assume a role using role chaining + // and provide a DurationSeconds parameter value greater than one hour, the + // operation fails. To learn how to view the maximum value for your role, see + // View the Maximum Session Duration Setting for a Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) // in the IAM User Guide. // // By default, the value is set to 3600 seconds. @@ -1422,7 +1382,7 @@ type AssumeRoleInput struct { // to the federation endpoint for a console sign-in token takes a SessionDuration // parameter that specifies the maximum length of the console session. For more // information, see Creating a URL that Enables Federated Users to Access the - // Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) + // Amazon Web Services Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) // in the IAM User Guide. DurationSeconds *int64 `min:"900" type:"integer"` @@ -1548,7 +1508,7 @@ type AssumeRoleInput struct { // A list of session tags that you want to pass. Each session tag consists of // a key name and an associated value. For more information about session tags, - // see Tagging STS Sessions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) + // see Tagging Amazon Web Services STS Sessions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) // in the IAM User Guide. // // This parameter is optional. You can pass up to 50 session tags. The plaintext @@ -1858,7 +1818,7 @@ type AssumeRoleWithSAMLInput struct { // to the federation endpoint for a console sign-in token takes a SessionDuration // parameter that specifies the maximum length of the console session. For more // information, see Creating a URL that Enables Federated Users to Access the - // Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) + // Amazon Web Services Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) // in the IAM User Guide. DurationSeconds *int64 `min:"900" type:"integer"` @@ -2205,7 +2165,7 @@ type AssumeRoleWithWebIdentityInput struct { // to the federation endpoint for a console sign-in token takes a SessionDuration // parameter that specifies the maximum length of the console session. For more // information, see Creating a URL that Enables Federated Users to Access the - // Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) + // Amazon Web Services Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) // in the IAM User Guide. DurationSeconds *int64 `min:"900" type:"integer"` @@ -2705,7 +2665,7 @@ func (s *DecodeAuthorizationMessageInput) SetEncodedMessage(v string) *DecodeAut type DecodeAuthorizationMessageOutput struct { _ struct{} `type:"structure"` - // An XML document that contains the decoded message. + // The API returns a response with the decoded message. DecodedMessage *string `type:"string"` } @@ -3237,8 +3197,8 @@ type GetSessionTokenInput struct { // user has a policy that requires MFA authentication. The value is either the // serial number for a hardware device (such as GAHT12345678) or an Amazon Resource // Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). - // You can find the device for an IAM user by going to the Management Console - // and viewing the user's security credentials. + // You can find the device for an IAM user by going to the Amazon Web Services + // Management Console and viewing the user's security credentials. // // The regex used to validate this parameter is a string of characters consisting // of upper- and lower-case alphanumeric characters with no spaces. You can @@ -3400,9 +3360,9 @@ func (s *PolicyDescriptorType) SetArn(v string) *PolicyDescriptorType { // You can pass custom key-value pair attributes when you assume a role or federate // a user. These are called session tags. You can then use the session tags -// to control access to resources. For more information, see Tagging STS Sessions -// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) in -// the IAM User Guide. +// to control access to resources. For more information, see Tagging Amazon +// Web Services STS Sessions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) +// in the IAM User Guide. type Tag struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go index 7897d70c8..b680bbd5d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go @@ -67,7 +67,7 @@ const ( // // You could receive this error even though you meet other defined session policy // and session tag limits. For more information, see IAM and STS Entity Character - // Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) + // Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length) // in the IAM User Guide. ErrCodePackedPolicyTooLargeException = "PackedPolicyTooLarge" diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/service.go b/vendor/github.com/aws/aws-sdk-go/service/sts/service.go index 703defd96..f324ff108 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/service.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/service.go @@ -48,6 +48,10 @@ const ( // svc := sts.New(mySession, aws.NewConfig().WithRegion("us-west-2")) func New(p client.ConfigProvider, cfgs ...*aws.Config) *STS { c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = EndpointsID + // No Fallback + } return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) } diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go index d219dc4c7..e644d9b2f 100644 --- a/vendor/golang.org/x/net/http2/server.go +++ b/vendor/golang.org/x/net/http2/server.go @@ -722,7 +722,7 @@ func (sc *serverConn) canonicalHeader(v string) string { // maxCachedCanonicalHeaders is an arbitrarily-chosen limit on the number of // entries in the canonHeader cache. This should be larger than the number // of unique, uncommon header keys likely to be sent by the peer, while not - // so high as to permit unreaasonable memory usage if the peer sends an unbounded + // so high as to permit unreasonable memory usage if the peer sends an unbounded // number of unique header keys. const maxCachedCanonicalHeaders = 32 if len(sc.canonHeader) < maxCachedCanonicalHeaders { diff --git a/vendor/modules.txt b/vendor/modules.txt index a24644307..f05be6490 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -8,7 +8,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.42.7 +# github.com/aws/aws-sdk-go v1.42.37 ## explicit; go 1.11 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/awserr @@ -519,7 +519,7 @@ golang.org/x/crypto/poly1305 golang.org/x/crypto/scrypt golang.org/x/crypto/ssh golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -# golang.org/x/net v0.0.0-20211209124913-491a49abca63 +# golang.org/x/net v0.0.0-20211216030914-fe4d6282115f ## explicit; go 1.17 golang.org/x/net/context golang.org/x/net/context/ctxhttp From 1a69957e1d6d841c6d04039f627b6a5d7f4c0e43 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Fri, 21 Jan 2022 14:54:56 +0530 Subject: [PATCH 04/30] ci: update golangci-lint to 1.43.0 As we have latest golangci-lint 1.43.0 using the same in cephcsi. Signed-off-by: Madhu Rajanna --- build.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.env b/build.env index 13322bb9b..a0f77f91d 100644 --- a/build.env +++ b/build.env @@ -23,7 +23,7 @@ GO111MODULE=on COMMITLINT_VERSION=latest # static checks and linters -GOLANGCI_VERSION=v1.39.0 +GOLANGCI_VERSION=v1.43.0 # external snapshotter version # Refer: https://github.com/kubernetes-csi/external-snapshotter/releases From 15ed9709d4f2cf596ac1c0faba10ffe1606276e1 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Fri, 21 Jan 2022 14:55:33 +0530 Subject: [PATCH 05/30] ci: skip new checks in golangci-lint skipping new checks in golangci-lint as its much work to addresses new check errors in this PR. Signed-off-by: Madhu Rajanna --- scripts/golangci.yml.in | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/golangci.yml.in b/scripts/golangci.yml.in index ecc048cb5..26d60bf80 100644 --- a/scripts/golangci.yml.in +++ b/scripts/golangci.yml.in @@ -179,3 +179,10 @@ linters: # TODO: enable wrapcheck linter # See: https://github.com/ceph/ceph-csi/pull/2268 - wrapcheck + # TODO: enable linters added in golangci-lint 1.43 + - contextcheck + - gomnd + - ireturn + - tagliatelle + - varnamelen + - nilnil From 562dff0d19708a2e68a5d3e5a4ba7780c3286020 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Fri, 21 Jan 2022 14:58:27 +0530 Subject: [PATCH 06/30] cleanup: use os.WriteFile to write files as ioutil.WriteFile is deprecated and suggestion is to use os.WriteFile as per https://pkg.go.dev/io/ioutil updating the same. Signed-off-by: Madhu Rajanna --- internal/kms/vault_sa.go | 2 +- internal/rbd/rbd_util.go | 4 ++-- internal/util/cephconf.go | 3 +-- internal/util/cluster_mapping_test.go | 10 +++++----- internal/util/conn_pool_test.go | 3 +-- internal/util/csiconfig_test.go | 15 +++++++-------- 6 files changed, 17 insertions(+), 20 deletions(-) diff --git a/internal/kms/vault_sa.go b/internal/kms/vault_sa.go index aec648022..bdeea0f56 100644 --- a/internal/kms/vault_sa.go +++ b/internal/kms/vault_sa.go @@ -320,7 +320,7 @@ func (kms *VaultTenantSA) getTokenPath() (string, error) { return "", err } - err = ioutil.WriteFile(dir+"/token", []byte(token), 0600) + err = os.WriteFile(dir+"/token", []byte(token), 0600) if err != nil { return "", fmt.Errorf("failed to write token for ServiceAccount %s/%s: %w", kms.tenantSAName, kms.Tenant, err) } diff --git a/internal/rbd/rbd_util.go b/internal/rbd/rbd_util.go index 3301f9a01..ad4dafc8f 100644 --- a/internal/rbd/rbd_util.go +++ b/internal/rbd/rbd_util.go @@ -1625,7 +1625,7 @@ func stashRBDImageMetadata(volOptions *rbdVolume, metaDataPath string) error { } fPath := filepath.Join(metaDataPath, stashFileName) - err = ioutil.WriteFile(fPath, encodedBytes, 0o600) + err = os.WriteFile(fPath, encodedBytes, 0o600) if err != nil { return fmt.Errorf("failed to stash JSON image metadata for image (%s) at path (%s): %w", volOptions, fPath, err) } @@ -1673,7 +1673,7 @@ func updateRBDImageMetadataStash(metaDataPath, device string) error { } fPath := filepath.Join(metaDataPath, stashFileName) - err = ioutil.WriteFile(fPath, encodedBytes, 0600) + err = os.WriteFile(fPath, encodedBytes, 0600) if err != nil { return fmt.Errorf("failed to stash JSON image metadata at path: (%s) for spec:(%s) : %w", fPath, imgMeta.String(), err) diff --git a/internal/util/cephconf.go b/internal/util/cephconf.go index e8e3e26fa..006b53e6f 100644 --- a/internal/util/cephconf.go +++ b/internal/util/cephconf.go @@ -17,7 +17,6 @@ limitations under the License. package util import ( - "io/ioutil" "os" ) @@ -57,7 +56,7 @@ func WriteCephConfig() error { // create config file if it does not exist to support backward compatibility if _, err = os.Stat(CephConfigPath); os.IsNotExist(err) { - err = ioutil.WriteFile(CephConfigPath, cephConfig, 0o600) + err = os.WriteFile(CephConfigPath, cephConfig, 0o600) } if err != nil { diff --git a/internal/util/cluster_mapping_test.go b/internal/util/cluster_mapping_test.go index ded989e35..6f6d5a9d8 100644 --- a/internal/util/cluster_mapping_test.go +++ b/internal/util/cluster_mapping_test.go @@ -20,7 +20,7 @@ import ( "context" "encoding/json" "fmt" - "io/ioutil" + "os" "reflect" "strings" "testing" @@ -142,7 +142,7 @@ func TestGetClusterMappingInfo(t *testing.T) { t.Parallel() mappingConfigFile := fmt.Sprintf("%s/mapping-%d.json", mappingBasePath, currentI) if len(currentTT.mappingFilecontent) != 0 { - err = ioutil.WriteFile(mappingConfigFile, currentTT.mappingFilecontent, 0o600) + err = os.WriteFile(mappingConfigFile, currentTT.mappingFilecontent, 0o600) if err != nil { t.Errorf("failed to write to %q, error = %v", mappingConfigFile, err) } @@ -158,7 +158,7 @@ func TestGetClusterMappingInfo(t *testing.T) { } clusterMappingConfigFile = fmt.Sprintf("%s/mapping.json", mappingBasePath) - err = ioutil.WriteFile(clusterMappingConfigFile, mappingFileContent, 0o600) + err = os.WriteFile(clusterMappingConfigFile, mappingFileContent, 0o600) if err != nil { t.Errorf("failed to write mapping content error = %v", err) } @@ -318,7 +318,7 @@ func TestFetchMappedClusterIDAndMons(t *testing.T) { if err != nil { t.Errorf("failed to marshal csi config info %v", err) } - err = ioutil.WriteFile(csiConfigFile, csiConfigFileContent, 0o600) + err = os.WriteFile(csiConfigFile, csiConfigFileContent, 0o600) if err != nil { t.Errorf("failed to write %s file content: %v", CsiConfigFile, err) } @@ -351,7 +351,7 @@ func TestFetchMappedClusterIDAndMons(t *testing.T) { if err != nil { t.Errorf("failed to marshal mapping info %v", err) } - err = ioutil.WriteFile(clusterMappingConfigFile, clusterMappingFileContent, 0o600) + err = os.WriteFile(clusterMappingConfigFile, clusterMappingFileContent, 0o600) if err != nil { t.Errorf("failed to write %s file content: %v", clusterMappingFileContent, err) } diff --git a/internal/util/conn_pool_test.go b/internal/util/conn_pool_test.go index 39251f24c..6fe3f094b 100644 --- a/internal/util/conn_pool_test.go +++ b/internal/util/conn_pool_test.go @@ -17,7 +17,6 @@ limitations under the License. package util import ( - "io/ioutil" "os" "testing" "time" @@ -81,7 +80,7 @@ func TestConnPool(t *testing.T) { // create a keyfile with some contents keyfile := "/tmp/conn_utils.keyfile" - err := ioutil.WriteFile(keyfile, []byte("the-key"), 0o600) + err := os.WriteFile(keyfile, []byte("the-key"), 0o600) if err != nil { t.Errorf("failed to create keyfile: %v", err) diff --git a/internal/util/csiconfig_test.go b/internal/util/csiconfig_test.go index a946dd76c..fdcd24038 100644 --- a/internal/util/csiconfig_test.go +++ b/internal/util/csiconfig_test.go @@ -17,7 +17,6 @@ limitations under the License. package util import ( - "io/ioutil" "os" "testing" ) @@ -54,7 +53,7 @@ func TestCSIConfig(t *testing.T) { } data = "" - err = ioutil.WriteFile(basePath+"/"+csiClusters, []byte(data), 0o600) + err = os.WriteFile(basePath+"/"+csiClusters, []byte(data), 0o600) if err != nil { t.Errorf("Test setup error %s", err) } @@ -66,7 +65,7 @@ func TestCSIConfig(t *testing.T) { } data = "[{\"clusterIDBad\":\"" + clusterID2 + "\",\"monitors\":[\"mon1\",\"mon2\",\"mon3\"]}]" - err = ioutil.WriteFile(basePath+"/"+csiClusters, []byte(data), 0o600) + err = os.WriteFile(basePath+"/"+csiClusters, []byte(data), 0o600) if err != nil { t.Errorf("Test setup error %s", err) } @@ -78,7 +77,7 @@ func TestCSIConfig(t *testing.T) { } data = "[{\"clusterID\":\"" + clusterID2 + "\",\"monitorsBad\":[\"mon1\",\"mon2\",\"mon3\"]}]" - err = ioutil.WriteFile(basePath+"/"+csiClusters, []byte(data), 0o600) + err = os.WriteFile(basePath+"/"+csiClusters, []byte(data), 0o600) if err != nil { t.Errorf("Test setup error %s", err) } @@ -90,7 +89,7 @@ func TestCSIConfig(t *testing.T) { } data = "[{\"clusterID\":\"" + clusterID2 + "\",\"monitors\":[\"mon1\",2,\"mon3\"]}]" - err = ioutil.WriteFile(basePath+"/"+csiClusters, []byte(data), 0o600) + err = os.WriteFile(basePath+"/"+csiClusters, []byte(data), 0o600) if err != nil { t.Errorf("Test setup error %s", err) } @@ -102,7 +101,7 @@ func TestCSIConfig(t *testing.T) { } data = "[{\"clusterID\":\"" + clusterID2 + "\",\"monitors\":[\"mon1\",\"mon2\",\"mon3\"]}]" - err = ioutil.WriteFile(basePath+"/"+csiClusters, []byte(data), 0o600) + err = os.WriteFile(basePath+"/"+csiClusters, []byte(data), 0o600) if err != nil { t.Errorf("Test setup error %s", err) } @@ -121,7 +120,7 @@ func TestCSIConfig(t *testing.T) { data = "[{\"clusterID\":\"" + clusterID2 + "\",\"monitors\":[\"mon1\",\"mon2\",\"mon3\"]}," + "{\"clusterID\":\"" + clusterID1 + "\",\"monitors\":[\"mon4\",\"mon5\",\"mon6\"]}]" - err = ioutil.WriteFile(basePath+"/"+csiClusters, []byte(data), 0o600) + err = os.WriteFile(basePath+"/"+csiClusters, []byte(data), 0o600) if err != nil { t.Errorf("Test setup error %s", err) } @@ -134,7 +133,7 @@ func TestCSIConfig(t *testing.T) { data = "[{\"clusterID\":\"" + clusterID2 + "\",\"monitors\":[\"mon1\",\"mon2\",\"mon3\"]}," + "{\"clusterID\":\"" + clusterID1 + "\",\"monitors\":[\"mon4\",\"mon5\",\"mon6\"]}]" - err = ioutil.WriteFile(basePath+"/"+csiClusters, []byte(data), 0o600) + err = os.WriteFile(basePath+"/"+csiClusters, []byte(data), 0o600) if err != nil { t.Errorf("Test setup error %s", err) } From aba6979d294b5a271d17dc8c56be7bf5fa824cd5 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Fri, 21 Jan 2022 15:02:34 +0530 Subject: [PATCH 07/30] cleanup: use os.ReadFile to read file as ioutil.ReadFile is deprecated and suggestion is to use os.ReadFile as per https://pkg.go.dev/io/ioutil updating the same. Signed-off-by: Madhu Rajanna --- e2e/cephfs.go | 5 ++--- e2e/namespace.go | 4 ++-- e2e/rbd.go | 5 ++--- e2e/utils.go | 4 ++-- internal/kms/kms.go | 3 +-- internal/rbd/rbd_util.go | 5 ++--- internal/util/cluster_mapping.go | 3 +-- internal/util/conn_pool.go | 4 ++-- internal/util/csiconfig.go | 4 ++-- internal/util/log/log_utils.go | 3 +-- 10 files changed, 17 insertions(+), 23 deletions(-) diff --git a/e2e/cephfs.go b/e2e/cephfs.go index 61a9b0ec1..6de77cd5e 100644 --- a/e2e/cephfs.go +++ b/e2e/cephfs.go @@ -19,7 +19,6 @@ package e2e import ( "context" "fmt" - "io/ioutil" "os" "strings" "sync" @@ -79,7 +78,7 @@ func deleteCephfsPlugin() { } func createORDeleteCephfsResources(action kubectlAction) { - csiDriver, err := ioutil.ReadFile(cephFSDirPath + csiDriverObject) + csiDriver, err := os.ReadFile(cephFSDirPath + csiDriverObject) if err != nil { // createORDeleteRbdResources is used for upgrade testing as csidriverObject is // newly added, discarding file not found error. @@ -92,7 +91,7 @@ func createORDeleteCephfsResources(action kubectlAction) { e2elog.Failf("failed to %s CSIDriver object: %v", action, err) } } - cephConf, err := ioutil.ReadFile(examplePath + cephConfconfigMap) + cephConf, err := os.ReadFile(examplePath + cephConfconfigMap) if err != nil { // createORDeleteCephfsResources is used for upgrade testing as cephConfConfigmap is // newly added, discarding file not found error. diff --git a/e2e/namespace.go b/e2e/namespace.go index 24cc2bddc..a9959d1a5 100644 --- a/e2e/namespace.go +++ b/e2e/namespace.go @@ -19,7 +19,7 @@ package e2e import ( "context" "fmt" - "io/ioutil" + "os" "strings" "time" @@ -87,7 +87,7 @@ func deleteNamespace(c kubernetes.Interface, name string) error { } func replaceNamespaceInTemplate(filePath string) (string, error) { - read, err := ioutil.ReadFile(filePath) + read, err := os.ReadFile(filePath) if err != nil { return "", err } diff --git a/e2e/rbd.go b/e2e/rbd.go index d39d99aef..e6de737f3 100644 --- a/e2e/rbd.go +++ b/e2e/rbd.go @@ -20,7 +20,6 @@ import ( "context" "errors" "fmt" - "io/ioutil" "os" "strings" "time" @@ -120,7 +119,7 @@ func deleteRBDPlugin() { } func createORDeleteRbdResources(action kubectlAction) { - csiDriver, err := ioutil.ReadFile(rbdDirPath + csiDriverObject) + csiDriver, err := os.ReadFile(rbdDirPath + csiDriverObject) if err != nil { // createORDeleteRbdResources is used for upgrade testing as csidriverObject is // newly added, discarding file not found error. @@ -133,7 +132,7 @@ func createORDeleteRbdResources(action kubectlAction) { e2elog.Failf("failed to %s CSIDriver object: %v", action, err) } } - cephConf, err := ioutil.ReadFile(examplePath + cephConfconfigMap) + cephConf, err := os.ReadFile(examplePath + cephConfconfigMap) if err != nil { // createORDeleteRbdResources is used for upgrade testing as cephConf Configmap is // newly added, discarding file not found error. diff --git a/e2e/utils.go b/e2e/utils.go index 69c401764..ca6da4ac0 100644 --- a/e2e/utils.go +++ b/e2e/utils.go @@ -23,7 +23,7 @@ import ( "encoding/json" "errors" "fmt" - "io/ioutil" + "os" "regexp" "strconv" "strings" @@ -160,7 +160,7 @@ func deleteResource(scPath string) error { } func unmarshal(fileName string, obj interface{}) error { - f, err := ioutil.ReadFile(fileName) + f, err := os.ReadFile(fileName) if err != nil { return err } diff --git a/internal/kms/kms.go b/internal/kms/kms.go index 01ea68edc..e886321ac 100644 --- a/internal/kms/kms.go +++ b/internal/kms/kms.go @@ -20,7 +20,6 @@ import ( "context" "encoding/json" "fmt" - "io/ioutil" "os" "github.com/ceph/ceph-csi/internal/util/k8s" @@ -94,7 +93,7 @@ func GetKMS(tenant, kmsID string, secrets map[string]string) (EncryptionKMS, err func getKMSConfiguration() (map[string]interface{}, error) { var config map[string]interface{} // #nosec - content, err := ioutil.ReadFile(kmsConfigPath) + content, err := os.ReadFile(kmsConfigPath) if err == nil { // kmsConfigPath exists and was successfully read err = json.Unmarshal(content, &config) diff --git a/internal/rbd/rbd_util.go b/internal/rbd/rbd_util.go index ad4dafc8f..aa40e1d88 100644 --- a/internal/rbd/rbd_util.go +++ b/internal/rbd/rbd_util.go @@ -21,7 +21,6 @@ import ( "encoding/json" "errors" "fmt" - "io/ioutil" "os" "path/filepath" "strconv" @@ -244,7 +243,7 @@ func GetKrbdSupportedFeatures() (string, error) { return "", err } } - val, err := ioutil.ReadFile(krbdSupportedFeaturesFile) + val, err := os.ReadFile(krbdSupportedFeaturesFile) if err != nil { log.ErrorLogMsg("reading file %q failed: %v", krbdSupportedFeaturesFile, err) @@ -1638,7 +1637,7 @@ func lookupRBDImageMetadataStash(metaDataPath string) (rbdImageMetadataStash, er var imgMeta rbdImageMetadataStash fPath := filepath.Join(metaDataPath, stashFileName) - encodedBytes, err := ioutil.ReadFile(fPath) // #nosec - intended reading from fPath + encodedBytes, err := os.ReadFile(fPath) // #nosec - intended reading from fPath if err != nil { if !os.IsNotExist(err) { return imgMeta, fmt.Errorf("failed to read stashed JSON image metadata from path (%s): %w", fPath, err) diff --git a/internal/util/cluster_mapping.go b/internal/util/cluster_mapping.go index 37155f623..e9ec753c0 100644 --- a/internal/util/cluster_mapping.go +++ b/internal/util/cluster_mapping.go @@ -21,7 +21,6 @@ import ( "encoding/json" "errors" "fmt" - "io/ioutil" "os" "github.com/ceph/ceph-csi/internal/util/log" @@ -70,7 +69,7 @@ type ClusterMappingInfo struct { func readClusterMappingInfo(filename string) (*[]ClusterMappingInfo, error) { var info []ClusterMappingInfo - content, err := ioutil.ReadFile(filename) // #nosec:G304, file inclusion via variable. + content, err := os.ReadFile(filename) // #nosec:G304, file inclusion via variable. if err != nil { err = fmt.Errorf("error fetching clusterID mapping %w", err) diff --git a/internal/util/conn_pool.go b/internal/util/conn_pool.go index aca2bb482..8b85017db 100644 --- a/internal/util/conn_pool.go +++ b/internal/util/conn_pool.go @@ -18,7 +18,7 @@ package util import ( "fmt" - "io/ioutil" + "os" "sync" "time" @@ -96,7 +96,7 @@ func (cp *ConnPool) Destroy() { func (cp *ConnPool) generateUniqueKey(monitors, user, keyfile string) (string, error) { // the keyfile can be unique for operations, contents will be the same - key, err := ioutil.ReadFile(keyfile) // #nosec:G304, file inclusion via variable. + key, err := os.ReadFile(keyfile) // #nosec:G304, file inclusion via variable. if err != nil { return "", fmt.Errorf("could not open keyfile %s: %w", keyfile, err) } diff --git a/internal/util/csiconfig.go b/internal/util/csiconfig.go index 874ff5269..97076cde6 100644 --- a/internal/util/csiconfig.go +++ b/internal/util/csiconfig.go @@ -20,7 +20,7 @@ import ( "context" "encoding/json" "fmt" - "io/ioutil" + "os" "strings" ) @@ -72,7 +72,7 @@ func readClusterInfo(pathToConfig, clusterID string) (*ClusterInfo, error) { var config []ClusterInfo // #nosec - content, err := ioutil.ReadFile(pathToConfig) + content, err := os.ReadFile(pathToConfig) if err != nil { err = fmt.Errorf("error fetching configuration for cluster ID %q: %w", clusterID, err) diff --git a/internal/util/log/log_utils.go b/internal/util/log/log_utils.go index 18a778996..d78d96e63 100644 --- a/internal/util/log/log_utils.go +++ b/internal/util/log/log_utils.go @@ -15,7 +15,6 @@ package log import ( "compress/gzip" - "io/ioutil" "os" "strings" ) @@ -24,7 +23,7 @@ import ( // compressed format. func GzipLogFile(pathToFile string) error { // Get all the bytes from the file. - content, err := ioutil.ReadFile(pathToFile) // #nosec:G304, file inclusion via variable. + content, err := os.ReadFile(pathToFile) // #nosec:G304, file inclusion via variable. if err != nil { return err } From 813f6c30cc6ef79b7797f20c8427fc86036aeb12 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Fri, 21 Jan 2022 15:04:41 +0530 Subject: [PATCH 08/30] cleanup: use WriteString instead of Write use WriteString instead of Write for the temp files. Signed-off-by: Madhu Rajanna --- internal/util/credentials.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/util/credentials.go b/internal/util/credentials.go index ad8fa6d6e..b189c6c9d 100644 --- a/internal/util/credentials.go +++ b/internal/util/credentials.go @@ -54,7 +54,7 @@ func storeKey(key string) (string, error) { } }() - if _, err = tmpfile.Write([]byte(key)); err != nil { + if _, err = tmpfile.WriteString(key); err != nil { return "", fmt.Errorf("error writing key to temporary keyfile: %w", err) } From c67bacdb116fef0d06e2811a0c17969044d38111 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Fri, 21 Jan 2022 15:06:06 +0530 Subject: [PATCH 09/30] cleanup: use %s instead of %w for t.Errorf As t.Errorf does not support error-wrapping directive using %s. Signed-off-by: Madhu Rajanna --- internal/util/util_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/util/util_test.go b/internal/util/util_test.go index fdea10b7b..d4cb39680 100644 --- a/internal/util/util_test.go +++ b/internal/util/util_test.go @@ -274,7 +274,7 @@ func TestParseKernelRelease(t *testing.T) { for i, release := range goodReleases { version, patchlevel, sublevel, extraversion, err := parseKernelRelease(release) if err != nil { - t.Errorf("parsing error for release %q: %w", release, err) + t.Errorf("parsing error for release %q: %s", release, err) } good := goodVersions[i] if version != good[0] || patchlevel != good[1] || sublevel != good[2] || extraversion != good[3] { From 4938fc2ff47c48fc09b37f6ace11c3121f92c3fa Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Fri, 21 Jan 2022 15:07:41 +0530 Subject: [PATCH 10/30] cleanup: use 0o600 intead of 0600 as we are using 0o600 in multiple files use the same in all files which also fixes go lint issue. Signed-off-by: Madhu Rajanna --- internal/kms/vault_sa.go | 2 +- internal/rbd/rbd_util.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/kms/vault_sa.go b/internal/kms/vault_sa.go index bdeea0f56..d777c40a2 100644 --- a/internal/kms/vault_sa.go +++ b/internal/kms/vault_sa.go @@ -320,7 +320,7 @@ func (kms *VaultTenantSA) getTokenPath() (string, error) { return "", err } - err = os.WriteFile(dir+"/token", []byte(token), 0600) + err = os.WriteFile(dir+"/token", []byte(token), 0o600) if err != nil { return "", fmt.Errorf("failed to write token for ServiceAccount %s/%s: %w", kms.tenantSAName, kms.Tenant, err) } diff --git a/internal/rbd/rbd_util.go b/internal/rbd/rbd_util.go index aa40e1d88..4f999fe82 100644 --- a/internal/rbd/rbd_util.go +++ b/internal/rbd/rbd_util.go @@ -1672,7 +1672,7 @@ func updateRBDImageMetadataStash(metaDataPath, device string) error { } fPath := filepath.Join(metaDataPath, stashFileName) - err = os.WriteFile(fPath, encodedBytes, 0600) + err = os.WriteFile(fPath, encodedBytes, 0o600) if err != nil { return fmt.Errorf("failed to stash JSON image metadata at path: (%s) for spec:(%s) : %w", fPath, imgMeta.String(), err) From 9c841c83d446e200c6da6a9b2f2c0e8d76d964bb Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Fri, 21 Jan 2022 15:12:35 +0530 Subject: [PATCH 11/30] cleanup: rename errorPair to pairError to fix the errname check renaming the struct. Signed-off-by: Madhu Rajanna --- internal/util/errors.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/util/errors.go b/internal/util/errors.go index 29918fc29..795e6630b 100644 --- a/internal/util/errors.go +++ b/internal/util/errors.go @@ -39,27 +39,27 @@ var ( ErrMissingConfigForMonitor = errors.New("missing configuration of cluster ID for monitor") ) -type errorPair struct { +type pairError struct { first error second error } -func (e errorPair) Error() string { +func (e pairError) Error() string { return fmt.Sprintf("%v: %v", e.first, e.second) } // Is checks if target error is wrapped in the first error. -func (e errorPair) Is(target error) bool { +func (e pairError) Is(target error) bool { return errors.Is(e.first, target) } // Unwrap returns the second error. -func (e errorPair) Unwrap() error { +func (e pairError) Unwrap() error { return e.second } // JoinErrors combines two errors. Of the returned error, Is() follows the first // branch, Unwrap() follows the second branch. func JoinErrors(e1, e2 error) error { - return errorPair{e1, e2} + return pairError{e1, e2} } From 8096dd47e445bb7b8fcf68bdddfd81d8ec304d1d Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Fri, 21 Jan 2022 15:13:44 +0530 Subject: [PATCH 12/30] cleanup: remove unwanted type declaration removed unwanted int64 type declaration to fix style check. Signed-off-by: Madhu Rajanna --- internal/journal/voljournal.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/journal/voljournal.go b/internal/journal/voljournal.go index 9ffee3729..fbd02131c 100644 --- a/internal/journal/voljournal.go +++ b/internal/journal/voljournal.go @@ -280,8 +280,8 @@ func (conn *Connection) CheckReservation(ctx context.Context, snapSource bool objUUID string savedImagePool string - savedImagePoolID int64 = util.InvalidPoolID - cj = conn.config + savedImagePoolID = util.InvalidPoolID + cj = conn.config ) if snapParentName != "" { From f0a2a20466378556e28ac0c38b42d3080ee51eb8 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Thu, 20 Jan 2022 10:58:38 +0530 Subject: [PATCH 13/30] ci: update minikube to latest release update minikube to latest release i.e 1.25.0 Signed-off-by: Madhu Rajanna --- build.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.env b/build.env index a0f77f91d..d7d38123c 100644 --- a/build.env +++ b/build.env @@ -38,7 +38,7 @@ SNAPSHOT_VERSION=v4.0.0 HELM_VERSION=v3.1.2 # minikube settings -MINIKUBE_VERSION=v1.24.0 +MINIKUBE_VERSION=v1.25.0 VM_DRIVER=none CHANGE_MINIKUBE_NONE_USER=true From 6df71410e3c985a4badab36a227d2fc75e7c6efe Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Fri, 21 Jan 2022 22:55:06 +0530 Subject: [PATCH 14/30] doc: update readme for 3.5.1 release updated Readme for 3.5.1 release. Signed-off-by: Madhu Rajanna --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6f0a92581..ddb71fe7f 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ environments. | Ceph CSI Version | Container Orchestrator Name | Version Tested| | -----------------| --------------------------- | --------------| +| v3.5.1 | Kubernetes | v1.21, v1.22, v1.23| | v3.5.0 | Kubernetes | v1.21, v1.22, v1.23| | v3.4.0 | Kubernetes | v1.20, v1.21, v1.22| @@ -119,6 +120,7 @@ in the Kubernetes documentation. | Ceph CSI Release/Branch | Container image name | Image Tag | | ----------------------- | ---------------------------- | --------- | | devel (Branch) | quay.io/cephcsi/cephcsi | canary | +| v3.5.1 (Release) | quay.io/cephcsi/cephcsi | v3.5.1 | | v3.5.0 (Release) | quay.io/cephcsi/cephcsi | v3.5.0 | | v3.4.0 (Release) | quay.io/cephcsi/cephcsi | v3.4.0 | From bce5c3dc7c461fab2698c0f9ee76ab618bae8ee9 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Fri, 21 Jan 2022 23:06:19 +0530 Subject: [PATCH 15/30] doc: update upgrade doc for 3.5.1 updating upgrade to to point to 3.5.1 for upgrades a 3.5.1 release is out. Signed-off-by: Madhu Rajanna --- docs/ceph-csi-upgrade.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ceph-csi-upgrade.md b/docs/ceph-csi-upgrade.md index 6d759b288..ff4319287 100644 --- a/docs/ceph-csi-upgrade.md +++ b/docs/ceph-csi-upgrade.md @@ -84,12 +84,12 @@ compatibility support and without prior notice. **Also, we do not recommend any direct upgrades to 3.5 except from 3.4 to 3.5.** For example, upgrading from 3.3 to 3.5 is not recommended. -git checkout v3.5.0 tag +git checkout v3.5.1 tag ```bash git clone https://github.com/ceph/ceph-csi.git cd ./ceph-csi -git checkout v3.5.0 +git checkout v3.5.1 ``` ```console From 9c1c1306cb76d82e1c4f34b993b3dfcceffe4c07 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jan 2022 20:13:21 +0000 Subject: [PATCH 16/30] rebase: bump github.com/hashicorp/vault/api from 1.3.0 to 1.3.1 Bumps [github.com/hashicorp/vault/api](https://github.com/hashicorp/vault) from 1.3.0 to 1.3.1. - [Release notes](https://github.com/hashicorp/vault/releases) - [Changelog](https://github.com/hashicorp/vault/blob/main/CHANGELOG.md) - [Commits](https://github.com/hashicorp/vault/compare/v1.3.0...v1.3.1) --- updated-dependencies: - dependency-name: github.com/hashicorp/vault/api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 4 +-- go.sum | 7 ++-- .../hashicorp/go-cleanhttp/cleanhttp.go | 1 + .../github.com/hashicorp/vault/api/README.md | 2 +- .../hashicorp/vault/api/auth_token.go | 4 ++- .../github.com/hashicorp/vault/api/client.go | 12 ++++--- .../github.com/hashicorp/vault/api/logical.go | 6 ++-- .../hashicorp/vault/api/sys_hastatus.go | 34 +++++++++++++++++++ .../hashicorp/vault/api/sys_mounts.go | 2 ++ .../hashicorp/vault/api/sys_raft.go | 19 +++++++++++ vendor/modules.txt | 6 ++-- 11 files changed, 80 insertions(+), 17 deletions(-) create mode 100644 vendor/github.com/hashicorp/vault/api/sys_hastatus.go diff --git a/go.mod b/go.mod index 72ccac696..e3b9e1121 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/golang/protobuf v1.5.2 github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 - github.com/hashicorp/vault/api v1.3.0 + github.com/hashicorp/vault/api v1.3.1 github.com/kubernetes-csi/csi-lib-utils v0.10.0 github.com/kubernetes-csi/external-snapshotter/client/v4 v4.2.0 github.com/libopenstorage/secrets v0.0.0-20210908194121-a1d19aa9713a @@ -67,7 +67,7 @@ require ( github.com/googleapis/gnostic v0.5.5 // indirect github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect - github.com/hashicorp/go-cleanhttp v0.5.1 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-hclog v0.16.2 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect diff --git a/go.sum b/go.sum index a0200de55..2383563e2 100644 --- a/go.sum +++ b/go.sum @@ -513,8 +513,9 @@ github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.1 h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-gatedio v0.5.0/go.mod h1:Lr3t8L6IyxD3DAeaUxGcgl2JnRUpWMCsmBl4Omu/2t4= github.com/hashicorp/go-gcp-common v0.5.0/go.mod h1:IDGUI2N/OS3PiU4qZcXJeWKPI6O/9Y8hOrbSiMcqyYw= github.com/hashicorp/go-gcp-common v0.6.0/go.mod h1:RuZi18562/z30wxOzpjeRrGcmk9Ro/rBzixaSZDhIhY= @@ -633,8 +634,8 @@ github.com/hashicorp/vault/api v1.0.5-0.20191122173911-80fcc7907c78/go.mod h1:Uf github.com/hashicorp/vault/api v1.0.5-0.20200215224050-f6547fa8e820/go.mod h1:3f12BMfgDGjTsTtIUj+ZKZwSobQpZtYGFIEehOv5z1o= github.com/hashicorp/vault/api v1.0.5-0.20200317185738-82f498082f02/go.mod h1:3f12BMfgDGjTsTtIUj+ZKZwSobQpZtYGFIEehOv5z1o= github.com/hashicorp/vault/api v1.0.5-0.20200902155336-f9d5ce5a171a/go.mod h1:R3Umvhlxi2TN7Ex2hzOowyeNb+SfbVWI973N+ctaFMk= -github.com/hashicorp/vault/api v1.3.0 h1:uDy39PLSvy6gtKyjOCRPizy2QdFiIYSWBR2pxCEzYL8= -github.com/hashicorp/vault/api v1.3.0/go.mod h1:EabNQLI0VWbWoGlA+oBLC8PXmR9D60aUVgQGvangFWQ= +github.com/hashicorp/vault/api v1.3.1 h1:pkDkcgTh47PRjY1NEFeofqR4W/HkNUi9qIakESO2aRM= +github.com/hashicorp/vault/api v1.3.1/go.mod h1:QeJoWxMFt+MsuWcYhmwRLwKEXrjwAFFywzhptMsTIUw= github.com/hashicorp/vault/sdk v0.1.8/go.mod h1:tHZfc6St71twLizWNHvnnbiGFo1aq0eD2jGPLtP8kAU= github.com/hashicorp/vault/sdk v0.1.14-0.20190730042320-0dc007d98cc8/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M= github.com/hashicorp/vault/sdk v0.1.14-0.20191108161836-82f2b5571044/go.mod h1:PcekaFGiPJyHnFy+NZhP6ll650zEw51Ag7g/YEa+EOU= diff --git a/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go b/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go index 8d306bf51..fe28d15b6 100644 --- a/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go +++ b/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go @@ -32,6 +32,7 @@ func DefaultPooledTransport() *http.Transport { IdleConnTimeout: 90 * time.Second, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, + ForceAttemptHTTP2: true, MaxIdleConnsPerHost: runtime.GOMAXPROCS(0) + 1, } return transport diff --git a/vendor/github.com/hashicorp/vault/api/README.md b/vendor/github.com/hashicorp/vault/api/README.md index bc525e9bb..38840caa3 100644 --- a/vendor/github.com/hashicorp/vault/api/README.md +++ b/vendor/github.com/hashicorp/vault/api/README.md @@ -3,6 +3,6 @@ Vault API This provides the `github.com/hashicorp/vault/api` package which contains code useful for interacting with a Vault server. -For examples of how to use this module, see the [vault-examples](https://github.com/hashicorp/vault-examples/tree/main/go) repo. +For examples of how to use this module, see the [vault-examples](https://github.com/hashicorp/vault-examples) repo. [![GoDoc](https://godoc.org/github.com/hashicorp/vault/api?status.png)](https://godoc.org/github.com/hashicorp/vault/api) \ No newline at end of file diff --git a/vendor/github.com/hashicorp/vault/api/auth_token.go b/vendor/github.com/hashicorp/vault/api/auth_token.go index 32c77bc62..86595175b 100644 --- a/vendor/github.com/hashicorp/vault/api/auth_token.go +++ b/vendor/github.com/hashicorp/vault/api/auth_token.go @@ -1,6 +1,8 @@ package api -import "context" +import ( + "context" +) // TokenAuth is used to perform token backend operations on Vault type TokenAuth struct { diff --git a/vendor/github.com/hashicorp/vault/api/client.go b/vendor/github.com/hashicorp/vault/api/client.go index 2d1c3b683..b6c497d0b 100644 --- a/vendor/github.com/hashicorp/vault/api/client.go +++ b/vendor/github.com/hashicorp/vault/api/client.go @@ -20,9 +20,9 @@ import ( "unicode" "github.com/hashicorp/errwrap" - cleanhttp "github.com/hashicorp/go-cleanhttp" - retryablehttp "github.com/hashicorp/go-retryablehttp" - rootcerts "github.com/hashicorp/go-rootcerts" + "github.com/hashicorp/go-cleanhttp" + "github.com/hashicorp/go-retryablehttp" + "github.com/hashicorp/go-rootcerts" "github.com/hashicorp/go-secure-stdlib/parseutil" "golang.org/x/net/http2" "golang.org/x/time/rate" @@ -880,8 +880,10 @@ func (c *Client) SetReadYourWrites(preventStaleReads bool) { c.config.modifyLock.Lock() defer c.config.modifyLock.Unlock() - if preventStaleReads && c.replicationStateStore == nil { - c.replicationStateStore = &replicationStateStore{} + if preventStaleReads { + if c.replicationStateStore == nil { + c.replicationStateStore = &replicationStateStore{} + } } else { c.replicationStateStore = nil } diff --git a/vendor/github.com/hashicorp/vault/api/logical.go b/vendor/github.com/hashicorp/vault/api/logical.go index f8f8bc537..68f3e9100 100644 --- a/vendor/github.com/hashicorp/vault/api/logical.go +++ b/vendor/github.com/hashicorp/vault/api/logical.go @@ -8,6 +8,7 @@ import ( "net/http" "net/url" "os" + "strings" "github.com/hashicorp/errwrap" "github.com/hashicorp/vault/sdk/helper/jsonutil" @@ -235,12 +236,13 @@ func (c *Logical) DeleteWithData(path string, data map[string][]string) (*Secret func (c *Logical) Unwrap(wrappingToken string) (*Secret, error) { var data map[string]interface{} + wt := strings.TrimSpace(wrappingToken) if wrappingToken != "" { if c.c.Token() == "" { - c.c.SetToken(wrappingToken) + c.c.SetToken(wt) } else if wrappingToken != c.c.Token() { data = map[string]interface{}{ - "token": wrappingToken, + "token": wt, } } } diff --git a/vendor/github.com/hashicorp/vault/api/sys_hastatus.go b/vendor/github.com/hashicorp/vault/api/sys_hastatus.go new file mode 100644 index 000000000..408da0509 --- /dev/null +++ b/vendor/github.com/hashicorp/vault/api/sys_hastatus.go @@ -0,0 +1,34 @@ +package api + +import ( + "context" + "time" +) + +func (c *Sys) HAStatus() (*HAStatusResponse, error) { + r := c.c.NewRequest("GET", "/v1/sys/ha-status") + + ctx, cancelFunc := context.WithCancel(context.Background()) + defer cancelFunc() + resp, err := c.c.RawRequestWithContext(ctx, r) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + var result HAStatusResponse + err = resp.DecodeJSON(&result) + return &result, err +} + +type HAStatusResponse struct { + Nodes []HANode +} + +type HANode struct { + Hostname string `json:"hostname"` + APIAddress string `json:"api_address"` + ClusterAddress string `json:"cluster_address"` + ActiveNode bool `json:"active_node"` + LastEcho *time.Time `json:"last_echo"` +} diff --git a/vendor/github.com/hashicorp/vault/api/sys_mounts.go b/vendor/github.com/hashicorp/vault/api/sys_mounts.go index 589df945c..1d68a1063 100644 --- a/vendor/github.com/hashicorp/vault/api/sys_mounts.go +++ b/vendor/github.com/hashicorp/vault/api/sys_mounts.go @@ -154,6 +154,7 @@ type MountConfigInput struct { PassthroughRequestHeaders []string `json:"passthrough_request_headers,omitempty" mapstructure:"passthrough_request_headers"` AllowedResponseHeaders []string `json:"allowed_response_headers,omitempty" mapstructure:"allowed_response_headers"` TokenType string `json:"token_type,omitempty" mapstructure:"token_type"` + AllowedManagedKeys []string `json:"allowed_managed_keys,omitempty" mapstructure:"allowed_managed_keys"` // Deprecated: This field will always be blank for newer server responses. PluginName string `json:"plugin_name,omitempty" mapstructure:"plugin_name"` @@ -181,6 +182,7 @@ type MountConfigOutput struct { PassthroughRequestHeaders []string `json:"passthrough_request_headers,omitempty" mapstructure:"passthrough_request_headers"` AllowedResponseHeaders []string `json:"allowed_response_headers,omitempty" mapstructure:"allowed_response_headers"` TokenType string `json:"token_type,omitempty" mapstructure:"token_type"` + AllowedManagedKeys []string `json:"allowed_managed_keys,omitempty" mapstructure:"allowed_managed_keys"` // Deprecated: This field will always be blank for newer server responses. PluginName string `json:"plugin_name,omitempty" mapstructure:"plugin_name"` diff --git a/vendor/github.com/hashicorp/vault/api/sys_raft.go b/vendor/github.com/hashicorp/vault/api/sys_raft.go index 043a69801..cbf3a2020 100644 --- a/vendor/github.com/hashicorp/vault/api/sys_raft.go +++ b/vendor/github.com/hashicorp/vault/api/sys_raft.go @@ -368,3 +368,22 @@ func (c *Sys) RaftAutopilotConfiguration() (*AutopilotConfig, error) { return &result, err } + +// PutRaftAutopilotConfiguration allows modifying the raft autopilot configuration +func (c *Sys) PutRaftAutopilotConfiguration(opts *AutopilotConfig) error { + r := c.c.NewRequest("POST", "/v1/sys/storage/raft/autopilot/configuration") + + if err := r.SetJSONBody(opts); err != nil { + return err + } + + ctx, cancelFunc := context.WithCancel(context.Background()) + defer cancelFunc() + resp, err := c.c.RawRequestWithContext(ctx, r) + if err != nil { + return err + } + defer resp.Body.Close() + + return nil +} diff --git a/vendor/modules.txt b/vendor/modules.txt index f05be6490..72b35da33 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -182,8 +182,8 @@ github.com/grpc-ecosystem/grpc-gateway/utilities # github.com/hashicorp/errwrap v1.1.0 ## explicit github.com/hashicorp/errwrap -# github.com/hashicorp/go-cleanhttp v0.5.1 -## explicit +# github.com/hashicorp/go-cleanhttp v0.5.2 +## explicit; go 1.13 github.com/hashicorp/go-cleanhttp # github.com/hashicorp/go-hclog v0.16.2 ## explicit; go 1.13 @@ -241,7 +241,7 @@ github.com/hashicorp/hcl/json/token ## explicit; go 1.13 github.com/hashicorp/vault/command/agent/auth github.com/hashicorp/vault/command/agent/auth/kubernetes -# github.com/hashicorp/vault/api v1.3.0 +# github.com/hashicorp/vault/api v1.3.1 ## explicit; go 1.13 github.com/hashicorp/vault/api # github.com/hashicorp/vault/sdk v0.3.0 From 5f4c6e033b6a85be8ccbfb4680a1d730de37e65b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jan 2022 20:15:17 +0000 Subject: [PATCH 17/30] rebase: bump github.com/aws/aws-sdk-go from 1.42.37 to 1.42.40 Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.42.37 to 1.42.40. - [Release notes](https://github.com/aws/aws-sdk-go/releases) - [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go/compare/v1.42.37...v1.42.40) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 +- .../github.com/aws/aws-sdk-go/aws/version.go | 2 +- .../aws/aws-sdk-go/service/ec2/api.go | 48 +++++++++++++++++++ vendor/modules.txt | 2 +- 5 files changed, 53 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index e3b9e1121..c73fdae04 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.17 require ( github.com/IBM/keyprotect-go-client v0.7.0 - github.com/aws/aws-sdk-go v1.42.37 + github.com/aws/aws-sdk-go v1.42.40 github.com/ceph/ceph-csi/api v0.0.0-00010101000000-000000000000 github.com/ceph/go-ceph v0.13.0 github.com/container-storage-interface/spec v1.5.0 diff --git a/go.sum b/go.sum index 2383563e2..5e0d6f54f 100644 --- a/go.sum +++ b/go.sum @@ -138,8 +138,8 @@ github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpi github.com/aws/aws-sdk-go v1.25.41/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.35.24/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k= github.com/aws/aws-sdk-go v1.38.49/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.42.37 h1:EIziSq3REaoi1LgUBgxoQr29DQS7GYHnBbZPajtJmXM= -github.com/aws/aws-sdk-go v1.42.37/go.mod h1:OGr6lGMAKGlG9CVrYnWYDKIyb829c6EVBRjxqjmPepc= +github.com/aws/aws-sdk-go v1.42.40 h1:oZ+hyhorrkYdT23YO8s0eWBp9Fg8k4HsAFL3n0V25WA= +github.com/aws/aws-sdk-go v1.42.40/go.mod h1:OGr6lGMAKGlG9CVrYnWYDKIyb829c6EVBRjxqjmPepc= github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= 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 839550b7d..07b1c9a33 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.42.37" +const SDKVersion = "1.42.40" 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 c7601994f..0e644512e 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 @@ -162105,6 +162105,9 @@ const ( // InstanceTypeC6i32xlarge is a InstanceType enum value InstanceTypeC6i32xlarge = "c6i.32xlarge" + // InstanceTypeC6iMetal is a InstanceType enum value + InstanceTypeC6iMetal = "c6i.metal" + // InstanceTypeCc14xlarge is a InstanceType enum value InstanceTypeCc14xlarge = "cc1.4xlarge" @@ -162732,6 +162735,9 @@ const ( // InstanceTypeM6i32xlarge is a InstanceType enum value InstanceTypeM6i32xlarge = "m6i.32xlarge" + // InstanceTypeM6iMetal is a InstanceType enum value + InstanceTypeM6iMetal = "m6i.metal" + // InstanceTypeMac1Metal is a InstanceType enum value InstanceTypeMac1Metal = "mac1.metal" @@ -163029,6 +163035,36 @@ const ( // InstanceTypeR6gdMetal is a InstanceType enum value InstanceTypeR6gdMetal = "r6gd.metal" + // InstanceTypeR6iLarge is a InstanceType enum value + InstanceTypeR6iLarge = "r6i.large" + + // InstanceTypeR6iXlarge is a InstanceType enum value + InstanceTypeR6iXlarge = "r6i.xlarge" + + // InstanceTypeR6i2xlarge is a InstanceType enum value + InstanceTypeR6i2xlarge = "r6i.2xlarge" + + // InstanceTypeR6i4xlarge is a InstanceType enum value + InstanceTypeR6i4xlarge = "r6i.4xlarge" + + // InstanceTypeR6i8xlarge is a InstanceType enum value + InstanceTypeR6i8xlarge = "r6i.8xlarge" + + // InstanceTypeR6i12xlarge is a InstanceType enum value + InstanceTypeR6i12xlarge = "r6i.12xlarge" + + // InstanceTypeR6i16xlarge is a InstanceType enum value + InstanceTypeR6i16xlarge = "r6i.16xlarge" + + // InstanceTypeR6i24xlarge is a InstanceType enum value + InstanceTypeR6i24xlarge = "r6i.24xlarge" + + // InstanceTypeR6i32xlarge is a InstanceType enum value + InstanceTypeR6i32xlarge = "r6i.32xlarge" + + // InstanceTypeR6iMetal is a InstanceType enum value + InstanceTypeR6iMetal = "r6i.metal" + // InstanceTypeT1Micro is a InstanceType enum value InstanceTypeT1Micro = "t1.micro" @@ -163322,6 +163358,7 @@ func InstanceType_Values() []string { InstanceTypeC6i16xlarge, InstanceTypeC6i24xlarge, InstanceTypeC6i32xlarge, + InstanceTypeC6iMetal, InstanceTypeCc14xlarge, InstanceTypeCc28xlarge, InstanceTypeCg14xlarge, @@ -163531,6 +163568,7 @@ func InstanceType_Values() []string { InstanceTypeM6i16xlarge, InstanceTypeM6i24xlarge, InstanceTypeM6i32xlarge, + InstanceTypeM6iMetal, InstanceTypeMac1Metal, InstanceTypeP2Xlarge, InstanceTypeP28xlarge, @@ -163630,6 +163668,16 @@ func InstanceType_Values() []string { InstanceTypeR6gd12xlarge, InstanceTypeR6gd16xlarge, InstanceTypeR6gdMetal, + InstanceTypeR6iLarge, + InstanceTypeR6iXlarge, + InstanceTypeR6i2xlarge, + InstanceTypeR6i4xlarge, + InstanceTypeR6i8xlarge, + InstanceTypeR6i12xlarge, + InstanceTypeR6i16xlarge, + InstanceTypeR6i24xlarge, + InstanceTypeR6i32xlarge, + InstanceTypeR6iMetal, InstanceTypeT1Micro, InstanceTypeT2Nano, InstanceTypeT2Micro, diff --git a/vendor/modules.txt b/vendor/modules.txt index 72b35da33..fadd0aa35 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -8,7 +8,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.42.37 +# github.com/aws/aws-sdk-go v1.42.40 ## explicit; go 1.11 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/awserr From bf4ba0ec84cd7bb8c5cf2f93b7a8dfea227dd1ae Mon Sep 17 00:00:00 2001 From: Humble Chirammal Date: Fri, 7 Jan 2022 20:44:11 +0530 Subject: [PATCH 18/30] rbd: dont attempt explicit permission mod change from the RBD driver currently we are overriding the permission to `0o777` at time of node stage which is not the correct action. That said, this permission change causes an extra permission correction at time of nodestaging by the CO while the FSGROUP change policy has been set to `OnRootMismatch`. Signed-off-by: Humble Chirammal --- internal/rbd/nodeserver.go | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/internal/rbd/nodeserver.go b/internal/rbd/nodeserver.go index 43c151956..209c4610e 100644 --- a/internal/rbd/nodeserver.go +++ b/internal/rbd/nodeserver.go @@ -366,7 +366,6 @@ func (ns *NodeServer) stageTransaction( transaction := &stageTransaction{} var err error - var readOnly bool // Allow image to be mounted on multiple nodes if it is ROX if req.VolumeCapability.AccessMode.Mode == csi.VolumeCapability_AccessMode_MULTI_NODE_READER_ONLY { @@ -421,7 +420,7 @@ func (ns *NodeServer) stageTransaction( transaction.isStagePathCreated = true // nodeStage Path - readOnly, err = ns.mountVolumeToStagePath(ctx, req, staticVol, stagingTargetPath, devicePath) + _, err = ns.mountVolumeToStagePath(ctx, req, staticVol, stagingTargetPath, devicePath) if err != nil { return transaction, err } @@ -436,11 +435,6 @@ func (ns *NodeServer) stageTransaction( return transaction, err } - if !readOnly { - // #nosec - allow anyone to write inside the target path - err = os.Chmod(stagingTargetPath, 0o777) - } - return transaction, err } From 7ff048bf1e8ee1be58db2d00a60085f8b4a119e8 Mon Sep 17 00:00:00 2001 From: Humble Chirammal Date: Mon, 24 Jan 2022 11:59:14 +0530 Subject: [PATCH 19/30] e2e: add podsecuritycontext fsgroup for normal user validation considering the pod has run as normal user, the fsgroup has also set to the same. Signed-off-by: Humble Chirammal --- e2e/utils.go | 1 + internal/rbd/nodeserver.go | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/e2e/utils.go b/e2e/utils.go index ca6da4ac0..70233cab0 100644 --- a/e2e/utils.go +++ b/e2e/utils.go @@ -333,6 +333,7 @@ func validateNormalUserPVCAccess(pvcPath string, f *framework.Framework) error { }, }, Spec: v1.PodSpec{ + SecurityContext: &v1.PodSecurityContext{FSGroup: &user}, Containers: []v1.Container{ { Name: "write-pod", diff --git a/internal/rbd/nodeserver.go b/internal/rbd/nodeserver.go index 209c4610e..f64ef21c0 100644 --- a/internal/rbd/nodeserver.go +++ b/internal/rbd/nodeserver.go @@ -420,7 +420,7 @@ func (ns *NodeServer) stageTransaction( transaction.isStagePathCreated = true // nodeStage Path - _, err = ns.mountVolumeToStagePath(ctx, req, staticVol, stagingTargetPath, devicePath) + err = ns.mountVolumeToStagePath(ctx, req, staticVol, stagingTargetPath, devicePath) if err != nil { return transaction, err } @@ -678,7 +678,7 @@ func (ns *NodeServer) mountVolumeToStagePath( ctx context.Context, req *csi.NodeStageVolumeRequest, staticVol bool, - stagingPath, devicePath string) (bool, error) { + stagingPath, devicePath string) error { readOnly := false fsType := req.GetVolumeCapability().GetMount().GetFsType() diskMounter := &mount.SafeFormatAndMount{Interface: ns.Mounter, Exec: utilexec.New()} @@ -696,7 +696,7 @@ func (ns *NodeServer) mountVolumeToStagePath( if err != nil { log.ErrorLog(ctx, "failed to get disk format for path %s, error: %v", devicePath, err) - return readOnly, err + return err } opt := []string{"_netdev"} @@ -736,7 +736,7 @@ func (ns *NodeServer) mountVolumeToStagePath( if cmdErr != nil { log.ErrorLog(ctx, "failed to run mkfs error: %v, output: %v", cmdErr, string(cmdOut)) - return readOnly, cmdErr + return cmdErr } } } @@ -757,7 +757,7 @@ func (ns *NodeServer) mountVolumeToStagePath( err) } - return readOnly, err + return err } func (ns *NodeServer) mountVolume(ctx context.Context, stagingPath string, req *csi.NodePublishVolumeRequest) error { From f82260068940aa4d5c5fe45c8f566ec22ca38028 Mon Sep 17 00:00:00 2001 From: Humble Chirammal Date: Mon, 24 Jan 2022 14:39:31 +0530 Subject: [PATCH 20/30] rbd: change the keyprotect metadata name to `ibmkeyprotect` To be consistent with other components and also to explictly state it belong to `ibm keyprotect` service introducing this change Signed-off-by: Humble Chirammal --- .../kms/vault/csi-kms-connection-details.yaml | 4 ++-- examples/kms/vault/kms-config.yaml | 4 ++-- internal/kms/keyprotect.go | 20 +++++++++++++++++-- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/examples/kms/vault/csi-kms-connection-details.yaml b/examples/kms/vault/csi-kms-connection-details.yaml index 8a1a60d4b..4aac5bb0f 100644 --- a/examples/kms/vault/csi-kms-connection-details.yaml +++ b/examples/kms/vault/csi-kms-connection-details.yaml @@ -60,9 +60,9 @@ data: "IBM_KP_SECRET_NAME": "ceph-csi-aws-credentials", "AWS_REGION": "us-west-2" } - kp-metadata-test: |- + ibmkeyprotect-test: |- { - "KMS_PROVIDER": "kp-metadata", + "KMS_PROVIDER": "ibmkeyprotect", "IBM_KP_SECRET_NAME": "ceph-csi-kp-credentials", "IBM_KP_SERVICE_INSTANCE_ID": "7abef064-01dd-4237-9ea5-8b3890970be3", "IBM_KP_BASE_URL": "https://us-south.kms.cloud.ibm.com", diff --git a/examples/kms/vault/kms-config.yaml b/examples/kms/vault/kms-config.yaml index d52831436..b77afd37d 100644 --- a/examples/kms/vault/kms-config.yaml +++ b/examples/kms/vault/kms-config.yaml @@ -91,8 +91,8 @@ data: "encryptionKMSType": "metadata", "secretName": "storage-encryption-secret" }, - "kp-metadata-test": { - "encryptionKMSType": "kp-metadata", + "ibmkeyprotect-test": { + "encryptionKMSType": "ibmkeyprotect", "secretName": "ceph-csi-kp-credentials", "keyProtectRegionKey": "us-south-2", "keyProtectServiceInstanceID": "7abef064-01dd-4237-9ea5-8b3890970be3" diff --git a/internal/kms/keyprotect.go b/internal/kms/keyprotect.go index 20d0637ea..387666db9 100644 --- a/internal/kms/keyprotect.go +++ b/internal/kms/keyprotect.go @@ -23,14 +23,15 @@ import ( "fmt" "github.com/ceph/ceph-csi/internal/util/k8s" + "github.com/ceph/ceph-csi/internal/util/log" kp "github.com/IBM/keyprotect-go-client" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) const ( - kmsTypeKeyProtectMetadata = "kp-metadata" - + kmsTypeKeyProtectMetadata = "ibmkeyprotect" + kmsTypeKeyProtectMetadataOld = "kp-metadata" // keyProtectMetadataDefaultSecretsName is the default name of the Kubernetes Secret // that contains the credentials to access the Key Protect KMS. The name of // the Secret can be configured by setting the `IBM_KP_SECRET_NAME` @@ -62,6 +63,21 @@ var _ = RegisterProvider(Provider{ Initializer: initKeyProtectKMS, }) +// RegisterProvider for kmsTypeKeyProtectMetadataOld is kept here for backward compatibility. +var _ = RegisterProvider(Provider{ + UniqueID: kmsTypeKeyProtectMetadataOld, + Initializer: initKeyProtectKMSOld, +}) + +// initKeyProtectKMSOld is the wrapper with a warning log. +func initKeyProtectKMSOld(args ProviderInitArgs) (EncryptionKMS, error) { + log.WarningLogMsg("%q is deprecated provider for IBM key Protect,"+ + "use new provider name %q in the configuration, proceeding with %q", + kmsTypeKeyProtectMetadataOld, kmsTypeKeyProtectMetadata, kmsTypeKeyProtectMetadata) + + return initKeyProtectKMS(args) +} + // KeyProtectKMS store the KMS connection information retrieved from the kms configmap. type KeyProtectKMS struct { // basic options to get the secret From 3a445cfc36ca9c962b629f5713368e5373ba86ac Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Mon, 24 Jan 2022 11:07:46 +0530 Subject: [PATCH 21/30] deploy: update resizer to 1.4.0 updating external resizer image version from 1.3.0 to latest available release i.e 1.4.0 1.4.0 changelog link https://github.com/kubernetes-csi/ external-resizer/blob/master/CHANGELOG/CHANGELOG-1.4.md Signed-off-by: Madhu Rajanna --- build.env | 2 +- charts/ceph-csi-cephfs/values.yaml | 2 +- charts/ceph-csi-rbd/values.yaml | 2 +- deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml | 2 +- deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build.env b/build.env index d7d38123c..a5f5bba69 100644 --- a/build.env +++ b/build.env @@ -51,7 +51,7 @@ ROOK_CEPH_CLUSTER_IMAGE=quay.io/ceph/ceph:v16 CSI_ATTACHER_VERSION=v3.4.0 CSI_SNAPSHOTTER_VERSION=v4.2.0 CSI_PROVISIONER_VERSION=v3.1.0 -CSI_RESIZER_VERSION=v1.3.0 +CSI_RESIZER_VERSION=v1.4.0 CSI_NODE_DRIVER_REGISTRAR_VERSION=v2.4.0 # e2e settings diff --git a/charts/ceph-csi-cephfs/values.yaml b/charts/ceph-csi-cephfs/values.yaml index 8bd644f7d..0cfd35b70 100644 --- a/charts/ceph-csi-cephfs/values.yaml +++ b/charts/ceph-csi-cephfs/values.yaml @@ -179,7 +179,7 @@ provisioner: enabled: true image: repository: k8s.gcr.io/sig-storage/csi-resizer - tag: v1.3.0 + tag: v1.4.0 pullPolicy: IfNotPresent resources: {} diff --git a/charts/ceph-csi-rbd/values.yaml b/charts/ceph-csi-rbd/values.yaml index 67f63b94d..19411a740 100644 --- a/charts/ceph-csi-rbd/values.yaml +++ b/charts/ceph-csi-rbd/values.yaml @@ -216,7 +216,7 @@ provisioner: enabled: true image: repository: k8s.gcr.io/sig-storage/csi-resizer - tag: v1.3.0 + tag: v1.4.0 pullPolicy: IfNotPresent resources: {} diff --git a/deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml b/deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml index 56e89e7fc..6b6959b3a 100644 --- a/deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml +++ b/deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml @@ -60,7 +60,7 @@ spec: - name: socket-dir mountPath: /csi - name: csi-resizer - image: k8s.gcr.io/sig-storage/csi-resizer:v1.3.0 + image: k8s.gcr.io/sig-storage/csi-resizer:v1.4.0 args: - "--csi-address=$(ADDRESS)" - "--v=5" diff --git a/deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml b/deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml index f91e04b11..9b4eb4b4d 100644 --- a/deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml +++ b/deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml @@ -95,7 +95,7 @@ spec: - name: socket-dir mountPath: /csi - name: csi-resizer - image: k8s.gcr.io/sig-storage/csi-resizer:v1.3.0 + image: k8s.gcr.io/sig-storage/csi-resizer:v1.4.0 args: - "--csi-address=$(ADDRESS)" - "--v=5" From 901a1368abf5072e71c4bf13bd05719193df30e7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Jan 2022 07:03:08 +0000 Subject: [PATCH 22/30] rebase: bump k8s.io/kubernetes from 1.23.1 to 1.23.2 Bumps [k8s.io/kubernetes](https://github.com/kubernetes/kubernetes) from 1.23.1 to 1.23.2. - [Release notes](https://github.com/kubernetes/kubernetes/releases) - [Commits](https://github.com/kubernetes/kubernetes/compare/v1.23.1...v1.23.2) --- updated-dependencies: - dependency-name: k8s.io/kubernetes dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 70 +++---- go.sum | 85 ++++----- .../k8s.io/api/autoscaling/v2beta1/types.go | 2 +- .../zz_generated.prerelease-lifecycle.go | 2 +- .../k8s.io/api/autoscaling/v2beta2/types.go | 1 + .../zz_generated.prerelease-lifecycle.go | 10 + .../k8s.io/api/flowcontrol/v1alpha1/types.go | 8 +- .../zz_generated.prerelease-lifecycle.go | 8 +- .../k8s.io/api/flowcontrol/v1beta1/types.go | 4 + .../zz_generated.prerelease-lifecycle.go | 28 +++ vendor/k8s.io/client-go/tools/pager/pager.go | 5 +- .../k8s.io/mount-utils/mount_helper_common.go | 14 -- .../k8s.io/mount-utils/mount_helper_unix.go | 28 +++ .../mount-utils/mount_helper_windows.go | 14 ++ vendor/modules.txt | 76 ++++---- .../konnectivity-client/pkg/client/client.go | 5 +- .../structured-merge-diff/v4/typed/merge.go | 180 ++++++++++++------ 17 files changed, 336 insertions(+), 204 deletions(-) diff --git a/go.mod b/go.mod index c73fdae04..bc886d2d0 100644 --- a/go.mod +++ b/go.mod @@ -26,16 +26,16 @@ require ( golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 google.golang.org/grpc v1.43.0 google.golang.org/protobuf v1.27.1 - k8s.io/api v0.23.0 - k8s.io/apimachinery v0.23.0 + k8s.io/api v0.23.2 + k8s.io/apimachinery v0.23.2 k8s.io/client-go v12.0.0+incompatible - k8s.io/cloud-provider v0.23.0 + k8s.io/cloud-provider v0.23.2 k8s.io/klog/v2 v2.40.1 // // when updating k8s.io/kubernetes, make sure to update the replace section too // - k8s.io/kubernetes v1.23.1 - k8s.io/mount-utils v0.23.0 + k8s.io/kubernetes v1.23.2 + k8s.io/mount-utils v0.23.2 k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b sigs.k8s.io/controller-runtime v0.11.0-beta.0.0.20211208212546-f236f0345ad2 ) @@ -139,15 +139,15 @@ require ( gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect - k8s.io/apiserver v0.23.0 // indirect - k8s.io/component-base v0.23.0 // indirect - k8s.io/component-helpers v0.23.0 // indirect + k8s.io/apiserver v0.23.2 // indirect + k8s.io/component-base v0.23.2 // indirect + k8s.io/component-helpers v0.23.2 // indirect k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect k8s.io/kubectl v0.0.0 // indirect k8s.io/kubelet v0.0.0 // indirect - sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.25 // indirect + sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.27 // indirect sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.0 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) @@ -160,31 +160,31 @@ replace ( // // k8s.io/kubernetes depends on these k8s.io packages, but unversioned // - k8s.io/api => k8s.io/api v0.23.0 - k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.23.0 - k8s.io/apimachinery => k8s.io/apimachinery v0.23.0 - k8s.io/apiserver => k8s.io/apiserver v0.23.0 - k8s.io/cli-runtime => k8s.io/cli-runtime v0.23.0 - k8s.io/client-go => k8s.io/client-go v0.23.0 - k8s.io/cloud-provider => k8s.io/cloud-provider v0.23.0 - k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.23.0 - k8s.io/code-generator => k8s.io/code-generator v0.23.0 - k8s.io/component-base => k8s.io/component-base v0.23.0 - k8s.io/component-helpers => k8s.io/component-helpers v0.23.0 - k8s.io/controller-manager => k8s.io/controller-manager v0.23.0 - k8s.io/cri-api => k8s.io/cri-api v0.23.0 - k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.23.0 - k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.23.0 - k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.23.0 - k8s.io/kube-proxy => k8s.io/kube-proxy v0.23.0 - k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.23.0 - k8s.io/kubectl => k8s.io/kubectl v0.23.0 - k8s.io/kubelet => k8s.io/kubelet v0.23.0 - k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.23.0 - k8s.io/metrics => k8s.io/metrics v0.23.0 - k8s.io/mount-utils => k8s.io/mount-utils v0.23.0 - k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.23.0 - k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.23.0 + k8s.io/api => k8s.io/api v0.23.2 + k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.23.2 + k8s.io/apimachinery => k8s.io/apimachinery v0.23.2 + k8s.io/apiserver => k8s.io/apiserver v0.23.2 + k8s.io/cli-runtime => k8s.io/cli-runtime v0.23.2 + k8s.io/client-go => k8s.io/client-go v0.23.2 + k8s.io/cloud-provider => k8s.io/cloud-provider v0.23.2 + k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.23.2 + k8s.io/code-generator => k8s.io/code-generator v0.23.2 + k8s.io/component-base => k8s.io/component-base v0.23.2 + k8s.io/component-helpers => k8s.io/component-helpers v0.23.2 + k8s.io/controller-manager => k8s.io/controller-manager v0.23.2 + k8s.io/cri-api => k8s.io/cri-api v0.23.2 + k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.23.2 + k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.23.2 + k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.23.2 + k8s.io/kube-proxy => k8s.io/kube-proxy v0.23.2 + k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.23.2 + k8s.io/kubectl => k8s.io/kubectl v0.23.2 + k8s.io/kubelet => k8s.io/kubelet v0.23.2 + k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.23.2 + k8s.io/metrics => k8s.io/metrics v0.23.2 + k8s.io/mount-utils => k8s.io/mount-utils v0.23.2 + k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.23.2 + k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.23.2 // layeh.com seems to be misbehaving layeh.com/radius => github.com/layeh/radius v0.0.0-20190322222518-890bc1058917 ) diff --git a/go.sum b/go.sum index 5e0d6f54f..196cbd255 100644 --- a/go.sum +++ b/go.sum @@ -1615,7 +1615,6 @@ google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9K google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= google.golang.org/grpc v1.43.0 h1:Eeu7bZtDZ2DpRCsLhUlcrLnvYaMK1Gz86a+hMVvELmM= google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= @@ -1685,28 +1684,28 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.23.0 h1:WrL1gb73VSC8obi8cuYETJGXEoFNEh3LU0Pt+Sokgro= -k8s.io/api v0.23.0/go.mod h1:8wmDdLBHBNxtOIytwLstXt5E9PddnZb0GaMcqsvDBpg= -k8s.io/apiextensions-apiserver v0.23.0 h1:uii8BYmHYiT2ZTAJxmvc3X8UhNYMxl2A0z0Xq3Pm+WY= -k8s.io/apiextensions-apiserver v0.23.0/go.mod h1:xIFAEEDlAZgpVBl/1VSjGDmLoXAWRG40+GsWhKhAxY4= -k8s.io/apimachinery v0.23.0 h1:mIfWRMjBuMdolAWJ3Fd+aPTMv3X9z+waiARMpvvb0HQ= -k8s.io/apimachinery v0.23.0/go.mod h1:fFCTTBKvKcwTPFzjlcxp91uPFZr+JA0FubU4fLzzFYc= -k8s.io/apiserver v0.23.0 h1:Ds/QveXWi9aJ8ISB0CJa4zBNc5njxAs5u3rmMIexqCY= -k8s.io/apiserver v0.23.0/go.mod h1:Cec35u/9zAepDPPFyT+UMrgqOCjgJ5qtfVJDxjZYmt4= -k8s.io/cli-runtime v0.23.0/go.mod h1:B5N3YH0KP1iKr6gEuJ/RRmGjO0mJQ/f/JrsmEiPQAlU= -k8s.io/client-go v0.23.0 h1:vcsOqyPq7XV3QmQRCBH/t9BICJM9Q1M18qahjv+rebY= -k8s.io/client-go v0.23.0/go.mod h1:hrDnpnK1mSr65lHHcUuIZIXDgEbzc7/683c6hyG4jTA= -k8s.io/cloud-provider v0.23.0 h1:9LATZJu57XanN7po4Xfj6jTLp44uhKiu5Xa3+3Cutz0= -k8s.io/cloud-provider v0.23.0/go.mod h1:vY9zulPUCjwCg9TBMh5Qi42JUZUNecQNF7FojNELWws= -k8s.io/cluster-bootstrap v0.23.0/go.mod h1:VltEnKWfrRTiKgOXp3ts3vh7yqNlH6KFKFflo9GtCBg= -k8s.io/code-generator v0.23.0/go.mod h1:vQvOhDXhuzqiVfM/YHp+dmg10WDZCchJVObc9MvowsE= -k8s.io/component-base v0.23.0 h1:UAnyzjvVZ2ZR1lF35YwtNY6VMN94WtOnArcXBu34es8= -k8s.io/component-base v0.23.0/go.mod h1:DHH5uiFvLC1edCpvcTDV++NKULdYYU6pR9Tt3HIKMKI= -k8s.io/component-helpers v0.23.0 h1:qNbqN10QTefiWcCOPkHL/0nn81sdKVv6ZgEXcSyot/U= -k8s.io/component-helpers v0.23.0/go.mod h1:liXMh6FZS4qamKtMJQ7uLHnFe3tlC86RX5mJEk/aerg= -k8s.io/controller-manager v0.23.0/go.mod h1:6/IKItSv6p9FY3mSbHgsOYmt4y+HDxiC5hEFg9rJVc8= -k8s.io/cri-api v0.23.0/go.mod h1:2edENu3/mkyW3c6fVPPPaVGEFbLRacJizBbSp7ZOLOo= -k8s.io/csi-translation-lib v0.23.0/go.mod h1:ho0ljka+BEcdlvFrG08L8FpYi6QJeSGgQLWeVOAeeM8= +k8s.io/api v0.23.2 h1:62cpzreV3dCuj0hqPi8r4dyWh48ogMcyh+ga9jEGij4= +k8s.io/api v0.23.2/go.mod h1:sYuDb3flCtRPI8ghn6qFrcK5ZBu2mhbElxRE95qpwlI= +k8s.io/apiextensions-apiserver v0.23.2 h1:N6CIVAhmF0ahgFKUMDdV/AUyckhUb4nIyVPohPtdUPk= +k8s.io/apiextensions-apiserver v0.23.2/go.mod h1:9cs7avT6+GfzbB0pambTvH11wcaR85QQg4ovl9s15UU= +k8s.io/apimachinery v0.23.2 h1:dBmjCOeYBdg2ibcQxMuUq+OopZ9fjfLIR5taP/XKeTs= +k8s.io/apimachinery v0.23.2/go.mod h1:zDqeV0AK62LbCI0CI7KbWCAYdLg+E+8UXJ0rIz5gmS8= +k8s.io/apiserver v0.23.2 h1:vGFCojjwSLyunapA7FWuzyekml/s0nAsoh4iBpzWzOs= +k8s.io/apiserver v0.23.2/go.mod h1:Kdt8gafkPev9Gfh+H6lCPbmRu42f7BfhOfHKKa3dtyU= +k8s.io/cli-runtime v0.23.2/go.mod h1:Ag70akCDvwux4HxY+nH2J3UqE2e6iwSSdG1HE6p1VTU= +k8s.io/client-go v0.23.2 h1:BNbOcxa99jxHH8mM1cPKGIrrKRnCSAfAtyonYGsbFtE= +k8s.io/client-go v0.23.2/go.mod h1:k3YbsWg6GWdHF1THHTQP88X9RhB1DWPo3Dq7KfU/D1c= +k8s.io/cloud-provider v0.23.2 h1:bXZWXLjtzz2EMaPWIOwqS18XHYTMZSTDYHR48Ibrxz8= +k8s.io/cloud-provider v0.23.2/go.mod h1:ZJO37TsfHzOz+uQqxnnaR4S94ac9chjar8uHP+kUu2w= +k8s.io/cluster-bootstrap v0.23.2/go.mod h1:KSwHnKiP0O5VSkhXLpdNTiTga9/Yyb2/w7g1V1ZcXUk= +k8s.io/code-generator v0.23.2/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk= +k8s.io/component-base v0.23.2 h1:dAYmUhWIBWO762etTjBEEKtYYHi5CoQInSLtK6LM1Zs= +k8s.io/component-base v0.23.2/go.mod h1:wS9Z03MO3oJ0RU8bB/dbXTiluGju+SC/F5i660gxB8c= +k8s.io/component-helpers v0.23.2 h1:R1PaugmLBCMpc7+srxGL8DsH1NEo/KUSJPY62LVH8CU= +k8s.io/component-helpers v0.23.2/go.mod h1:J6CMwiaf0izLoNwiLl2OymB4+rGTsTpWp6PL/AqOM4U= +k8s.io/controller-manager v0.23.2/go.mod h1:l4+ZujXlzNpY1E9TkwaCB6BncYKyq2jD8OW6m8x35B0= +k8s.io/cri-api v0.23.2/go.mod h1:REJE3PSU0h/LOV1APBrupxrEJqnoxZC8KWzkBUHwrK4= +k8s.io/csi-translation-lib v0.23.2/go.mod h1:n3igp3ZXcg5XLwPjK03QTSWBIoksKo6oTKMdtRbVvx8= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= @@ -1719,26 +1718,26 @@ k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.40.1 h1:P4RRucWk/lFOlDdkAr3mc7iWFkgKrZY9qZMAgek06S4= k8s.io/klog/v2 v2.40.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-aggregator v0.23.0/go.mod h1:b1vpoaTWKZjCzvbe1KXFw3vPbISrghJsg7/RI8oZUME= -k8s.io/kube-controller-manager v0.23.0/go.mod h1:iHapRJJBe+fWu6hG3ye43YMFEeZcnIlRxDUS72bwJoE= +k8s.io/kube-aggregator v0.23.2/go.mod h1:hoxP4rZREnjCJmrb0pHFPqm7+pkxoFjh8IpXL7OBWRA= +k8s.io/kube-controller-manager v0.23.2/go.mod h1:vlHhiAlUMI4OMyu/qsmEKb+hklNOjj/ffh5dYufqfHk= k8s.io/kube-openapi v0.0.0-20180731170545-e3762e86a74c/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc= k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4= k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= -k8s.io/kube-proxy v0.23.0/go.mod h1:AFPfNIiOeDhHVtfN7ZfE1Wd8aP5qYov3khPu4VFeBb4= -k8s.io/kube-scheduler v0.23.0/go.mod h1:BXDjbJEXtr9PU5/XzLtWMNG6Mid4GYBSGVWzP72UxKk= -k8s.io/kubectl v0.23.0 h1:WABWfj+Z4tC3SfKBCtZr5sIVHsFtkU9Azii4DR9IT6Y= -k8s.io/kubectl v0.23.0/go.mod h1:TfcGEs3u4dkmoC2eku1GYymdGaMtPMcaLLFrX/RB2kI= -k8s.io/kubelet v0.23.0 h1:hHdHe/Hp3R2HzxnYI8/f173gDUOTRYERd7S7+to9MZw= -k8s.io/kubelet v0.23.0/go.mod h1:A4DxfIt5Ka+rz54HAFhs1bgiFjJT6lcaAYUcACZl1/k= -k8s.io/kubernetes v1.23.1 h1:iJfubd03CDap4m69Ue+u2I6quNUYiYlC8+TakEHATjc= -k8s.io/kubernetes v1.23.1/go.mod h1:baMGbPpwwP0kT/+eAPtdqoWNRoXyyTJ2Zf+fw/Y8t04= -k8s.io/legacy-cloud-providers v0.23.0/go.mod h1:tM5owPlhLyEYJC2FLHgcGu1jks5ANvH2JlY03mnUYU4= -k8s.io/metrics v0.23.0/go.mod h1:NDiZTwppEtAuKJ1Rxt3S4dhyRzdp6yUcJf0vo023dPo= -k8s.io/mount-utils v0.23.0 h1:8sGMlbbQOA268SidZVoL7wOgEcbByoa6+bvFZCywhbg= -k8s.io/mount-utils v0.23.0/go.mod h1:9pFhzVjxle1osJUo++9MFDat9HPkQUOoHCn+eExZ3Ew= -k8s.io/pod-security-admission v0.23.0/go.mod h1:vGExA081PHZFK9Yma4kuPtfWwy5zxbEUhniiUDKFicM= -k8s.io/sample-apiserver v0.23.0/go.mod h1:o0U/1hkfndbnLg1OfVHQiG08lmDkYJq7qljCuwjoTrI= +k8s.io/kube-proxy v0.23.2/go.mod h1:doKBcqhM+EgvOo145oP02zP1Hk11jOSKK+FiAS5zdlo= +k8s.io/kube-scheduler v0.23.2/go.mod h1:K70jKh9XukwUJNxXA6k+WJUAW9zZkGR3CGdUApZg0dc= +k8s.io/kubectl v0.23.2 h1:YakGzFN1csIOW/Us5VsLxjcu5Q6Vh5rqcvukcNuBwFk= +k8s.io/kubectl v0.23.2/go.mod h1:zWm5wt8PdRmHiVhE9a7q7XYW4WFX9StkZGnC18+1v3M= +k8s.io/kubelet v0.23.2 h1:hrixnMsh1yv7P/UZ/2QCBp7x6G4y3Fr5FiavF3a0MIw= +k8s.io/kubelet v0.23.2/go.mod h1:/Huumr8/3hz46AuMI64UBwns2t/dcogiR5XWF6yrHo0= +k8s.io/kubernetes v1.23.2 h1:Kp3cpKrv6VRQbaZoD6tVDjpKPIfNb5P34DLv7qQzf7U= +k8s.io/kubernetes v1.23.2/go.mod h1:UNnyc4mwldo0ipufrTkGbL06VQRtN9w9mLLTZLh56+w= +k8s.io/legacy-cloud-providers v0.23.2/go.mod h1:b4r2DrP+PT0D4kxenynayJ7kJQLwzoVHh1Lqw3cozwE= +k8s.io/metrics v0.23.2/go.mod h1:idJHc+lLK5teHUC6Z2+d6qTKA12d5FLDxmC/DHiUYKc= +k8s.io/mount-utils v0.23.2 h1:f6jSJ8Z/tKTLOEzBzpxd+QKP6swdH9/Z0DTfMxlKnR0= +k8s.io/mount-utils v0.23.2/go.mod h1:9pFhzVjxle1osJUo++9MFDat9HPkQUOoHCn+eExZ3Ew= +k8s.io/pod-security-admission v0.23.2/go.mod h1:qbwG5XF7vHgTTk8XemjkR1GXAmyNHQQAo5bHWAJSskE= +k8s.io/sample-apiserver v0.23.2/go.mod h1:E6yG+7Y6Y9ElyFOXUQb3CyO63FW20U0ut5fR4I8c70Y= k8s.io/system-validators v1.6.0/go.mod h1:bPldcLgkIUK22ALflnsXk8pvkTEndYdNuaHH6gRrl0Q= k8s.io/utils v0.0.0-20190506122338-8fab8cb257d5/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= @@ -1754,8 +1753,8 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8 rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.25 h1:DEQ12ZRxJjsglk5JIi5bLgpKaHihGervKmg5uryaEHw= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.25/go.mod h1:Mlj9PNLmG9bZ6BHFwFKDo5afkpWyUISkb9Me0GnK66I= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.27 h1:KQOkVzXrLNb0EP6W0FD6u3CCPAwgXFYwZitbj7K0P0Y= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.27/go.mod h1:tq2nT0Kx7W+/f2JVE+zxYtUhdjuELJkVpNz+x/QN5R4= sigs.k8s.io/controller-runtime v0.2.2/go.mod h1:9dyohw3ZtoXQuV1e766PHUn+cmrRCIcBh6XIMFNMZ+I= sigs.k8s.io/controller-runtime v0.11.0-beta.0.0.20211208212546-f236f0345ad2 h1:+ReKrjTrd57mtAU19BJkxSAaWRIQkFlaWcO6dGFVP1g= sigs.k8s.io/controller-runtime v0.11.0-beta.0.0.20211208212546-f236f0345ad2/go.mod h1:KKwLiTooNGu+JmLZGn9Sl3Gjmfj66eMbCQznLP5zcqA= @@ -1766,9 +1765,9 @@ sigs.k8s.io/kustomize/cmd/config v0.10.2/go.mod h1:K2aW7nXJ0AaT+VA/eO0/dzFLxmpFc sigs.k8s.io/kustomize/kustomize/v4 v4.4.1/go.mod h1:qOKJMMz2mBP+vcS7vK+mNz4HBLjaQSWRY22EF6Tb7Io= sigs.k8s.io/kustomize/kyaml v0.13.0/go.mod h1:FTJxEZ86ScK184NpGSAQcfEqee0nul8oLCK30D47m4E= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.0 h1:kDvPBbnPk+qYmkHmSo8vKGp438IASWofnbbUKDE/bv0= sigs.k8s.io/structured-merge-diff/v4 v4.2.0/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/testing_frameworks v0.1.1/go.mod h1:VVBKrHmJ6Ekkfz284YKhQePcdycOzNH9qL6ht1zEr/U= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/types.go b/vendor/k8s.io/api/autoscaling/v2beta1/types.go index c49c5e0c5..22bb7699e 100644 --- a/vendor/k8s.io/api/autoscaling/v2beta1/types.go +++ b/vendor/k8s.io/api/autoscaling/v2beta1/types.go @@ -449,7 +449,7 @@ type ExternalMetricStatus struct { // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // +k8s:prerelease-lifecycle-gen:introduced=1.8 // +k8s:prerelease-lifecycle-gen:deprecated=1.22 -// +k8s:prerelease-lifecycle-gen:replacement=autoscaling,v2beta2,HorizontalPodAutoscaler +// +k8s:prerelease-lifecycle-gen:replacement=autoscaling,v2,HorizontalPodAutoscaler // HorizontalPodAutoscaler is the configuration for a horizontal pod // autoscaler, which automatically manages the replica count of any resource diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.prerelease-lifecycle.go index 67d38d051..3437454ee 100644 --- a/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.prerelease-lifecycle.go +++ b/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.prerelease-lifecycle.go @@ -40,7 +40,7 @@ func (in *HorizontalPodAutoscaler) APILifecycleDeprecated() (major, minor int) { // APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type. // It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go. func (in *HorizontalPodAutoscaler) APILifecycleReplacement() schema.GroupVersionKind { - return schema.GroupVersionKind{Group: "autoscaling", Version: "v2beta2", Kind: "HorizontalPodAutoscaler"} + return schema.GroupVersionKind{Group: "autoscaling", Version: "v2", Kind: "HorizontalPodAutoscaler"} } // APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison. diff --git a/vendor/k8s.io/api/autoscaling/v2beta2/types.go b/vendor/k8s.io/api/autoscaling/v2beta2/types.go index 7619f1e00..10bdec5b9 100644 --- a/vendor/k8s.io/api/autoscaling/v2beta2/types.go +++ b/vendor/k8s.io/api/autoscaling/v2beta2/types.go @@ -28,6 +28,7 @@ import ( // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // +k8s:prerelease-lifecycle-gen:introduced=1.12 // +k8s:prerelease-lifecycle-gen:deprecated=1.23 +// +k8s:prerelease-lifecycle-gen:replacement=autoscaling,v2,HorizontalPodAutoscaler // HorizontalPodAutoscaler is the configuration for a horizontal pod // autoscaler, which automatically manages the replica count of any resource diff --git a/vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.prerelease-lifecycle.go index b8e49bc51..6d1c2504a 100644 --- a/vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.prerelease-lifecycle.go +++ b/vendor/k8s.io/api/autoscaling/v2beta2/zz_generated.prerelease-lifecycle.go @@ -21,6 +21,10 @@ limitations under the License. package v2beta2 +import ( + schema "k8s.io/apimachinery/pkg/runtime/schema" +) + // APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison. // It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go. func (in *HorizontalPodAutoscaler) APILifecycleIntroduced() (major, minor int) { @@ -33,6 +37,12 @@ func (in *HorizontalPodAutoscaler) APILifecycleDeprecated() (major, minor int) { return 1, 23 } +// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type. +// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go. +func (in *HorizontalPodAutoscaler) APILifecycleReplacement() schema.GroupVersionKind { + return schema.GroupVersionKind{Group: "autoscaling", Version: "v2", Kind: "HorizontalPodAutoscaler"} +} + // APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison. // It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor. func (in *HorizontalPodAutoscaler) APILifecycleRemoved() (major, minor int) { diff --git a/vendor/k8s.io/api/flowcontrol/v1alpha1/types.go b/vendor/k8s.io/api/flowcontrol/v1alpha1/types.go index 99b609494..5af677e2f 100644 --- a/vendor/k8s.io/api/flowcontrol/v1alpha1/types.go +++ b/vendor/k8s.io/api/flowcontrol/v1alpha1/types.go @@ -63,7 +63,7 @@ const ( // +k8s:prerelease-lifecycle-gen:introduced=1.18 // +k8s:prerelease-lifecycle-gen:deprecated=1.20 // +k8s:prerelease-lifecycle-gen:removed=1.21 -// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1beta1,FlowSchema +// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1beta2,FlowSchema // FlowSchema defines the schema of a group of flows. Note that a flow is made up of a set of inbound API requests with // similar attributes and is identified by a pair of strings: the name of the FlowSchema and a "flow distinguisher". @@ -87,7 +87,7 @@ type FlowSchema struct { // +k8s:prerelease-lifecycle-gen:introduced=1.18 // +k8s:prerelease-lifecycle-gen:deprecated=1.20 // +k8s:prerelease-lifecycle-gen:removed=1.21 -// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1beta1,FlowSchemaList +// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1beta2,FlowSchemaList // FlowSchemaList is a list of FlowSchema objects. type FlowSchemaList struct { @@ -344,7 +344,7 @@ type FlowSchemaConditionType string // +k8s:prerelease-lifecycle-gen:introduced=1.18 // +k8s:prerelease-lifecycle-gen:deprecated=1.20 // +k8s:prerelease-lifecycle-gen:removed=1.21 -// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1beta1,PriorityLevelConfiguration +// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1beta2,PriorityLevelConfiguration // PriorityLevelConfiguration represents the configuration of a priority level. type PriorityLevelConfiguration struct { @@ -367,7 +367,7 @@ type PriorityLevelConfiguration struct { // +k8s:prerelease-lifecycle-gen:introduced=1.18 // +k8s:prerelease-lifecycle-gen:deprecated=1.20 // +k8s:prerelease-lifecycle-gen:removed=1.21 -// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1beta1,PriorityLevelConfigurationList +// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1beta2,PriorityLevelConfigurationList // PriorityLevelConfigurationList is a list of PriorityLevelConfiguration objects. type PriorityLevelConfigurationList struct { diff --git a/vendor/k8s.io/api/flowcontrol/v1alpha1/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/flowcontrol/v1alpha1/zz_generated.prerelease-lifecycle.go index a248aec45..226014160 100644 --- a/vendor/k8s.io/api/flowcontrol/v1alpha1/zz_generated.prerelease-lifecycle.go +++ b/vendor/k8s.io/api/flowcontrol/v1alpha1/zz_generated.prerelease-lifecycle.go @@ -40,7 +40,7 @@ func (in *FlowSchema) APILifecycleDeprecated() (major, minor int) { // APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type. // It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go. func (in *FlowSchema) APILifecycleReplacement() schema.GroupVersionKind { - return schema.GroupVersionKind{Group: "flowcontrol.apiserver.k8s.io", Version: "v1beta1", Kind: "FlowSchema"} + return schema.GroupVersionKind{Group: "flowcontrol.apiserver.k8s.io", Version: "v1beta2", Kind: "FlowSchema"} } // APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison. @@ -64,7 +64,7 @@ func (in *FlowSchemaList) APILifecycleDeprecated() (major, minor int) { // APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type. // It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go. func (in *FlowSchemaList) APILifecycleReplacement() schema.GroupVersionKind { - return schema.GroupVersionKind{Group: "flowcontrol.apiserver.k8s.io", Version: "v1beta1", Kind: "FlowSchemaList"} + return schema.GroupVersionKind{Group: "flowcontrol.apiserver.k8s.io", Version: "v1beta2", Kind: "FlowSchemaList"} } // APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison. @@ -88,7 +88,7 @@ func (in *PriorityLevelConfiguration) APILifecycleDeprecated() (major, minor int // APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type. // It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go. func (in *PriorityLevelConfiguration) APILifecycleReplacement() schema.GroupVersionKind { - return schema.GroupVersionKind{Group: "flowcontrol.apiserver.k8s.io", Version: "v1beta1", Kind: "PriorityLevelConfiguration"} + return schema.GroupVersionKind{Group: "flowcontrol.apiserver.k8s.io", Version: "v1beta2", Kind: "PriorityLevelConfiguration"} } // APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison. @@ -112,7 +112,7 @@ func (in *PriorityLevelConfigurationList) APILifecycleDeprecated() (major, minor // APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type. // It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go. func (in *PriorityLevelConfigurationList) APILifecycleReplacement() schema.GroupVersionKind { - return schema.GroupVersionKind{Group: "flowcontrol.apiserver.k8s.io", Version: "v1beta1", Kind: "PriorityLevelConfigurationList"} + return schema.GroupVersionKind{Group: "flowcontrol.apiserver.k8s.io", Version: "v1beta2", Kind: "PriorityLevelConfigurationList"} } // APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison. diff --git a/vendor/k8s.io/api/flowcontrol/v1beta1/types.go b/vendor/k8s.io/api/flowcontrol/v1beta1/types.go index 767a32e7f..b45732642 100644 --- a/vendor/k8s.io/api/flowcontrol/v1beta1/types.go +++ b/vendor/k8s.io/api/flowcontrol/v1beta1/types.go @@ -105,6 +105,7 @@ const ( // +genclient:nonNamespaced // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // +k8s:prerelease-lifecycle-gen:introduced=1.20 +// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1beta2,FlowSchema // FlowSchema defines the schema of a group of flows. Note that a flow is made up of a set of inbound API requests with // similar attributes and is identified by a pair of strings: the name of the FlowSchema and a "flow distinguisher". @@ -126,6 +127,7 @@ type FlowSchema struct { // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // +k8s:prerelease-lifecycle-gen:introduced=1.20 +// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1beta2,FlowSchemaList // FlowSchemaList is a list of FlowSchema objects. type FlowSchemaList struct { @@ -380,6 +382,7 @@ type FlowSchemaConditionType string // +genclient:nonNamespaced // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // +k8s:prerelease-lifecycle-gen:introduced=1.20 +// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1beta2,PriorityLevelConfiguration // PriorityLevelConfiguration represents the configuration of a priority level. type PriorityLevelConfiguration struct { @@ -400,6 +403,7 @@ type PriorityLevelConfiguration struct { // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // +k8s:prerelease-lifecycle-gen:introduced=1.20 +// +k8s:prerelease-lifecycle-gen:replacement=flowcontrol.apiserver.k8s.io,v1beta2,PriorityLevelConfigurationList // PriorityLevelConfigurationList is a list of PriorityLevelConfiguration objects. type PriorityLevelConfigurationList struct { diff --git a/vendor/k8s.io/api/flowcontrol/v1beta1/zz_generated.prerelease-lifecycle.go b/vendor/k8s.io/api/flowcontrol/v1beta1/zz_generated.prerelease-lifecycle.go index f02fcdccd..ed1e16c26 100644 --- a/vendor/k8s.io/api/flowcontrol/v1beta1/zz_generated.prerelease-lifecycle.go +++ b/vendor/k8s.io/api/flowcontrol/v1beta1/zz_generated.prerelease-lifecycle.go @@ -21,6 +21,10 @@ limitations under the License. package v1beta1 +import ( + schema "k8s.io/apimachinery/pkg/runtime/schema" +) + // APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison. // It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go. func (in *FlowSchema) APILifecycleIntroduced() (major, minor int) { @@ -33,6 +37,12 @@ func (in *FlowSchema) APILifecycleDeprecated() (major, minor int) { return 1, 23 } +// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type. +// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go. +func (in *FlowSchema) APILifecycleReplacement() schema.GroupVersionKind { + return schema.GroupVersionKind{Group: "flowcontrol.apiserver.k8s.io", Version: "v1beta2", Kind: "FlowSchema"} +} + // APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison. // It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor. func (in *FlowSchema) APILifecycleRemoved() (major, minor int) { @@ -51,6 +61,12 @@ func (in *FlowSchemaList) APILifecycleDeprecated() (major, minor int) { return 1, 23 } +// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type. +// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go. +func (in *FlowSchemaList) APILifecycleReplacement() schema.GroupVersionKind { + return schema.GroupVersionKind{Group: "flowcontrol.apiserver.k8s.io", Version: "v1beta2", Kind: "FlowSchemaList"} +} + // APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison. // It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor. func (in *FlowSchemaList) APILifecycleRemoved() (major, minor int) { @@ -69,6 +85,12 @@ func (in *PriorityLevelConfiguration) APILifecycleDeprecated() (major, minor int return 1, 23 } +// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type. +// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go. +func (in *PriorityLevelConfiguration) APILifecycleReplacement() schema.GroupVersionKind { + return schema.GroupVersionKind{Group: "flowcontrol.apiserver.k8s.io", Version: "v1beta2", Kind: "PriorityLevelConfiguration"} +} + // APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison. // It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor. func (in *PriorityLevelConfiguration) APILifecycleRemoved() (major, minor int) { @@ -87,6 +109,12 @@ func (in *PriorityLevelConfigurationList) APILifecycleDeprecated() (major, minor return 1, 23 } +// APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type. +// It is controlled by "k8s:prerelease-lifecycle-gen:replacement=,," tags in types.go. +func (in *PriorityLevelConfigurationList) APILifecycleReplacement() schema.GroupVersionKind { + return schema.GroupVersionKind{Group: "flowcontrol.apiserver.k8s.io", Version: "v1beta2", Kind: "PriorityLevelConfigurationList"} +} + // APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison. // It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor. func (in *PriorityLevelConfigurationList) APILifecycleRemoved() (major, minor int) { diff --git a/vendor/k8s.io/client-go/tools/pager/pager.go b/vendor/k8s.io/client-go/tools/pager/pager.go index f6c6a0129..805859e09 100644 --- a/vendor/k8s.io/client-go/tools/pager/pager.go +++ b/vendor/k8s.io/client-go/tools/pager/pager.go @@ -78,6 +78,7 @@ func (p *ListPager) List(ctx context.Context, options metav1.ListOptions) (runti options.Limit = p.PageSize } requestedResourceVersion := options.ResourceVersion + requestedResourceVersionMatch := options.ResourceVersionMatch var list *metainternalversion.List paginatedResult := false @@ -102,6 +103,7 @@ func (p *ListPager) List(ctx context.Context, options metav1.ListOptions) (runti options.Limit = 0 options.Continue = "" options.ResourceVersion = requestedResourceVersion + options.ResourceVersionMatch = requestedResourceVersionMatch result, err := p.PageFn(ctx, options) return result, paginatedResult, err } @@ -135,10 +137,11 @@ func (p *ListPager) List(ctx context.Context, options metav1.ListOptions) (runti // set the next loop up options.Continue = m.GetContinue() - // Clear the ResourceVersion on the subsequent List calls to avoid the + // Clear the ResourceVersion(Match) on the subsequent List calls to avoid the // `specifying resource version is not allowed when using continue` error. // See https://github.com/kubernetes/kubernetes/issues/85221#issuecomment-553748143. options.ResourceVersion = "" + options.ResourceVersionMatch = "" // At this point, result is already paginated. paginatedResult = true } diff --git a/vendor/k8s.io/mount-utils/mount_helper_common.go b/vendor/k8s.io/mount-utils/mount_helper_common.go index dd4dc2c8e..196ae30ad 100644 --- a/vendor/k8s.io/mount-utils/mount_helper_common.go +++ b/vendor/k8s.io/mount-utils/mount_helper_common.go @@ -135,17 +135,3 @@ func removePathIfNotMountPoint(mountPath string, mounter Interface, extensiveMou } return notMnt, nil } - -// PathExists returns true if the specified path exists. -// TODO: clean this up to use pkg/util/file/FileExists -func PathExists(path string) (bool, error) { - _, err := os.Stat(path) - if err == nil { - return true, nil - } else if os.IsNotExist(err) { - return false, nil - } else if IsCorruptedMnt(err) { - return true, err - } - return false, err -} diff --git a/vendor/k8s.io/mount-utils/mount_helper_unix.go b/vendor/k8s.io/mount-utils/mount_helper_unix.go index 77fb817db..013c688a2 100644 --- a/vendor/k8s.io/mount-utils/mount_helper_unix.go +++ b/vendor/k8s.io/mount-utils/mount_helper_unix.go @@ -20,12 +20,15 @@ limitations under the License. package mount import ( + "errors" "fmt" + "io/fs" "os" "strconv" "strings" "syscall" + "k8s.io/klog/v2" utilio "k8s.io/utils/io" ) @@ -51,6 +54,8 @@ func IsCorruptedMnt(err error) bool { underlyingError = pe.Err case *os.SyscallError: underlyingError = pe.Err + case syscall.Errno: + underlyingError = err } return underlyingError == syscall.ENOTCONN || underlyingError == syscall.ESTALE || underlyingError == syscall.EIO || underlyingError == syscall.EACCES || underlyingError == syscall.EHOSTDOWN @@ -157,3 +162,26 @@ func isMountPointMatch(mp MountPoint, dir string) bool { deletedDir := fmt.Sprintf("%s\\040(deleted)", dir) return ((mp.Path == dir) || (mp.Path == deletedDir)) } + +// PathExists returns true if the specified path exists. +// TODO: clean this up to use pkg/util/file/FileExists +func PathExists(path string) (bool, error) { + _, err := os.Stat(path) + if err == nil { + return true, nil + } else if errors.Is(err, fs.ErrNotExist) { + err = syscall.Access(path, syscall.F_OK) + if err == nil { + // The access syscall says the file exists, the stat syscall says it + // doesn't. This was observed on CIFS when the path was removed at + // the server somehow. POSIX calls this a stale file handle, let's fake + // that error and treat the path as existing but corrupted. + klog.Warningf("Potential stale file handle detected: %s", path) + return true, syscall.ESTALE + } + return false, nil + } else if IsCorruptedMnt(err) { + return true, err + } + return false, err +} diff --git a/vendor/k8s.io/mount-utils/mount_helper_windows.go b/vendor/k8s.io/mount-utils/mount_helper_windows.go index 7653062f6..995fd5a0c 100644 --- a/vendor/k8s.io/mount-utils/mount_helper_windows.go +++ b/vendor/k8s.io/mount-utils/mount_helper_windows.go @@ -95,3 +95,17 @@ func ValidateDiskNumber(disk string) error { func isMountPointMatch(mp MountPoint, dir string) bool { return mp.Path == dir } + +// PathExists returns true if the specified path exists. +// TODO: clean this up to use pkg/util/file/FileExists +func PathExists(path string) (bool, error) { + _, err := os.Stat(path) + if err == nil { + return true, nil + } else if os.IsNotExist(err) { + return false, nil + } else if IsCorruptedMnt(err) { + return true, err + } + return false, err +} diff --git a/vendor/modules.txt b/vendor/modules.txt index fadd0aa35..d970382a4 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -695,7 +695,7 @@ gopkg.in/yaml.v2 # gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b ## explicit gopkg.in/yaml.v3 -# k8s.io/api v0.23.0 => k8s.io/api v0.23.0 +# k8s.io/api v0.23.2 => k8s.io/api v0.23.2 ## explicit; go 1.16 k8s.io/api/admission/v1 k8s.io/api/admission/v1beta1 @@ -744,7 +744,7 @@ k8s.io/api/scheduling/v1beta1 k8s.io/api/storage/v1 k8s.io/api/storage/v1alpha1 k8s.io/api/storage/v1beta1 -# k8s.io/apimachinery v0.23.0 => k8s.io/apimachinery v0.23.0 +# k8s.io/apimachinery v0.23.2 => k8s.io/apimachinery v0.23.2 ## explicit; go 1.16 k8s.io/apimachinery/pkg/api/equality k8s.io/apimachinery/pkg/api/errors @@ -800,7 +800,7 @@ k8s.io/apimachinery/pkg/watch k8s.io/apimachinery/third_party/forked/golang/json k8s.io/apimachinery/third_party/forked/golang/netutil k8s.io/apimachinery/third_party/forked/golang/reflect -# k8s.io/apiserver v0.23.0 => k8s.io/apiserver v0.23.0 +# k8s.io/apiserver v0.23.2 => k8s.io/apiserver v0.23.2 ## explicit; go 1.16 k8s.io/apiserver/pkg/admission k8s.io/apiserver/pkg/admission/configuration @@ -841,7 +841,7 @@ k8s.io/apiserver/pkg/util/feature k8s.io/apiserver/pkg/util/webhook k8s.io/apiserver/pkg/util/x509metrics k8s.io/apiserver/pkg/warning -# k8s.io/client-go v12.0.0+incompatible => k8s.io/client-go v0.23.0 +# k8s.io/client-go v12.0.0+incompatible => k8s.io/client-go v0.23.2 ## explicit; go 1.16 k8s.io/client-go/applyconfigurations/admissionregistration/v1 k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1 @@ -1084,12 +1084,12 @@ k8s.io/client-go/util/homedir k8s.io/client-go/util/keyutil k8s.io/client-go/util/retry k8s.io/client-go/util/workqueue -# k8s.io/cloud-provider v0.23.0 => k8s.io/cloud-provider v0.23.0 +# k8s.io/cloud-provider v0.23.2 => k8s.io/cloud-provider v0.23.2 ## explicit; go 1.16 k8s.io/cloud-provider k8s.io/cloud-provider/volume k8s.io/cloud-provider/volume/helpers -# k8s.io/component-base v0.23.0 => k8s.io/component-base v0.23.0 +# k8s.io/component-base v0.23.2 => k8s.io/component-base v0.23.2 ## explicit; go 1.16 k8s.io/component-base/cli/flag k8s.io/component-base/config @@ -1100,7 +1100,7 @@ k8s.io/component-base/metrics/legacyregistry k8s.io/component-base/metrics/testutil k8s.io/component-base/traces k8s.io/component-base/version -# k8s.io/component-helpers v0.23.0 => k8s.io/component-helpers v0.23.0 +# k8s.io/component-helpers v0.23.2 => k8s.io/component-helpers v0.23.2 ## explicit; go 1.16 k8s.io/component-helpers/node/util/sysctl k8s.io/component-helpers/scheduling/corev1 @@ -1112,14 +1112,14 @@ k8s.io/klog/v2 ## explicit; go 1.16 k8s.io/kube-openapi/pkg/schemaconv k8s.io/kube-openapi/pkg/util/proto -# k8s.io/kubectl v0.0.0 => k8s.io/kubectl v0.23.0 +# k8s.io/kubectl v0.0.0 => k8s.io/kubectl v0.23.2 ## explicit; go 1.16 k8s.io/kubectl/pkg/scale k8s.io/kubectl/pkg/util/podutils -# k8s.io/kubelet v0.0.0 => k8s.io/kubelet v0.23.0 +# k8s.io/kubelet v0.0.0 => k8s.io/kubelet v0.23.2 ## explicit; go 1.16 k8s.io/kubelet/pkg/apis/stats/v1alpha1 -# k8s.io/kubernetes v1.23.1 +# k8s.io/kubernetes v1.23.2 ## explicit; go 1.16 k8s.io/kubernetes/pkg/api/legacyscheme k8s.io/kubernetes/pkg/api/service @@ -1182,7 +1182,7 @@ k8s.io/kubernetes/test/e2e/storage/podlogs k8s.io/kubernetes/test/e2e/storage/utils k8s.io/kubernetes/test/utils k8s.io/kubernetes/test/utils/image -# k8s.io/mount-utils v0.23.0 => k8s.io/mount-utils v0.23.0 +# k8s.io/mount-utils v0.23.2 => k8s.io/mount-utils v0.23.2 ## explicit; go 1.16 k8s.io/mount-utils # k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b @@ -1202,7 +1202,7 @@ k8s.io/utils/nsenter k8s.io/utils/path k8s.io/utils/pointer k8s.io/utils/trace -# sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.25 +# sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.27 ## explicit; go 1.17 sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client sigs.k8s.io/apiserver-network-proxy/konnectivity-client/proto/client @@ -1247,7 +1247,7 @@ sigs.k8s.io/controller-runtime/pkg/webhook/internal/metrics ## explicit; go 1.16 sigs.k8s.io/json sigs.k8s.io/json/internal/golang/encoding/json -# sigs.k8s.io/structured-merge-diff/v4 v4.2.0 +# sigs.k8s.io/structured-merge-diff/v4 v4.2.1 ## explicit; go 1.13 sigs.k8s.io/structured-merge-diff/v4/fieldpath sigs.k8s.io/structured-merge-diff/v4/schema @@ -1261,29 +1261,29 @@ sigs.k8s.io/yaml # github.com/golang/protobuf => github.com/golang/protobuf v1.4.3 # github.com/portworx/sched-ops => github.com/portworx/sched-ops v0.20.4-openstorage-rc3 # gomodules.xyz/jsonpatch/v2 => github.com/gomodules/jsonpatch/v2 v2.2.0 -# k8s.io/api => k8s.io/api v0.23.0 -# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.23.0 -# k8s.io/apimachinery => k8s.io/apimachinery v0.23.0 -# k8s.io/apiserver => k8s.io/apiserver v0.23.0 -# k8s.io/cli-runtime => k8s.io/cli-runtime v0.23.0 -# k8s.io/client-go => k8s.io/client-go v0.23.0 -# k8s.io/cloud-provider => k8s.io/cloud-provider v0.23.0 -# k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.23.0 -# k8s.io/code-generator => k8s.io/code-generator v0.23.0 -# k8s.io/component-base => k8s.io/component-base v0.23.0 -# k8s.io/component-helpers => k8s.io/component-helpers v0.23.0 -# k8s.io/controller-manager => k8s.io/controller-manager v0.23.0 -# k8s.io/cri-api => k8s.io/cri-api v0.23.0 -# k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.23.0 -# k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.23.0 -# k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.23.0 -# k8s.io/kube-proxy => k8s.io/kube-proxy v0.23.0 -# k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.23.0 -# k8s.io/kubectl => k8s.io/kubectl v0.23.0 -# k8s.io/kubelet => k8s.io/kubelet v0.23.0 -# k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.23.0 -# k8s.io/metrics => k8s.io/metrics v0.23.0 -# k8s.io/mount-utils => k8s.io/mount-utils v0.23.0 -# k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.23.0 -# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.23.0 +# k8s.io/api => k8s.io/api v0.23.2 +# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.23.2 +# k8s.io/apimachinery => k8s.io/apimachinery v0.23.2 +# k8s.io/apiserver => k8s.io/apiserver v0.23.2 +# k8s.io/cli-runtime => k8s.io/cli-runtime v0.23.2 +# k8s.io/client-go => k8s.io/client-go v0.23.2 +# k8s.io/cloud-provider => k8s.io/cloud-provider v0.23.2 +# k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.23.2 +# k8s.io/code-generator => k8s.io/code-generator v0.23.2 +# k8s.io/component-base => k8s.io/component-base v0.23.2 +# k8s.io/component-helpers => k8s.io/component-helpers v0.23.2 +# k8s.io/controller-manager => k8s.io/controller-manager v0.23.2 +# k8s.io/cri-api => k8s.io/cri-api v0.23.2 +# k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.23.2 +# k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.23.2 +# k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.23.2 +# k8s.io/kube-proxy => k8s.io/kube-proxy v0.23.2 +# k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.23.2 +# k8s.io/kubectl => k8s.io/kubectl v0.23.2 +# k8s.io/kubelet => k8s.io/kubelet v0.23.2 +# k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.23.2 +# k8s.io/metrics => k8s.io/metrics v0.23.2 +# k8s.io/mount-utils => k8s.io/mount-utils v0.23.2 +# k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.23.2 +# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.23.2 # layeh.com/radius => github.com/layeh/radius v0.0.0-20190322222518-890bc1058917 diff --git a/vendor/sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/client.go b/vendor/sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/client.go index 31bf9e11f..6f247128d 100644 --- a/vendor/sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/client.go +++ b/vendor/sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/client.go @@ -114,13 +114,14 @@ func (t *grpcTunnel) serve(c clientConn) { t.pendingDialLock.RUnlock() if !ok { - klog.V(1).Infoln("DialResp not recognized; dropped") + klog.V(1).InfoS("DialResp not recognized; dropped", "connectionID", resp.ConnectID, "dialID", resp.Random) + return } else { result := dialResult{ err: resp.Error, connid: resp.ConnectID, } - select { + select { case ch <- result: default: klog.ErrorS(fmt.Errorf("blocked pending channel"), "Received second dial response for connection request", "connectionID", resp.ConnectID, "dialID", resp.Random) diff --git a/vendor/sigs.k8s.io/structured-merge-diff/v4/typed/merge.go b/vendor/sigs.k8s.io/structured-merge-diff/v4/typed/merge.go index afec9f3cf..75244ef64 100644 --- a/vendor/sigs.k8s.io/structured-merge-diff/v4/typed/merge.go +++ b/vendor/sigs.k8s.io/structured-merge-diff/v4/typed/merge.go @@ -17,8 +17,6 @@ limitations under the License. package typed import ( - "math" - "sigs.k8s.io/structured-merge-diff/v4/fieldpath" "sigs.k8s.io/structured-merge-diff/v4/schema" "sigs.k8s.io/structured-merge-diff/v4/value" @@ -170,74 +168,94 @@ func (w *mergingWalker) visitListItems(t *schema.List, lhs, rhs value.List) (err if lhs != nil { lLen = lhs.Length() } - out := make([]interface{}, 0, int(math.Max(float64(rLen), float64(lLen)))) + outLen := lLen + if outLen < rLen { + outLen = rLen + } + out := make([]interface{}, 0, outLen) - lhsOrder := make([]fieldpath.PathElement, 0, lLen) + rhsOrder, observedRHS, rhsErrs := w.indexListPathElements(t, rhs) + errs = append(errs, rhsErrs...) + lhsOrder, observedLHS, lhsErrs := w.indexListPathElements(t, lhs) + errs = append(errs, lhsErrs...) - // First, collect all LHS children. - observedLHS := fieldpath.MakePathElementValueMap(lLen) - if lhs != nil { - for i := 0; i < lhs.Length(); i++ { - child := lhs.At(i) - pe, err := listItemToPathElement(w.allocator, w.schema, t, i, child) - if err != nil { - errs = append(errs, errorf("lhs: element %v: %v", i, err.Error())...) - // If we can't construct the path element, we can't - // even report errors deeper in the schema, so bail on - // this element. - continue - } - if _, ok := observedLHS.Get(pe); ok { - errs = append(errs, errorf("lhs: duplicate entries for key %v", pe.String())...) - } - observedLHS.Insert(pe, child) - lhsOrder = append(lhsOrder, pe) + sharedOrder := make([]*fieldpath.PathElement, 0, rLen) + for i := range rhsOrder { + pe := &rhsOrder[i] + if _, ok := observedLHS.Get(*pe); ok { + sharedOrder = append(sharedOrder, pe) } } - // Then merge with RHS children. - observedRHS := fieldpath.MakePathElementSet(rLen) - if rhs != nil { - for i := 0; i < rhs.Length(); i++ { - child := rhs.At(i) - pe, err := listItemToPathElement(w.allocator, w.schema, t, i, child) - if err != nil { - errs = append(errs, errorf("rhs: element %v: %v", i, err.Error())...) - // If we can't construct the path element, we can't - // even report errors deeper in the schema, so bail on - // this element. - continue - } - if observedRHS.Has(pe) { - errs = append(errs, errorf("rhs: duplicate entries for key %v", pe.String())...) - continue - } - observedRHS.Insert(pe) - w2 := w.prepareDescent(pe, t.ElementType) - w2.rhs = child - if lchild, ok := observedLHS.Get(pe); ok { - w2.lhs = lchild - } - errs = append(errs, w2.merge(pe.String)...) - if w2.out != nil { - out = append(out, *w2.out) - } - w.finishDescent(w2) - } + var nextShared *fieldpath.PathElement + if len(sharedOrder) > 0 { + nextShared = sharedOrder[0] + sharedOrder = sharedOrder[1:] } - for _, pe := range lhsOrder { - if observedRHS.Has(pe) { - continue + lLen, rLen = len(lhsOrder), len(rhsOrder) + for lI, rI := 0, 0; lI < lLen || rI < rLen; { + if lI < lLen && rI < rLen { + pe := lhsOrder[lI] + if pe.Equals(rhsOrder[rI]) { + // merge LHS & RHS items + lChild, _ := observedLHS.Get(pe) + rChild, _ := observedRHS.Get(pe) + mergeOut, errs := w.mergeListItem(t, pe, lChild, rChild) + errs = append(errs, errs...) + if mergeOut != nil { + out = append(out, *mergeOut) + } + lI++ + rI++ + + nextShared = nil + if len(sharedOrder) > 0 { + nextShared = sharedOrder[0] + sharedOrder = sharedOrder[1:] + } + continue + } + if _, ok := observedRHS.Get(pe); ok && nextShared != nil && !nextShared.Equals(lhsOrder[lI]) { + // shared item, but not the one we want in this round + lI++ + continue + } } - value, _ := observedLHS.Get(pe) - w2 := w.prepareDescent(pe, t.ElementType) - w2.lhs = value - errs = append(errs, w2.merge(pe.String)...) - if w2.out != nil { - out = append(out, *w2.out) + if lI < lLen { + pe := lhsOrder[lI] + if _, ok := observedRHS.Get(pe); !ok { + // take LHS item + lChild, _ := observedLHS.Get(pe) + mergeOut, errs := w.mergeListItem(t, pe, lChild, nil) + errs = append(errs, errs...) + if mergeOut != nil { + out = append(out, *mergeOut) + } + lI++ + continue + } + } + if rI < rLen { + // Take the RHS item, merge with matching LHS item if possible + pe := rhsOrder[rI] + lChild, _ := observedLHS.Get(pe) // may be nil + rChild, _ := observedRHS.Get(pe) + mergeOut, errs := w.mergeListItem(t, pe, lChild, rChild) + errs = append(errs, errs...) + if mergeOut != nil { + out = append(out, *mergeOut) + } + rI++ + // Advance nextShared, if we are merging nextShared. + if nextShared != nil && nextShared.Equals(pe) { + nextShared = nil + if len(sharedOrder) > 0 { + nextShared = sharedOrder[0] + sharedOrder = sharedOrder[1:] + } + } } - w.finishDescent(w2) } if len(out) > 0 { @@ -248,6 +266,46 @@ func (w *mergingWalker) visitListItems(t *schema.List, lhs, rhs value.List) (err return errs } +func (w *mergingWalker) indexListPathElements(t *schema.List, list value.List) ([]fieldpath.PathElement, fieldpath.PathElementValueMap, ValidationErrors) { + var errs ValidationErrors + length := 0 + if list != nil { + length = list.Length() + } + observed := fieldpath.MakePathElementValueMap(length) + pes := make([]fieldpath.PathElement, 0, length) + for i := 0; i < length; i++ { + child := list.At(i) + pe, err := listItemToPathElement(w.allocator, w.schema, t, i, child) + if err != nil { + errs = append(errs, errorf("element %v: %v", i, err.Error())...) + // If we can't construct the path element, we can't + // even report errors deeper in the schema, so bail on + // this element. + continue + } + if _, found := observed.Get(pe); found { + errs = append(errs, errorf("duplicate entries for key %v", pe.String())...) + continue + } + observed.Insert(pe, child) + pes = append(pes, pe) + } + return pes, observed, errs +} + +func (w *mergingWalker) mergeListItem(t *schema.List, pe fieldpath.PathElement, lChild, rChild value.Value) (out *interface{}, errs ValidationErrors) { + w2 := w.prepareDescent(pe, t.ElementType) + w2.lhs = lChild + w2.rhs = rChild + errs = append(errs, w2.merge(pe.String)...) + if w2.out != nil { + out = w2.out + } + w.finishDescent(w2) + return +} + func (w *mergingWalker) derefList(prefix string, v value.Value) (value.List, ValidationErrors) { if v == nil { return nil, nil From c32bf718467540f1ea6b6def2f27b25e1aefab85 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Fri, 21 Jan 2022 11:40:38 +0530 Subject: [PATCH 23/30] deploy: re-alignment of code in rook.sh currently, rook.sh code is not aligned properly unside the functions, this commit does the code alignment. PS: this is done by vscode for me :) Signed-off-by: Madhu Rajanna --- scripts/rook.sh | 99 +++++++++++++++++++++++++------------------------ 1 file changed, 50 insertions(+), 49 deletions(-) diff --git a/scripts/rook.sh b/scripts/rook.sh index 1b0397aa1..5b1fa2d60 100755 --- a/scripts/rook.sh +++ b/scripts/rook.sh @@ -34,56 +34,55 @@ rook_version() { } function deploy_rook() { - kubectl_retry create -f "${ROOK_URL}/common.yaml" + kubectl_retry create -f "${ROOK_URL}/common.yaml" - # If rook version is > 1.5 , we will apply CRDs. - ROOK_MAJOR=$(rook_version 1) - ROOK_MINOR=$(rook_version 2) - if [ "${ROOK_MAJOR}" -eq 1 ] && [ "${ROOK_MINOR}" -ge 5 ]; - then - kubectl_retry create -f "${ROOK_URL}/crds.yaml" - fi - TEMP_DIR="$(mktemp -d)" - curl -o "${TEMP_DIR}/operator.yaml" "${ROOK_URL}/operator.yaml" - # disable rook deployed csi drivers - sed -i 's|ROOK_CSI_ENABLE_CEPHFS: "true"|ROOK_CSI_ENABLE_CEPHFS: "false"|g' "${TEMP_DIR}/operator.yaml" - sed -i 's|ROOK_CSI_ENABLE_RBD: "true"|ROOK_CSI_ENABLE_RBD: "false"|g' "${TEMP_DIR}/operator.yaml" + ROOK_MAJOR=$(rook_version 1) + ROOK_MINOR=$(rook_version 2) - kubectl_retry create -f "${TEMP_DIR}/operator.yaml" - # Override the ceph version which rook installs by default. - if [ -z "${ROOK_CEPH_CLUSTER_IMAGE}" ] - then - kubectl_retry create -f "${ROOK_URL}/cluster-test.yaml" - else - ROOK_CEPH_CLUSTER_VERSION_IMAGE_PATH="image: ${ROOK_CEPH_CLUSTER_IMAGE}" + # If rook version is > 1.5 , we will apply CRDs. + if [ "${ROOK_MAJOR}" -eq 1 ] && [ "${ROOK_MINOR}" -ge 5 ]; then + kubectl_retry create -f "${ROOK_URL}/crds.yaml" + fi + TEMP_DIR="$(mktemp -d)" + curl -o "${TEMP_DIR}/operator.yaml" "${ROOK_URL}/operator.yaml" + # disable rook deployed csi drivers + sed -i 's|ROOK_CSI_ENABLE_CEPHFS: "true"|ROOK_CSI_ENABLE_CEPHFS: "false"|g' "${TEMP_DIR}/operator.yaml" + sed -i 's|ROOK_CSI_ENABLE_RBD: "true"|ROOK_CSI_ENABLE_RBD: "false"|g' "${TEMP_DIR}/operator.yaml" - curl -o "${TEMP_DIR}"/cluster-test.yaml "${ROOK_URL}/cluster-test.yaml" - sed -i "s|image.*|${ROOK_CEPH_CLUSTER_VERSION_IMAGE_PATH}|g" "${TEMP_DIR}"/cluster-test.yaml - sed -i "s/config: |/config: |\n \[mon\]\n mon_warn_on_insecure_global_id_reclaim_allowed = false/g" "${TEMP_DIR}"/cluster-test.yaml - sed -i "s/healthCheck:/healthCheck:\n livenessProbe:\n mon:\n disabled: true\n mgr:\n disabled: true\n mds:\n disabled: true/g" "${TEMP_DIR}"/cluster-test.yaml - cat "${TEMP_DIR}"/cluster-test.yaml - kubectl_retry create -f "${TEMP_DIR}/cluster-test.yaml" - fi - rm -rf "${TEMP_DIR}" + kubectl_retry create -f "${TEMP_DIR}/operator.yaml" + # Override the ceph version which rook installs by default. + if [ -z "${ROOK_CEPH_CLUSTER_IMAGE}" ]; then + kubectl_retry create -f "${ROOK_URL}/cluster-test.yaml" + else + ROOK_CEPH_CLUSTER_VERSION_IMAGE_PATH="image: ${ROOK_CEPH_CLUSTER_IMAGE}" - kubectl_retry create -f "${ROOK_URL}/toolbox.yaml" - kubectl_retry create -f "${ROOK_URL}/filesystem-test.yaml" - kubectl_retry create -f "${ROOK_URL}/pool-test.yaml" + curl -o "${TEMP_DIR}"/cluster-test.yaml "${ROOK_URL}/cluster-test.yaml" + sed -i "s|image.*|${ROOK_CEPH_CLUSTER_VERSION_IMAGE_PATH}|g" "${TEMP_DIR}"/cluster-test.yaml + sed -i "s/config: |/config: |\n \[mon\]\n mon_warn_on_insecure_global_id_reclaim_allowed = false/g" "${TEMP_DIR}"/cluster-test.yaml + sed -i "s/healthCheck:/healthCheck:\n livenessProbe:\n mon:\n disabled: true\n mgr:\n disabled: true\n mds:\n disabled: true/g" "${TEMP_DIR}"/cluster-test.yaml + cat "${TEMP_DIR}"/cluster-test.yaml + kubectl_retry create -f "${TEMP_DIR}/cluster-test.yaml" + fi + rm -rf "${TEMP_DIR}" - # Check if CephCluster is empty - if ! kubectl_retry -n rook-ceph get cephclusters -oyaml | grep 'items: \[\]' &>/dev/null; then - check_ceph_cluster_health - fi + kubectl_retry create -f "${ROOK_URL}/toolbox.yaml" + kubectl_retry create -f "${ROOK_URL}/filesystem-test.yaml" + kubectl_retry create -f "${ROOK_URL}/pool-test.yaml" - # Check if CephFileSystem is empty - if ! kubectl_retry -n rook-ceph get cephfilesystems -oyaml | grep 'items: \[\]' &>/dev/null; then - check_mds_stat - fi + # Check if CephCluster is empty + if ! kubectl_retry -n rook-ceph get cephclusters -oyaml | grep 'items: \[\]' &>/dev/null; then + check_ceph_cluster_health + fi - # Check if CephBlockPool is empty - if ! kubectl_retry -n rook-ceph get cephblockpools -oyaml | grep 'items: \[\]' &>/dev/null; then - check_rbd_stat "" - fi + # Check if CephFileSystem is empty + if ! kubectl_retry -n rook-ceph get cephfilesystems -oyaml | grep 'items: \[\]' &>/dev/null; then + check_mds_stat + fi + + # Check if CephBlockPool is empty + if ! kubectl_retry -n rook-ceph get cephblockpools -oyaml | grep 'items: \[\]' &>/dev/null; then + check_rbd_stat "" + fi } function teardown_rook() { @@ -93,10 +92,9 @@ function teardown_rook() { kubectl delete -f "${ROOK_URL}/cluster-test.yaml" kubectl delete -f "${ROOK_URL}/operator.yaml" ROOK_MAJOR=$(rook_version 1) - ROOK_MINOR=$(rook_version 2) - if [ "${ROOK_MAJOR}" -eq 1 ] && [ "${ROOK_MINOR}" -ge 5 ]; - then - kubectl delete -f "${ROOK_URL}/crds.yaml" + ROOK_MINOR=$(rook_version 2) + if [ "${ROOK_MAJOR}" -eq 1 ] && [ "${ROOK_MINOR}" -ge 5 ]; then + kubectl delete -f "${ROOK_URL}/crds.yaml" fi kubectl delete -f "${ROOK_URL}/common.yaml" } @@ -192,8 +190,11 @@ function check_rbd_stat() { TOOLBOX_POD=$(kubectl_retry -n rook-ceph get pods -l app=rook-ceph-tools -o jsonpath='{.items[0].metadata.name}') TOOLBOX_POD_STATUS=$(kubectl_retry -n rook-ceph get pod "$TOOLBOX_POD" -ojsonpath='{.status.phase}') - [[ "$TOOLBOX_POD_STATUS" != "Running" ]] && \ - { echo "Toolbox POD ($TOOLBOX_POD) status: [$TOOLBOX_POD_STATUS]"; continue; } + [[ "$TOOLBOX_POD_STATUS" != "Running" ]] && + { + echo "Toolbox POD ($TOOLBOX_POD) status: [$TOOLBOX_POD_STATUS]" + continue + } if kubectl_retry exec -n rook-ceph "$TOOLBOX_POD" -it -- rbd pool stats "$RBD_POOL_NAME" &>/dev/null; then echo "RBD ($RBD_POOL_NAME) is successfully created..." From 04f2261e600f804977a80c1a225b714c42d9de2f Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Fri, 21 Jan 2022 12:28:52 +0530 Subject: [PATCH 24/30] deploy: support rook deployment for v1.8+ In Rook v1.8+ the path for the deployment articafts are changed from `"cluster/examples/kubernetes/ceph` to `deploy/examples`. Signed-off-by: Madhu Rajanna --- scripts/rook.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/scripts/rook.sh b/scripts/rook.sh index 5b1fa2d60..d89eec366 100755 --- a/scripts/rook.sh +++ b/scripts/rook.sh @@ -2,7 +2,8 @@ ROOK_VERSION=${ROOK_VERSION:-"v1.6.2"} ROOK_DEPLOY_TIMEOUT=${ROOK_DEPLOY_TIMEOUT:-300} -ROOK_URL="https://raw.githubusercontent.com/rook/rook/${ROOK_VERSION}/cluster/examples/kubernetes/ceph" +ROOK_URL="https://raw.githubusercontent.com/rook/rook/${ROOK_VERSION}/" +ROOK_DEPLOYMENT_PATH="cluster/examples/kubernetes/ceph" ROOK_BLOCK_POOL_NAME=${ROOK_BLOCK_POOL_NAME:-"newrbdpool"} ROOK_BLOCK_EC_POOL_NAME=${ROOK_BLOCK_EC_POOL_NAME:-"ec-pool"} @@ -33,6 +34,17 @@ rook_version() { echo "${ROOK_VERSION#v}" | cut -d'.' -f"${1}" } +function update_rook_url() { + ROOK_MAJOR=$(rook_version 1) + ROOK_MINOR=$(rook_version 2) + + # If rook version is => 1.8 update deployment path. + if [ "${ROOK_MAJOR}" -eq 1 ] && [ "${ROOK_MINOR}" -ge 8 ]; then + ROOK_DEPLOYMENT_PATH="deploy/examples" + fi + ROOK_URL+=${ROOK_DEPLOYMENT_PATH} +} + function deploy_rook() { kubectl_retry create -f "${ROOK_URL}/common.yaml" @@ -209,6 +221,9 @@ function check_rbd_stat() { echo "" } +# update rook URL before doing any operation. +update_rook_url + case "${1:-}" in deploy) deploy_rook From 25796aa4ea1380013953a67fc1c93e27264dc6db Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Fri, 21 Jan 2022 12:31:33 +0530 Subject: [PATCH 25/30] deploy: update rook version to 1.8.2 update rook version to 1.8.2 in build.env to pick up the latest rook release. Signed-off-by: Madhu Rajanna --- build.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.env b/build.env index a5f5bba69..7ae48b792 100644 --- a/build.env +++ b/build.env @@ -43,7 +43,7 @@ VM_DRIVER=none CHANGE_MINIKUBE_NONE_USER=true # Rook options -ROOK_VERSION=v1.6.2 +ROOK_VERSION=v1.8.2 # Provide ceph image path ROOK_CEPH_CLUSTER_IMAGE=quay.io/ceph/ceph:v16 From 493db5c18391516c252c006a326fe894869cf190 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Mon, 24 Jan 2022 17:02:03 +0530 Subject: [PATCH 26/30] deploy: log complete ouput of rook operator kubectl log with labels will log only last 10 lines by default adding tail=-1 to log complete output. Signed-off-by: Madhu Rajanna --- scripts/rook.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/rook.sh b/scripts/rook.sh index d89eec366..9de0c573b 100755 --- a/scripts/rook.sh +++ b/scripts/rook.sh @@ -21,7 +21,7 @@ function log_errors() { kubectl get nodes kubectl -n rook-ceph get events kubectl -n rook-ceph describe pods - kubectl -n rook-ceph logs -l app=rook-ceph-operator + kubectl -n rook-ceph logs -l app=rook-ceph-operator --tail=-1 kubectl -n rook-ceph get CephClusters -oyaml kubectl -n rook-ceph get CephFilesystems -oyaml kubectl -n rook-ceph get CephBlockPools -oyaml From e5100eacd46ee183a5db0a02e689b9657e9094a6 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Mon, 24 Jan 2022 17:08:59 +0530 Subject: [PATCH 27/30] deploy: add check for device-health-metrics pool Rook creates a detault pool with name device_health_metrics for device-health-metrics CephBlockPool CR. device-health-metrics is added to cluster-test.yaml in Rook 1.8 Signed-off-by: Madhu Rajanna --- scripts/rook.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/rook.sh b/scripts/rook.sh index 9de0c573b..5569df254 100755 --- a/scripts/rook.sh +++ b/scripts/rook.sh @@ -198,6 +198,12 @@ function check_rbd_stat() { else RBD_POOL_NAME=$1 fi + # Rook creates a detault pool with name device_health_metrics for + # device-health-metrics CephBlockPool CR + if [[ "${RBD_POOL_NAME}" == "device-health-metrics" ]]; then + RBD_POOL_NAME="device_health_metrics" + fi + echo "Checking RBD ($RBD_POOL_NAME) stats... ${retry}s" && sleep 5 TOOLBOX_POD=$(kubectl_retry -n rook-ceph get pods -l app=rook-ceph-tools -o jsonpath='{.items[0].metadata.name}') From 0d6db19252e9e73752bb32fda1f512b9e5723b95 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Tue, 25 Jan 2022 11:28:12 +0530 Subject: [PATCH 28/30] deploy: disable startupProbe As startup probe is failing on the ceph pods, disabling startupProbe in ceph cluster CRD. Signed-off-by: Madhu Rajanna --- scripts/rook.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/rook.sh b/scripts/rook.sh index 5569df254..6c27cc01f 100755 --- a/scripts/rook.sh +++ b/scripts/rook.sh @@ -71,7 +71,7 @@ function deploy_rook() { curl -o "${TEMP_DIR}"/cluster-test.yaml "${ROOK_URL}/cluster-test.yaml" sed -i "s|image.*|${ROOK_CEPH_CLUSTER_VERSION_IMAGE_PATH}|g" "${TEMP_DIR}"/cluster-test.yaml sed -i "s/config: |/config: |\n \[mon\]\n mon_warn_on_insecure_global_id_reclaim_allowed = false/g" "${TEMP_DIR}"/cluster-test.yaml - sed -i "s/healthCheck:/healthCheck:\n livenessProbe:\n mon:\n disabled: true\n mgr:\n disabled: true\n mds:\n disabled: true/g" "${TEMP_DIR}"/cluster-test.yaml + sed -i "s/healthCheck:/healthCheck:\n livenessProbe:\n mon:\n disabled: true\n mgr:\n disabled: true\n mds:\n disabled: true\n startupProbe:\n mon:\n disabled: true\n mgr:\n disabled: true\n mds:\n disabled: true/g" "${TEMP_DIR}"/cluster-test.yaml cat "${TEMP_DIR}"/cluster-test.yaml kubectl_retry create -f "${TEMP_DIR}/cluster-test.yaml" fi From 8a479d3865d76e7a74ac29a4152b278e1b5dbc22 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Tue, 25 Jan 2022 11:54:49 +0530 Subject: [PATCH 29/30] deploy: use osd as failureDomain for ec pool in Rook 1.8 templates the failureDomain is set to host for ec pools, as we are using single node minikube cluster, setting the failureDomain for osd. Signed-off-by: Madhu Rajanna --- scripts/rook.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/rook.sh b/scripts/rook.sh index 6c27cc01f..e9a644131 100755 --- a/scripts/rook.sh +++ b/scripts/rook.sh @@ -130,6 +130,7 @@ function delete_block_pool() { function create_block_ec_pool() { curl -o block-pool-ec.yaml "${ROOK_URL}/pool-ec.yaml" sed -i "s/ec-pool/${ROOK_BLOCK_EC_POOL_NAME}/g" block-pool-ec.yaml + sed -i "s/failureDomain: host/failureDomain: osd/g" block-pool-ec.yaml kubectl_retry create -f "./block-pool-ec.yaml" rm -f "./block-pool-ec.yaml" From e08084fbb68c49476c224dce54b8e4b642179e40 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Tue, 25 Jan 2022 13:23:04 +0530 Subject: [PATCH 30/30] e2e: update cephfs data pool name cephfs data pool name is changed from filesystem-data0 to filesystem-replicated in Rook 1.8. updating the cephcsi helper functions also to use new pool names. Signed-off-by: Madhu Rajanna --- e2e/cephfs_helper.go | 2 +- e2e/rbd_helper.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/e2e/cephfs_helper.go b/e2e/cephfs_helper.go index 7c6c941bb..3b4c5630d 100644 --- a/e2e/cephfs_helper.go +++ b/e2e/cephfs_helper.go @@ -75,7 +75,7 @@ func createCephfsStorageClass( sc.Parameters["csi.storage.k8s.io/node-stage-secret-name"] = cephFSNodePluginSecretName if enablePool { - sc.Parameters["pool"] = "myfs-data0" + sc.Parameters["pool"] = "myfs-replicated" } // overload any parameters that were passed diff --git a/e2e/rbd_helper.go b/e2e/rbd_helper.go index 95184a509..b3730cb30 100644 --- a/e2e/rbd_helper.go +++ b/e2e/rbd_helper.go @@ -695,12 +695,12 @@ func deletePool(name string, cephFS bool, f *framework.Framework) error { // ceph fs rm myfs --yes-i-really-mean-it // ceph osd pool delete myfs-metadata myfs-metadata // --yes-i-really-mean-it - // ceph osd pool delete myfs-data0 myfs-data0 + // ceph osd pool delete myfs-replicated myfs-replicated // --yes-i-really-mean-it cmds = append(cmds, fmt.Sprintf("ceph fs fail %s", name), fmt.Sprintf("ceph fs rm %s --yes-i-really-mean-it", name), fmt.Sprintf("ceph osd pool delete %s-metadata %s-metadata --yes-i-really-really-mean-it", name, name), - fmt.Sprintf("ceph osd pool delete %s-data0 %s-data0 --yes-i-really-really-mean-it", name, name)) + fmt.Sprintf("ceph osd pool delete %s-replicated %s-replicated --yes-i-really-really-mean-it", name, name)) } else { // ceph osd pool delete replicapool replicapool // --yes-i-really-mean-it