diff --git a/go.mod b/go.mod index 2ec1ac707c06..13d36d249406 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.13 require ( github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0 // indirect - github.com/aws/aws-sdk-go v1.25.10 + github.com/aws/aws-sdk-go v1.25.19 github.com/beevik/etree v1.1.0 github.com/bflad/tfproviderlint v0.5.0 github.com/client9/misspell v0.3.4 diff --git a/go.sum b/go.sum index 5aab7030588c..ea9a2e675e25 100644 --- a/go.sum +++ b/go.sum @@ -36,8 +36,8 @@ github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgI github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.19.39/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.25.10 h1:3epJfNmP6xWkOpLOdhIIj07+9UAJwvbzq8bBzyPigI4= -github.com/aws/aws-sdk-go v1.25.10/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.25.19 h1:sp3xP91qIAVhWufyn9qM6Zhhn6kX06WJQcmhRj7QTXc= +github.com/aws/aws-sdk-go v1.25.19/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go b/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go index 0fda42510f0e..9f6af19dd459 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go @@ -16,11 +16,11 @@ import ( type DefaultRetryer struct { // Num max Retries is the number of max retries that will be performed. // By default, this is zero. - NumMaxRetries int + NumMaxRetries int // MinRetryDelay is the minimum retry delay after which retry will be performed. // If not set, the value is 0ns. - MinRetryDelay time.Duration + MinRetryDelay time.Duration // MinThrottleRetryDelay is the minimum retry delay when throttled. // If not set, the value is 0ns. @@ -28,7 +28,7 @@ type DefaultRetryer struct { // MaxRetryDelay is the maximum retry delay before which retry must be performed. // If not set, the value is 0ns. - MaxRetryDelay time.Duration + MaxRetryDelay time.Duration // MaxThrottleDelay is the maximum retry delay when throttled. // If not set, the value is 0ns. diff --git a/vendor/github.com/aws/aws-sdk-go/aws/config.go b/vendor/github.com/aws/aws-sdk-go/aws/config.go index fd1e240f6eb5..8a7699b96199 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/config.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/config.go @@ -246,6 +246,9 @@ type Config struct { // Disabling this feature is useful when you want to use local endpoints // for testing that do not support the modeled host prefix pattern. DisableEndpointHostPrefix *bool + + // STSRegionalEndpoint will enable regional or legacy endpoint resolving + STSRegionalEndpoint endpoints.STSRegionalEndpoint } // NewConfig returns a new Config pointer that can be chained with builder @@ -420,6 +423,13 @@ func (c *Config) MergeIn(cfgs ...*Config) { } } +// WithSTSRegionalEndpoint will set whether or not to use regional endpoint flag +// when resolving the endpoint for a service +func (c *Config) WithSTSRegionalEndpoint(sre endpoints.STSRegionalEndpoint) *Config { + c.STSRegionalEndpoint = sre + return c +} + func mergeInConfig(dst *Config, other *Config) { if other == nil { return @@ -520,6 +530,10 @@ func mergeInConfig(dst *Config, other *Config) { if other.DisableEndpointHostPrefix != nil { dst.DisableEndpointHostPrefix = other.DisableEndpointHostPrefix } + + if other.STSRegionalEndpoint != endpoints.UnsetSTSEndpoint { + dst.STSRegionalEndpoint = other.STSRegionalEndpoint + } } // Copy will return a shallow copy of the Config object. If any additional diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go index c7008d8c3fc4..9186587fc040 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go @@ -66,7 +66,6 @@ func (rep *Reporter) sendAPICallAttemptMetric(r *request.Request) { XAmzRequestID: aws.String(r.RequestID), - AttemptCount: aws.Int(r.RetryCount + 1), AttemptLatency: aws.Int(int(now.Sub(r.AttemptTime).Nanoseconds() / int64(time.Millisecond))), AccessKey: aws.String(creds.AccessKeyID), } 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 1ceff2c13da6..b79918886373 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 @@ -209,6 +209,7 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -366,6 +367,7 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-1-fips": endpoint{ @@ -756,6 +758,7 @@ var awsPartition = partition{ "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -1231,6 +1234,18 @@ var awsPartition = partition{ Region: "ap-northeast-2", }, }, + "ap-south-1": endpoint{ + Hostname: "rds.ap-south-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-south-1", + }, + }, + "ap-southeast-1": endpoint{ + Hostname: "rds.ap-southeast-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-1", + }, + }, "ap-southeast-2": endpoint{ Hostname: "rds.ap-southeast-2.amazonaws.com", CredentialScope: credentialScope{ @@ -2269,8 +2284,11 @@ var awsPartition = partition{ "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, + "us-east-2": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -2827,6 +2845,7 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-1-fips": endpoint{ @@ -3163,6 +3182,9 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{ + Protocols: []string{"https"}, + }, "ap-northeast-1": endpoint{ Protocols: []string{"https"}, }, @@ -3556,44 +3578,29 @@ var awsPartition = partition{ }, "sts": service{ PartitionEndpoint: "aws-global", - Defaults: endpoint{ - Hostname: "sts.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, + Endpoints: endpoints{ - "ap-east-1": endpoint{ - Hostname: "sts.ap-east-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "ap-east-1", - }, - }, + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{ - Hostname: "sts.ap-northeast-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "ap-northeast-2", - }, - }, + "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, - "aws-global": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "me-south-1": endpoint{ - Hostname: "sts.me-south-1.amazonaws.com", + "aws-global": endpoint{ + Hostname: "sts.amazonaws.com", CredentialScope: credentialScope{ - Region: "me-south-1", + Region: "us-east-1", }, }, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, "us-east-1-fips": endpoint{ Hostname: "sts-fips.us-east-1.amazonaws.com", CredentialScope: credentialScope{ @@ -3681,6 +3688,27 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "transcribe": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "transfer": service{ Endpoints: endpoints{ @@ -4333,6 +4361,25 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "transcribe": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{ + Hostname: "cn.transcribe.cn-north-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-north-1", + }, + }, + "cn-northwest-1": endpoint{ + Hostname: "cn.transcribe.cn-northwest-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, + }, + }, }, } @@ -4919,6 +4966,13 @@ var awsusgovPartition = partition{ }, }, }, + "route53resolver": service{ + + Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, "runtime.sagemaker": service{ Endpoints: endpoints{ @@ -5123,6 +5177,14 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "transcribe": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, "translate": service{ Defaults: endpoint{ Protocols: []string{"https"}, @@ -5189,6 +5251,12 @@ var awsisoPartition = partition{ }, }, }, + "api.sagemaker": service{ + + Endpoints: endpoints{ + "us-iso-east-1": endpoint{}, + }, + }, "apigateway": service{ Endpoints: endpoints{ @@ -5410,6 +5478,12 @@ var awsisoPartition = partition{ }, }, }, + "runtime.sagemaker": service{ + + Endpoints: endpoints{ + "us-iso-east-1": endpoint{}, + }, + }, "s3": service{ Defaults: endpoint{ SignatureVersions: []string{"s3v4"}, diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go index 9c936be6cf94..c06901efa43c 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go @@ -3,6 +3,7 @@ package endpoints import ( "fmt" "regexp" + "strings" "github.com/aws/aws-sdk-go/aws/awserr" ) @@ -46,6 +47,43 @@ type Options struct { // // This option is ignored if StrictMatching is enabled. ResolveUnknownService bool + + // STS Regional Endpoint flag helps with resolving the STS endpoint + STSRegionalEndpoint STSRegionalEndpoint +} + +// STSRegionalEndpoint is an enum type alias for int +// It is used internally by the core sdk as STS Regional Endpoint flag value +type STSRegionalEndpoint int + +const ( + + // UnsetSTSEndpoint represents that STS Regional Endpoint flag is not specified. + UnsetSTSEndpoint STSRegionalEndpoint = iota + + // LegacySTSEndpoint represents when STS Regional Endpoint flag is specified + // to use legacy endpoints. + LegacySTSEndpoint + + // RegionalSTSEndpoint represents when STS Regional Endpoint flag is specified + // to use regional endpoints. + RegionalSTSEndpoint +) + +// GetSTSRegionalEndpoint function returns the STSRegionalEndpointFlag based +// on the input string provided in env config or shared config by the user. +// +// `legacy`, `regional` are the only case-insensitive valid strings for +// resolving the STS regional Endpoint flag. +func GetSTSRegionalEndpoint(s string) (STSRegionalEndpoint, error) { + switch { + case strings.EqualFold(s, "legacy"): + return LegacySTSEndpoint, nil + case strings.EqualFold(s, "regional"): + return RegionalSTSEndpoint, nil + default: + return UnsetSTSEndpoint, fmt.Errorf("unable to resolve the value of STSRegionalEndpoint for %v", s) + } } // Set combines all of the option functions together. @@ -79,6 +117,12 @@ func ResolveUnknownServiceOption(o *Options) { o.ResolveUnknownService = true } +// STSRegionalEndpointOption enables the STS endpoint resolver behavior to resolve +// STS endpoint to their regional endpoint, instead of the global endpoint. +func STSRegionalEndpointOption(o *Options) { + o.STSRegionalEndpoint = RegionalSTSEndpoint +} + // A Resolver provides the interface for functionality to resolve endpoints. // The build in Partition and DefaultResolver return value satisfy this interface. type Resolver interface { @@ -194,7 +238,7 @@ func (p Partition) ID() string { return p.id } // require the provided service and region to be known by the partition. // If the endpoint cannot be strictly resolved an error will be returned. This // mode is useful to ensure the endpoint resolved is valid. Without -// StrictMatching enabled the endpoint returned my look valid but may not work. +// StrictMatching enabled the endpoint returned may look valid but may not work. // StrictMatching requires the SDK to be updated if you want to take advantage // of new regions and services expansions. // diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/sts_legacy_regions.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/sts_legacy_regions.go new file mode 100644 index 000000000000..68ed2d9e25fc --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/sts_legacy_regions.go @@ -0,0 +1,20 @@ +package endpoints + +var stsLegacyGlobalRegions = map[string]struct{}{ + "ap-northeast-1": {}, + "ap-south-1": {}, + "ap-southeast-1": {}, + "ap-southeast-2": {}, + "aws-global": {}, + "ca-central-1": {}, + "eu-central-1": {}, + "eu-north-1": {}, + "eu-west-1": {}, + "eu-west-2": {}, + "eu-west-3": {}, + "sa-east-1": {}, + "us-east-1": {}, + "us-east-2": {}, + "us-west-1": {}, + "us-west-2": {}, +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go index 523ad79ac0ac..49a3a398847c 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go @@ -79,6 +79,12 @@ func (p partition) EndpointFor(service, region string, opts ...func(*Options)) ( var opt Options opt.Set(opts...) + if service == "sts" && opt.STSRegionalEndpoint != RegionalSTSEndpoint { + if _, ok := stsLegacyGlobalRegions[region]; ok { + region = "aws-global" + } + } + s, hasService := p.Services[service] if !(hasService || opt.ResolveUnknownService) { // Only return error if the resolver will not fallback to creating @@ -92,6 +98,7 @@ func (p partition) EndpointFor(service, region string, opts ...func(*Options)) ( } defs := []endpoint{p.Defaults, s.Defaults} + return e.resolve(service, region, p.DNSSuffix, defs, opt), nil } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go index 60a6f9ce2a4d..530cc3a9c069 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go @@ -1,12 +1,14 @@ package session import ( + "fmt" "os" "strconv" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/defaults" + "github.com/aws/aws-sdk-go/aws/endpoints" ) // EnvProviderName provides a name of the provider when config is loaded from environment. @@ -125,6 +127,12 @@ type envConfig struct { // // AWS_ROLE_SESSION_NAME=session_name RoleSessionName string + + // Specifies the Regional Endpoint flag for the sdk to resolve the endpoint for a service + // + // AWS_STS_REGIONAL_ENDPOINTS =sts_regional_endpoint + // This can take value as `regional` or `legacy` + STSRegionalEndpoint endpoints.STSRegionalEndpoint } var ( @@ -179,6 +187,9 @@ var ( roleSessionNameEnvKey = []string{ "AWS_ROLE_SESSION_NAME", } + stsRegionalEndpointKey = []string{ + "AWS_STS_REGIONAL_ENDPOINTS", + } ) // loadEnvConfig retrieves the SDK's environment configuration. @@ -187,7 +198,7 @@ var ( // If the environment variable `AWS_SDK_LOAD_CONFIG` is set to a truthy value // the shared SDK config will be loaded in addition to the SDK's specific // configuration values. -func loadEnvConfig() envConfig { +func loadEnvConfig() (envConfig, error) { enableSharedConfig, _ := strconv.ParseBool(os.Getenv("AWS_SDK_LOAD_CONFIG")) return envConfigLoad(enableSharedConfig) } @@ -198,11 +209,11 @@ func loadEnvConfig() envConfig { // Loads the shared configuration in addition to the SDK's specific configuration. // This will load the same values as `loadEnvConfig` if the `AWS_SDK_LOAD_CONFIG` // environment variable is set. -func loadSharedEnvConfig() envConfig { +func loadSharedEnvConfig() (envConfig, error) { return envConfigLoad(true) } -func envConfigLoad(enableSharedConfig bool) envConfig { +func envConfigLoad(enableSharedConfig bool) (envConfig, error) { cfg := envConfig{} cfg.EnableSharedConfig = enableSharedConfig @@ -264,12 +275,23 @@ func envConfigLoad(enableSharedConfig bool) envConfig { cfg.CustomCABundle = os.Getenv("AWS_CA_BUNDLE") - return cfg + // STS Regional Endpoint variable + for _, k := range stsRegionalEndpointKey { + if v := os.Getenv(k); len(v) != 0 { + STSRegionalEndpoint, err := endpoints.GetSTSRegionalEndpoint(v) + if err != nil { + return cfg, fmt.Errorf("failed to load, %v from env config, %v", k, err) + } + cfg.STSRegionalEndpoint = STSRegionalEndpoint + } + } + + return cfg, nil } func setFromEnvVal(dst *string, keys []string) { for _, k := range keys { - if v := os.Getenv(k); len(v) > 0 { + if v := os.Getenv(k); len(v) != 0 { *dst = v break } 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 7b0a942e223f..245a5fb1baca 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 @@ -73,7 +73,7 @@ type Session struct { // func is called instead of waiting to receive an error until a request is made. func New(cfgs ...*aws.Config) *Session { // load initial config from environment - envCfg := loadEnvConfig() + envCfg, envErr := loadEnvConfig() if envCfg.EnableSharedConfig { var cfg aws.Config @@ -93,17 +93,17 @@ func New(cfgs ...*aws.Config) *Session { // Session creation failed, need to report the error and prevent // any requests from succeeding. s = &Session{Config: defaults.Config()} - s.Config.MergeIn(cfgs...) - s.Config.Logger.Log("ERROR:", msg, "Error:", err) - s.Handlers.Validate.PushBack(func(r *request.Request) { - r.Error = err - }) + s.logDeprecatedNewSessionError(msg, err, cfgs) } return s } s := deprecatedNewSession(cfgs...) + if envErr != nil { + msg := "failed to load env config" + s.logDeprecatedNewSessionError(msg, envErr, cfgs) + } if csmCfg, err := loadCSMConfig(envCfg, []string{}); err != nil { if l := s.Config.Logger; l != nil { @@ -112,11 +112,8 @@ func New(cfgs ...*aws.Config) *Session { } else if csmCfg.Enabled { err := enableCSM(&s.Handlers, csmCfg, s.Config.Logger) if err != nil { - err = fmt.Errorf("failed to enable CSM, %v", err) - s.Config.Logger.Log("ERROR:", err.Error()) - s.Handlers.Validate.PushBack(func(r *request.Request) { - r.Error = err - }) + msg := "failed to enable CSM" + s.logDeprecatedNewSessionError(msg, err, cfgs) } } @@ -279,10 +276,17 @@ type Options struct { // })) func NewSessionWithOptions(opts Options) (*Session, error) { var envCfg envConfig + var err error if opts.SharedConfigState == SharedConfigEnable { - envCfg = loadSharedEnvConfig() + envCfg, err = loadSharedEnvConfig() + if err != nil { + return nil, fmt.Errorf("failed to load shared config, %v", err) + } } else { - envCfg = loadEnvConfig() + envCfg, err = loadEnvConfig() + if err != nil { + return nil, fmt.Errorf("failed to load environment config, %v", err) + } } if len(opts.Profile) != 0 { @@ -550,6 +554,9 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config, } } + // Regional Endpoint flag for STS endpoint resolving + mergeSTSRegionalEndpointConfig(cfg, envCfg, sharedCfg) + // Configure credentials if not already set by the user when creating the // Session. if cfg.Credentials == credentials.AnonymousCredentials && userCfg.Credentials == nil { @@ -563,6 +570,22 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config, return nil } +// mergeSTSRegionalEndpointConfig function merges the STSRegionalEndpoint into cfg from +// envConfig and SharedConfig with envConfig being given precedence over SharedConfig +func mergeSTSRegionalEndpointConfig(cfg *aws.Config, envCfg envConfig, sharedCfg sharedConfig) error { + + cfg.STSRegionalEndpoint = envCfg.STSRegionalEndpoint + + if cfg.STSRegionalEndpoint == endpoints.UnsetSTSEndpoint { + cfg.STSRegionalEndpoint = sharedCfg.STSRegionalEndpoint + } + + if cfg.STSRegionalEndpoint == endpoints.UnsetSTSEndpoint { + cfg.STSRegionalEndpoint = endpoints.LegacySTSEndpoint + } + return nil +} + func initHandlers(s *Session) { // Add the Validate parameter handler if it is not disabled. s.Handlers.Validate.Remove(corehandlers.ValidateParametersHandler) @@ -616,6 +639,9 @@ func (s *Session) clientConfigWithErr(serviceName string, cfgs ...*aws.Config) ( func(opt *endpoints.Options) { opt.DisableSSL = aws.BoolValue(s.Config.DisableSSL) opt.UseDualStack = aws.BoolValue(s.Config.UseDualStack) + // Support for STSRegionalEndpoint where the STSRegionalEndpoint is + // provided in envconfig or sharedconfig with envconfig getting precedence. + opt.STSRegionalEndpoint = s.Config.STSRegionalEndpoint // Support the condition where the service is modeled but its // endpoint metadata is not available. @@ -658,3 +684,14 @@ func (s *Session) ClientConfigNoResolveEndpoint(cfgs ...*aws.Config) client.Conf SigningName: resolved.SigningName, } } + +// logDeprecatedNewSessionError function enables error handling for session +func (s *Session) logDeprecatedNewSessionError(msg string, err error, cfgs []*aws.Config) { + // Session creation failed, need to report the error and prevent + // any requests from succeeding. + s.Config.MergeIn(cfgs...) + s.Config.Logger.Log("ERROR:", msg, "Error:", err) + s.Handlers.Validate.PushBack(func(r *request.Request) { + r.Error = err + }) +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go index d91ac93a5444..8574668960b4 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go @@ -5,6 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/endpoints" "github.com/aws/aws-sdk-go/internal/ini" ) @@ -40,6 +41,9 @@ const ( // Web Identity Token File webIdentityTokenFileKey = `web_identity_token_file` // optional + // Additional config fields for regional or legacy endpoints + stsRegionalEndpointSharedKey = `sts_regional_endpoints` + // DefaultSharedConfigProfile is the default profile to be used when // loading configuration from the config files if another profile name // is not provided. @@ -82,12 +86,17 @@ type sharedConfig struct { // // endpoint_discovery_enabled = true EnableEndpointDiscovery *bool - // CSM Options CSMEnabled *bool CSMHost string CSMPort string CSMClientID string + + // Specifies the Regional Endpoint flag for the sdk to resolve the endpoint for a service + // + // sts_regional_endpoints = sts_regional_endpoint + // This can take value as `LegacySTSEndpoint` or `RegionalSTSEndpoint` + STSRegionalEndpoint endpoints.STSRegionalEndpoint } type sharedConfigFile struct { @@ -244,8 +253,16 @@ func (cfg *sharedConfig) setFromIniFile(profile string, file sharedConfigFile, e updateString(&cfg.RoleSessionName, section, roleSessionNameKey) updateString(&cfg.SourceProfileName, section, sourceProfileKey) updateString(&cfg.CredentialSource, section, credentialSourceKey) - updateString(&cfg.Region, section, regionKey) + + if v := section.String(stsRegionalEndpointSharedKey); len(v) != 0 { + sre, err := endpoints.GetSTSRegionalEndpoint(v) + if err != nil { + return fmt.Errorf("failed to load %s from shared config, %s, %v", + stsRegionalEndpointKey, file.Filename, err) + } + cfg.STSRegionalEndpoint = sre + } } updateString(&cfg.CredentialProcess, section, credentialProcessKey) 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 174bc4d013b0..fc23a6c6fa94 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.25.10" +const SDKVersion = "1.25.19" diff --git a/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go b/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go index 59daa7c77e82..b9c5476838e6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go @@ -3240,11 +3240,11 @@ func (c *AppMesh) UpdateVirtualServiceWithContext(ctx aws.Context, input *Update return out, req.Send() } -// An object representing the access logging information for a virtual node. +// An object that represents the access logging information for a virtual node. type AccessLog struct { _ struct{} `type:"structure"` - // An object representing an access log file. + // An object that represents an access log file. File *FileAccessLog `locationName:"file" type:"structure"` } @@ -3279,8 +3279,8 @@ func (s *AccessLog) SetFile(v *FileAccessLog) *AccessLog { return s } -// An object representing the AWS Cloud Map attribute information for your virtual -// node. +// An object that represents the AWS Cloud Map attribute information for your +// virtual node. type AwsCloudMapInstanceAttribute struct { _ struct{} `type:"structure"` @@ -3335,8 +3335,8 @@ func (s *AwsCloudMapInstanceAttribute) SetValue(v string) *AwsCloudMapInstanceAt return s } -// An object representing the AWS Cloud Map service discovery information for -// your virtual node. +// An object that represents the AWS Cloud Map service discovery information +// for your virtual node. type AwsCloudMapServiceDiscovery struct { _ struct{} `type:"structure"` @@ -3409,12 +3409,12 @@ func (s *AwsCloudMapServiceDiscovery) SetServiceName(v string) *AwsCloudMapServi return s } -// An object representing the backends that a virtual node is expected to send -// outbound traffic to. +// An object that represents the backends that a virtual node is expected to +// send outbound traffic to. type Backend struct { _ struct{} `type:"structure"` - // An object representing a virtual service backend for a virtual node. + // An object that represents a virtual service backend for a virtual node. VirtualService *VirtualServiceBackend `locationName:"virtualService" type:"structure"` } @@ -3457,7 +3457,7 @@ type CreateMeshInput struct { // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` - // An object representing the specification of a service mesh. + // An object that represents the specification of a service mesh. Spec *MeshSpec `locationName:"spec" type:"structure"` Tags []*TagRef `locationName:"tags" type:"list"` @@ -3531,7 +3531,7 @@ func (s *CreateMeshInput) SetTags(v []*TagRef) *CreateMeshInput { type CreateMeshOutput struct { _ struct{} `type:"structure" payload:"Mesh"` - // An object representing a service mesh returned by a describe operation. + // An object that represents a service mesh returned by a describe operation. // // Mesh is a required field Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` @@ -3564,7 +3564,7 @@ type CreateRouteInput struct { // RouteName is a required field RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` - // An object representing the specification of a route. + // An object that represents a route specification. Specify one route type. // // Spec is a required field Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` @@ -3670,7 +3670,7 @@ func (s *CreateRouteInput) SetVirtualRouterName(v string) *CreateRouteInput { type CreateRouteOutput struct { _ struct{} `type:"structure" payload:"Route"` - // An object representing a route returned by a describe operation. + // An object that represents a route returned by a describe operation. // // Route is a required field Route *RouteData `locationName:"route" type:"structure" required:"true"` @@ -3700,7 +3700,7 @@ type CreateVirtualNodeInput struct { // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // An object representing the specification of a virtual node. + // An object that represents the specification of a virtual node. // // Spec is a required field Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` @@ -3794,7 +3794,7 @@ func (s *CreateVirtualNodeInput) SetVirtualNodeName(v string) *CreateVirtualNode type CreateVirtualNodeOutput struct { _ struct{} `type:"structure" payload:"VirtualNode"` - // An object representing a virtual node returned by a describe operation. + // An object that represents a virtual node returned by a describe operation. // // VirtualNode is a required field VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` @@ -3824,7 +3824,7 @@ type CreateVirtualRouterInput struct { // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // An object representing the specification of a virtual router. + // An object that represents the specification of a virtual router. // // Spec is a required field Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` @@ -3918,7 +3918,7 @@ func (s *CreateVirtualRouterInput) SetVirtualRouterName(v string) *CreateVirtual type CreateVirtualRouterOutput struct { _ struct{} `type:"structure" payload:"VirtualRouter"` - // An object representing a virtual router returned by a describe operation. + // An object that represents a virtual router returned by a describe operation. // // VirtualRouter is a required field VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` @@ -3948,7 +3948,7 @@ type CreateVirtualServiceInput struct { // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // An object representing the specification of a virtual service. + // An object that represents the specification of a virtual service. // // Spec is a required field Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` @@ -4039,7 +4039,7 @@ func (s *CreateVirtualServiceInput) SetVirtualServiceName(v string) *CreateVirtu type CreateVirtualServiceOutput struct { _ struct{} `type:"structure" payload:"VirtualService"` - // An object representing a virtual service returned by a describe operation. + // An object that represents a virtual service returned by a describe operation. // // VirtualService is a required field VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` @@ -4103,7 +4103,7 @@ func (s *DeleteMeshInput) SetMeshName(v string) *DeleteMeshInput { type DeleteMeshOutput struct { _ struct{} `type:"structure" payload:"Mesh"` - // An object representing a service mesh returned by a describe operation. + // An object that represents a service mesh returned by a describe operation. // // Mesh is a required field Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` @@ -4197,7 +4197,7 @@ func (s *DeleteRouteInput) SetVirtualRouterName(v string) *DeleteRouteInput { type DeleteRouteOutput struct { _ struct{} `type:"structure" payload:"Route"` - // An object representing a route returned by a describe operation. + // An object that represents a route returned by a describe operation. // // Route is a required field Route *RouteData `locationName:"route" type:"structure" required:"true"` @@ -4276,7 +4276,7 @@ func (s *DeleteVirtualNodeInput) SetVirtualNodeName(v string) *DeleteVirtualNode type DeleteVirtualNodeOutput struct { _ struct{} `type:"structure" payload:"VirtualNode"` - // An object representing a virtual node returned by a describe operation. + // An object that represents a virtual node returned by a describe operation. // // VirtualNode is a required field VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` @@ -4355,7 +4355,7 @@ func (s *DeleteVirtualRouterInput) SetVirtualRouterName(v string) *DeleteVirtual type DeleteVirtualRouterOutput struct { _ struct{} `type:"structure" payload:"VirtualRouter"` - // An object representing a virtual router returned by a describe operation. + // An object that represents a virtual router returned by a describe operation. // // VirtualRouter is a required field VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` @@ -4434,7 +4434,7 @@ func (s *DeleteVirtualServiceInput) SetVirtualServiceName(v string) *DeleteVirtu type DeleteVirtualServiceOutput struct { _ struct{} `type:"structure" payload:"VirtualService"` - // An object representing a virtual service returned by a describe operation. + // An object that represents a virtual service returned by a describe operation. // // VirtualService is a required field VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` @@ -4498,7 +4498,7 @@ func (s *DescribeMeshInput) SetMeshName(v string) *DescribeMeshInput { type DescribeMeshOutput struct { _ struct{} `type:"structure" payload:"Mesh"` - // An object representing a service mesh returned by a describe operation. + // An object that represents a service mesh returned by a describe operation. // // Mesh is a required field Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` @@ -4592,7 +4592,7 @@ func (s *DescribeRouteInput) SetVirtualRouterName(v string) *DescribeRouteInput type DescribeRouteOutput struct { _ struct{} `type:"structure" payload:"Route"` - // An object representing a route returned by a describe operation. + // An object that represents a route returned by a describe operation. // // Route is a required field Route *RouteData `locationName:"route" type:"structure" required:"true"` @@ -4671,7 +4671,7 @@ func (s *DescribeVirtualNodeInput) SetVirtualNodeName(v string) *DescribeVirtual type DescribeVirtualNodeOutput struct { _ struct{} `type:"structure" payload:"VirtualNode"` - // An object representing a virtual node returned by a describe operation. + // An object that represents a virtual node returned by a describe operation. // // VirtualNode is a required field VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` @@ -4750,7 +4750,7 @@ func (s *DescribeVirtualRouterInput) SetVirtualRouterName(v string) *DescribeVir type DescribeVirtualRouterOutput struct { _ struct{} `type:"structure" payload:"VirtualRouter"` - // An object representing a virtual router returned by a describe operation. + // An object that represents a virtual router returned by a describe operation. // // VirtualRouter is a required field VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` @@ -4829,7 +4829,7 @@ func (s *DescribeVirtualServiceInput) SetVirtualServiceName(v string) *DescribeV type DescribeVirtualServiceOutput struct { _ struct{} `type:"structure" payload:"VirtualService"` - // An object representing a virtual service returned by a describe operation. + // An object that represents a virtual service returned by a describe operation. // // VirtualService is a required field VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` @@ -4851,8 +4851,8 @@ func (s *DescribeVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) return s } -// An object representing the DNS service discovery information for your virtual -// node. +// An object that represents the DNS service discovery information for your +// virtual node. type DnsServiceDiscovery struct { _ struct{} `type:"structure"` @@ -4889,7 +4889,7 @@ func (s *DnsServiceDiscovery) SetHostname(v string) *DnsServiceDiscovery { return s } -// An object representing the duration between retry attempts. +// An object that represents a duration of time. type Duration struct { _ struct{} `type:"structure"` @@ -4920,7 +4920,7 @@ func (s *Duration) SetValue(v int64) *Duration { return s } -// An object representing the egress filter rules for a service mesh. +// An object that represents the egress filter rules for a service mesh. type EgressFilter struct { _ struct{} `type:"structure"` @@ -4957,7 +4957,7 @@ func (s *EgressFilter) SetType(v string) *EgressFilter { return s } -// An object representing an access log file. +// An object that represents an access log file. type FileAccessLog struct { _ struct{} `type:"structure"` @@ -4997,8 +4997,436 @@ func (s *FileAccessLog) SetPath(v string) *FileAccessLog { return s } -// An object representing the method and value to match the header value sent -// with a request. Specify one match method. +// An object that represents a retry policy. Specify at least one value for +// at least one of the types of RetryEvents, a value for maxRetries, and a value +// for perRetryTimeout. +type GrpcRetryPolicy struct { + _ struct{} `type:"structure"` + + GrpcRetryEvents []*string `locationName:"grpcRetryEvents" min:"1" type:"list"` + + HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` + + // MaxRetries is a required field + MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` + + // An object that represents a duration of time. + // + // PerRetryTimeout is a required field + PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` + + TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"` +} + +// String returns the string representation +func (s GrpcRetryPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GrpcRetryPolicy) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GrpcRetryPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRetryPolicy"} + if s.GrpcRetryEvents != nil && len(s.GrpcRetryEvents) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GrpcRetryEvents", 1)) + } + if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) + } + if s.MaxRetries == nil { + invalidParams.Add(request.NewErrParamRequired("MaxRetries")) + } + if s.PerRetryTimeout == nil { + invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) + } + if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGrpcRetryEvents sets the GrpcRetryEvents field's value. +func (s *GrpcRetryPolicy) SetGrpcRetryEvents(v []*string) *GrpcRetryPolicy { + s.GrpcRetryEvents = v + return s +} + +// SetHttpRetryEvents sets the HttpRetryEvents field's value. +func (s *GrpcRetryPolicy) SetHttpRetryEvents(v []*string) *GrpcRetryPolicy { + s.HttpRetryEvents = v + return s +} + +// SetMaxRetries sets the MaxRetries field's value. +func (s *GrpcRetryPolicy) SetMaxRetries(v int64) *GrpcRetryPolicy { + s.MaxRetries = &v + return s +} + +// SetPerRetryTimeout sets the PerRetryTimeout field's value. +func (s *GrpcRetryPolicy) SetPerRetryTimeout(v *Duration) *GrpcRetryPolicy { + s.PerRetryTimeout = v + return s +} + +// SetTcpRetryEvents sets the TcpRetryEvents field's value. +func (s *GrpcRetryPolicy) SetTcpRetryEvents(v []*string) *GrpcRetryPolicy { + s.TcpRetryEvents = v + return s +} + +// An object that represents a GRPC route type. +type GrpcRoute struct { + _ struct{} `type:"structure"` + + // An object that represents the action to take if a match is determined. + // + // Action is a required field + Action *GrpcRouteAction `locationName:"action" type:"structure" required:"true"` + + // An object that represents the criteria for determining a request match. + // + // Match is a required field + Match *GrpcRouteMatch `locationName:"match" type:"structure" required:"true"` + + // An object that represents a retry policy. Specify at least one value for + // at least one of the types of RetryEvents, a value for maxRetries, and a value + // for perRetryTimeout. + RetryPolicy *GrpcRetryPolicy `locationName:"retryPolicy" type:"structure"` +} + +// String returns the string representation +func (s GrpcRoute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GrpcRoute) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GrpcRoute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRoute"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.Match == nil { + invalidParams.Add(request.NewErrParamRequired("Match")) + } + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } + } + if s.Match != nil { + if err := s.Match.Validate(); err != nil { + invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + } + } + if s.RetryPolicy != nil { + if err := s.RetryPolicy.Validate(); err != nil { + invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAction sets the Action field's value. +func (s *GrpcRoute) SetAction(v *GrpcRouteAction) *GrpcRoute { + s.Action = v + return s +} + +// SetMatch sets the Match field's value. +func (s *GrpcRoute) SetMatch(v *GrpcRouteMatch) *GrpcRoute { + s.Match = v + return s +} + +// SetRetryPolicy sets the RetryPolicy field's value. +func (s *GrpcRoute) SetRetryPolicy(v *GrpcRetryPolicy) *GrpcRoute { + s.RetryPolicy = v + return s +} + +// An object that represents the action to take if a match is determined. +type GrpcRouteAction struct { + _ struct{} `type:"structure"` + + // WeightedTargets is a required field + WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s GrpcRouteAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GrpcRouteAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GrpcRouteAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRouteAction"} + if s.WeightedTargets == nil { + invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) + } + if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) + } + if s.WeightedTargets != nil { + for i, v := range s.WeightedTargets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWeightedTargets sets the WeightedTargets field's value. +func (s *GrpcRouteAction) SetWeightedTargets(v []*WeightedTarget) *GrpcRouteAction { + s.WeightedTargets = v + return s +} + +// An object that represents the criteria for determining a request match. +type GrpcRouteMatch struct { + _ struct{} `type:"structure"` + + Metadata []*GrpcRouteMetadata `locationName:"metadata" min:"1" type:"list"` + + MethodName *string `locationName:"methodName" min:"1" type:"string"` + + ServiceName *string `locationName:"serviceName" type:"string"` +} + +// String returns the string representation +func (s GrpcRouteMatch) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GrpcRouteMatch) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GrpcRouteMatch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMatch"} + if s.Metadata != nil && len(s.Metadata) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Metadata", 1)) + } + if s.MethodName != nil && len(*s.MethodName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MethodName", 1)) + } + if s.Metadata != nil { + for i, v := range s.Metadata { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metadata", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMetadata sets the Metadata field's value. +func (s *GrpcRouteMatch) SetMetadata(v []*GrpcRouteMetadata) *GrpcRouteMatch { + s.Metadata = v + return s +} + +// SetMethodName sets the MethodName field's value. +func (s *GrpcRouteMatch) SetMethodName(v string) *GrpcRouteMatch { + s.MethodName = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *GrpcRouteMatch) SetServiceName(v string) *GrpcRouteMatch { + s.ServiceName = &v + return s +} + +// An object that represents the match metadata for the route. +type GrpcRouteMetadata struct { + _ struct{} `type:"structure"` + + Invert *bool `locationName:"invert" type:"boolean"` + + // An object that represents the match method. Specify one of the match values. + Match *GrpcRouteMetadataMatchMethod `locationName:"match" type:"structure"` + + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GrpcRouteMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GrpcRouteMetadata) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GrpcRouteMetadata) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadata"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Match != nil { + if err := s.Match.Validate(); err != nil { + invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInvert sets the Invert field's value. +func (s *GrpcRouteMetadata) SetInvert(v bool) *GrpcRouteMetadata { + s.Invert = &v + return s +} + +// SetMatch sets the Match field's value. +func (s *GrpcRouteMetadata) SetMatch(v *GrpcRouteMetadataMatchMethod) *GrpcRouteMetadata { + s.Match = v + return s +} + +// SetName sets the Name field's value. +func (s *GrpcRouteMetadata) SetName(v string) *GrpcRouteMetadata { + s.Name = &v + return s +} + +// An object that represents the match method. Specify one of the match values. +type GrpcRouteMetadataMatchMethod struct { + _ struct{} `type:"structure"` + + Exact *string `locationName:"exact" min:"1" type:"string"` + + Prefix *string `locationName:"prefix" min:"1" type:"string"` + + // An object that represents the range of values to match on. The first character + // of the range is included in the range, though the last character is not. + // For example, if the range specified were 1-100, only values 1-99 would be + // matched. + Range *MatchRange `locationName:"range" type:"structure"` + + Regex *string `locationName:"regex" min:"1" type:"string"` + + Suffix *string `locationName:"suffix" min:"1" type:"string"` +} + +// String returns the string representation +func (s GrpcRouteMetadataMatchMethod) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GrpcRouteMetadataMatchMethod) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GrpcRouteMetadataMatchMethod) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadataMatchMethod"} + if s.Exact != nil && len(*s.Exact) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) + } + if s.Prefix != nil && len(*s.Prefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) + } + if s.Regex != nil && len(*s.Regex) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) + } + if s.Suffix != nil && len(*s.Suffix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) + } + if s.Range != nil { + if err := s.Range.Validate(); err != nil { + invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExact sets the Exact field's value. +func (s *GrpcRouteMetadataMatchMethod) SetExact(v string) *GrpcRouteMetadataMatchMethod { + s.Exact = &v + return s +} + +// SetPrefix sets the Prefix field's value. +func (s *GrpcRouteMetadataMatchMethod) SetPrefix(v string) *GrpcRouteMetadataMatchMethod { + s.Prefix = &v + return s +} + +// SetRange sets the Range field's value. +func (s *GrpcRouteMetadataMatchMethod) SetRange(v *MatchRange) *GrpcRouteMetadataMatchMethod { + s.Range = v + return s +} + +// SetRegex sets the Regex field's value. +func (s *GrpcRouteMetadataMatchMethod) SetRegex(v string) *GrpcRouteMetadataMatchMethod { + s.Regex = &v + return s +} + +// SetSuffix sets the Suffix field's value. +func (s *GrpcRouteMetadataMatchMethod) SetSuffix(v string) *GrpcRouteMetadataMatchMethod { + s.Suffix = &v + return s +} + +// An object that represents the method and value to match with the header value +// sent in a request. Specify one match method. type HeaderMatchMethod struct { _ struct{} `type:"structure"` @@ -5006,9 +5434,10 @@ type HeaderMatchMethod struct { Prefix *string `locationName:"prefix" min:"1" type:"string"` - // The range of values to match on. The first character of the range is included - // in the range, though the last character is not. For example, if the range - // specified were 1-100, only values 1-99 would be matched. + // An object that represents the range of values to match on. The first character + // of the range is included in the range, though the last character is not. + // For example, if the range specified were 1-100, only values 1-99 would be + // matched. Range *MatchRange `locationName:"range" type:"structure"` Regex *string `locationName:"regex" min:"1" type:"string"` @@ -5083,7 +5512,7 @@ func (s *HeaderMatchMethod) SetSuffix(v string) *HeaderMatchMethod { return s } -// An object representing the health check policy for a virtual node's listener. +// An object that represents the health check policy for a virtual node's listener. type HealthCheckPolicy struct { _ struct{} `type:"structure"` @@ -5199,7 +5628,9 @@ func (s *HealthCheckPolicy) SetUnhealthyThreshold(v int64) *HealthCheckPolicy { return s } -// An object that represents a retry policy. +// An object that represents a retry policy. Specify at least one value for +// at least one of the types of RetryEvents, a value for maxRetries, and a value +// for perRetryTimeout. type HttpRetryPolicy struct { _ struct{} `type:"structure"` @@ -5208,7 +5639,7 @@ type HttpRetryPolicy struct { // MaxRetries is a required field MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` - // An object representing the duration between retry attempts. + // An object that represents a duration of time. // // PerRetryTimeout is a required field PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` @@ -5272,23 +5703,24 @@ func (s *HttpRetryPolicy) SetTcpRetryEvents(v []*string) *HttpRetryPolicy { return s } -// An object representing the HTTP routing specification for a route. +// An object that represents an HTTP or HTTP2 route type. type HttpRoute struct { _ struct{} `type:"structure"` - // An object representing the traffic distribution requirements for matched - // HTTP requests. + // An object that represents the action to take if a match is determined. // // Action is a required field Action *HttpRouteAction `locationName:"action" type:"structure" required:"true"` - // An object representing the requirements for a route to match HTTP requests + // An object that represents the requirements for a route to match HTTP requests // for a virtual router. // // Match is a required field Match *HttpRouteMatch `locationName:"match" type:"structure" required:"true"` - // An object that represents a retry policy. + // An object that represents a retry policy. Specify at least one value for + // at least one of the types of RetryEvents, a value for maxRetries, and a value + // for perRetryTimeout. RetryPolicy *HttpRetryPolicy `locationName:"retryPolicy" type:"structure"` } @@ -5351,8 +5783,7 @@ func (s *HttpRoute) SetRetryPolicy(v *HttpRetryPolicy) *HttpRoute { return s } -// An object representing the traffic distribution requirements for matched -// HTTP requests. +// An object that represents the action to take if a match is determined. type HttpRouteAction struct { _ struct{} `type:"structure"` @@ -5402,14 +5833,14 @@ func (s *HttpRouteAction) SetWeightedTargets(v []*WeightedTarget) *HttpRouteActi return s } -// An object representing the HTTP header in the request. +// An object that represents the HTTP header in the request. type HttpRouteHeader struct { _ struct{} `type:"structure"` Invert *bool `locationName:"invert" type:"boolean"` - // An object representing the method and value to match the header value sent - // with a request. Specify one match method. + // An object that represents the method and value to match with the header value + // sent in a request. Specify one match method. Match *HeaderMatchMethod `locationName:"match" type:"structure"` // Name is a required field @@ -5465,7 +5896,7 @@ func (s *HttpRouteHeader) SetName(v string) *HttpRouteHeader { return s } -// An object representing the requirements for a route to match HTTP requests +// An object that represents the requirements for a route to match HTTP requests // for a virtual router. type HttpRouteMatch struct { _ struct{} `type:"structure"` @@ -6071,14 +6502,14 @@ func (s *ListVirtualServicesOutput) SetVirtualServices(v []*VirtualServiceRef) * return s } -// An object representing a listener for a virtual node. +// An object that represents a listener for a virtual node. type Listener struct { _ struct{} `type:"structure"` - // An object representing the health check policy for a virtual node's listener. + // An object that represents the health check policy for a virtual node's listener. HealthCheck *HealthCheckPolicy `locationName:"healthCheck" type:"structure"` - // An object representing a virtual node or virtual router listener port mapping. + // An object that represents a port mapping. // // PortMapping is a required field PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` @@ -6129,11 +6560,11 @@ func (s *Listener) SetPortMapping(v *PortMapping) *Listener { return s } -// An object representing the logging information for a virtual node. +// An object that represents the logging information for a virtual node. type Logging struct { _ struct{} `type:"structure"` - // An object representing the access logging information for a virtual node. + // An object that represents the access logging information for a virtual node. AccessLog *AccessLog `locationName:"accessLog" type:"structure"` } @@ -6168,9 +6599,10 @@ func (s *Logging) SetAccessLog(v *AccessLog) *Logging { return s } -// The range of values to match on. The first character of the range is included -// in the range, though the last character is not. For example, if the range -// specified were 1-100, only values 1-99 would be matched. +// An object that represents the range of values to match on. The first character +// of the range is included in the range, though the last character is not. +// For example, if the range specified were 1-100, only values 1-99 would be +// matched. type MatchRange struct { _ struct{} `type:"structure"` @@ -6219,24 +6651,24 @@ func (s *MatchRange) SetStart(v int64) *MatchRange { return s } -// An object representing a service mesh returned by a describe operation. +// An object that represents a service mesh returned by a describe operation. type MeshData struct { _ struct{} `type:"structure"` // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` - // An object representing metadata for a resource. + // An object that represents metadata for a resource. // // Metadata is a required field Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` - // An object representing the specification of a service mesh. + // An object that represents the specification of a service mesh. // // Spec is a required field Spec *MeshSpec `locationName:"spec" type:"structure" required:"true"` - // An object representing the status of a service mesh. + // An object that represents the status of a service mesh. // // Status is a required field Status *MeshStatus `locationName:"status" type:"structure" required:"true"` @@ -6276,7 +6708,7 @@ func (s *MeshData) SetStatus(v *MeshStatus) *MeshData { return s } -// An object representing a service mesh returned by a list operation. +// An object that represents a service mesh returned by a list operation. type MeshRef struct { _ struct{} `type:"structure"` @@ -6309,11 +6741,11 @@ func (s *MeshRef) SetMeshName(v string) *MeshRef { return s } -// An object representing the specification of a service mesh. +// An object that represents the specification of a service mesh. type MeshSpec struct { _ struct{} `type:"structure"` - // An object representing the egress filter rules for a service mesh. + // An object that represents the egress filter rules for a service mesh. EgressFilter *EgressFilter `locationName:"egressFilter" type:"structure"` } @@ -6348,7 +6780,7 @@ func (s *MeshSpec) SetEgressFilter(v *EgressFilter) *MeshSpec { return s } -// An object representing the status of a service mesh. +// An object that represents the status of a service mesh. type MeshStatus struct { _ struct{} `type:"structure"` @@ -6371,7 +6803,7 @@ func (s *MeshStatus) SetStatus(v string) *MeshStatus { return s } -// An object representing a virtual node or virtual router listener port mapping. +// An object that represents a port mapping. type PortMapping struct { _ struct{} `type:"structure"` @@ -6423,7 +6855,7 @@ func (s *PortMapping) SetProtocol(v string) *PortMapping { return s } -// An object representing metadata for a resource. +// An object that represents metadata for a resource. type ResourceMetadata struct { _ struct{} `type:"structure"` @@ -6483,14 +6915,14 @@ func (s *ResourceMetadata) SetVersion(v int64) *ResourceMetadata { return s } -// An object representing a route returned by a describe operation. +// An object that represents a route returned by a describe operation. type RouteData struct { _ struct{} `type:"structure"` // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` - // An object representing metadata for a resource. + // An object that represents metadata for a resource. // // Metadata is a required field Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` @@ -6498,12 +6930,12 @@ type RouteData struct { // RouteName is a required field RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` - // An object representing the specification of a route. + // An object that represents a route specification. Specify one route type. // // Spec is a required field Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` - // An object representing the current status of a route. + // An object that represents the current status of a route. // // Status is a required field Status *RouteStatus `locationName:"status" type:"structure" required:"true"` @@ -6558,7 +6990,7 @@ func (s *RouteData) SetVirtualRouterName(v string) *RouteData { return s } -// An object representing a route returned by a list operation. +// An object that represents a route returned by a list operation. type RouteRef struct { _ struct{} `type:"structure"` @@ -6609,16 +7041,22 @@ func (s *RouteRef) SetVirtualRouterName(v string) *RouteRef { return s } -// An object representing the specification of a route. +// An object that represents a route specification. Specify one route type. type RouteSpec struct { _ struct{} `type:"structure"` - // An object representing the HTTP routing specification for a route. + // An object that represents a GRPC route type. + GrpcRoute *GrpcRoute `locationName:"grpcRoute" type:"structure"` + + // An object that represents an HTTP or HTTP2 route type. + Http2Route *HttpRoute `locationName:"http2Route" type:"structure"` + + // An object that represents an HTTP or HTTP2 route type. HttpRoute *HttpRoute `locationName:"httpRoute" type:"structure"` Priority *int64 `locationName:"priority" type:"integer"` - // An object representing the TCP routing specification for a route. + // An object that represents a TCP route type. TcpRoute *TcpRoute `locationName:"tcpRoute" type:"structure"` } @@ -6635,6 +7073,16 @@ func (s RouteSpec) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *RouteSpec) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RouteSpec"} + if s.GrpcRoute != nil { + if err := s.GrpcRoute.Validate(); err != nil { + invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams)) + } + } + if s.Http2Route != nil { + if err := s.Http2Route.Validate(); err != nil { + invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams)) + } + } if s.HttpRoute != nil { if err := s.HttpRoute.Validate(); err != nil { invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) @@ -6652,6 +7100,18 @@ func (s *RouteSpec) Validate() error { return nil } +// SetGrpcRoute sets the GrpcRoute field's value. +func (s *RouteSpec) SetGrpcRoute(v *GrpcRoute) *RouteSpec { + s.GrpcRoute = v + return s +} + +// SetHttp2Route sets the Http2Route field's value. +func (s *RouteSpec) SetHttp2Route(v *HttpRoute) *RouteSpec { + s.Http2Route = v + return s +} + // SetHttpRoute sets the HttpRoute field's value. func (s *RouteSpec) SetHttpRoute(v *HttpRoute) *RouteSpec { s.HttpRoute = v @@ -6670,7 +7130,7 @@ func (s *RouteSpec) SetTcpRoute(v *TcpRoute) *RouteSpec { return s } -// An object representing the current status of a route. +// An object that represents the current status of a route. type RouteStatus struct { _ struct{} `type:"structure"` @@ -6694,16 +7154,17 @@ func (s *RouteStatus) SetStatus(v string) *RouteStatus { return s } -// An object representing the service discovery information for a virtual node. +// An object that represents the service discovery information for a virtual +// node. type ServiceDiscovery struct { _ struct{} `type:"structure"` - // An object representing the AWS Cloud Map service discovery information for - // your virtual node. + // An object that represents the AWS Cloud Map service discovery information + // for your virtual node. AwsCloudMap *AwsCloudMapServiceDiscovery `locationName:"awsCloudMap" type:"structure"` - // An object representing the DNS service discovery information for your virtual - // node. + // An object that represents the DNS service discovery information for your + // virtual node. Dns *DnsServiceDiscovery `locationName:"dns" type:"structure"` } @@ -6872,12 +7333,11 @@ func (s TagResourceOutput) GoString() string { return s.String() } -// An object representing the TCP routing specification for a route. +// An object that represents a TCP route type. type TcpRoute struct { _ struct{} `type:"structure"` - // An object representing the traffic distribution requirements for matched - // TCP requests. + // An object that represents the action to take if a match is determined. // // Action is a required field Action *TcpRouteAction `locationName:"action" type:"structure" required:"true"` @@ -6917,8 +7377,7 @@ func (s *TcpRoute) SetAction(v *TcpRouteAction) *TcpRoute { return s } -// An object representing the traffic distribution requirements for matched -// TCP requests. +// An object that represents the action to take if a match is determined. type TcpRouteAction struct { _ struct{} `type:"structure"` @@ -7038,7 +7497,7 @@ type UpdateMeshInput struct { // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // An object representing the specification of a service mesh. + // An object that represents the specification of a service mesh. Spec *MeshSpec `locationName:"spec" type:"structure"` } @@ -7094,7 +7553,7 @@ func (s *UpdateMeshInput) SetSpec(v *MeshSpec) *UpdateMeshInput { type UpdateMeshOutput struct { _ struct{} `type:"structure" payload:"Mesh"` - // An object representing a service mesh returned by a describe operation. + // An object that represents a service mesh returned by a describe operation. // // Mesh is a required field Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` @@ -7127,7 +7586,7 @@ type UpdateRouteInput struct { // RouteName is a required field RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` - // An object representing the specification of a route. + // An object that represents a route specification. Specify one route type. // // Spec is a required field Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` @@ -7215,7 +7674,7 @@ func (s *UpdateRouteInput) SetVirtualRouterName(v string) *UpdateRouteInput { type UpdateRouteOutput struct { _ struct{} `type:"structure" payload:"Route"` - // An object representing a route returned by a describe operation. + // An object that represents a route returned by a describe operation. // // Route is a required field Route *RouteData `locationName:"route" type:"structure" required:"true"` @@ -7245,7 +7704,7 @@ type UpdateVirtualNodeInput struct { // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // An object representing the specification of a virtual node. + // An object that represents the specification of a virtual node. // // Spec is a required field Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` @@ -7321,7 +7780,7 @@ func (s *UpdateVirtualNodeInput) SetVirtualNodeName(v string) *UpdateVirtualNode type UpdateVirtualNodeOutput struct { _ struct{} `type:"structure" payload:"VirtualNode"` - // An object representing a virtual node returned by a describe operation. + // An object that represents a virtual node returned by a describe operation. // // VirtualNode is a required field VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` @@ -7351,7 +7810,7 @@ type UpdateVirtualRouterInput struct { // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // An object representing the specification of a virtual router. + // An object that represents the specification of a virtual router. // // Spec is a required field Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` @@ -7427,7 +7886,7 @@ func (s *UpdateVirtualRouterInput) SetVirtualRouterName(v string) *UpdateVirtual type UpdateVirtualRouterOutput struct { _ struct{} `type:"structure" payload:"VirtualRouter"` - // An object representing a virtual router returned by a describe operation. + // An object that represents a virtual router returned by a describe operation. // // VirtualRouter is a required field VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` @@ -7457,7 +7916,7 @@ type UpdateVirtualServiceInput struct { // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // An object representing the specification of a virtual service. + // An object that represents the specification of a virtual service. // // Spec is a required field Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` @@ -7533,7 +7992,7 @@ func (s *UpdateVirtualServiceInput) SetVirtualServiceName(v string) *UpdateVirtu type UpdateVirtualServiceOutput struct { _ struct{} `type:"structure" payload:"VirtualService"` - // An object representing a virtual service returned by a describe operation. + // An object that represents a virtual service returned by a describe operation. // // VirtualService is a required field VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` @@ -7555,24 +8014,24 @@ func (s *UpdateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *U return s } -// An object representing a virtual node returned by a describe operation. +// An object that represents a virtual node returned by a describe operation. type VirtualNodeData struct { _ struct{} `type:"structure"` // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` - // An object representing metadata for a resource. + // An object that represents metadata for a resource. // // Metadata is a required field Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` - // An object representing the specification of a virtual node. + // An object that represents the specification of a virtual node. // // Spec is a required field Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` - // An object representing the current status of the virtual node. + // An object that represents the current status of the virtual node. // // Status is a required field Status *VirtualNodeStatus `locationName:"status" type:"structure" required:"true"` @@ -7621,7 +8080,7 @@ func (s *VirtualNodeData) SetVirtualNodeName(v string) *VirtualNodeData { return s } -// An object representing a virtual node returned by a list operation. +// An object that represents a virtual node returned by a list operation. type VirtualNodeRef struct { _ struct{} `type:"structure"` @@ -7663,7 +8122,7 @@ func (s *VirtualNodeRef) SetVirtualNodeName(v string) *VirtualNodeRef { return s } -// An object representing a virtual node service provider. +// An object that represents a virtual node service provider. type VirtualNodeServiceProvider struct { _ struct{} `type:"structure"` @@ -7703,7 +8162,7 @@ func (s *VirtualNodeServiceProvider) SetVirtualNodeName(v string) *VirtualNodeSe return s } -// An object representing the specification of a virtual node. +// An object that represents the specification of a virtual node. type VirtualNodeSpec struct { _ struct{} `type:"structure"` @@ -7711,10 +8170,11 @@ type VirtualNodeSpec struct { Listeners []*Listener `locationName:"listeners" type:"list"` - // An object representing the logging information for a virtual node. + // An object that represents the logging information for a virtual node. Logging *Logging `locationName:"logging" type:"structure"` - // An object representing the service discovery information for a virtual node. + // An object that represents the service discovery information for a virtual + // node. ServiceDiscovery *ServiceDiscovery `locationName:"serviceDiscovery" type:"structure"` } @@ -7792,7 +8252,7 @@ func (s *VirtualNodeSpec) SetServiceDiscovery(v *ServiceDiscovery) *VirtualNodeS return s } -// An object representing the current status of the virtual node. +// An object that represents the current status of the virtual node. type VirtualNodeStatus struct { _ struct{} `type:"structure"` @@ -7816,24 +8276,24 @@ func (s *VirtualNodeStatus) SetStatus(v string) *VirtualNodeStatus { return s } -// An object representing a virtual router returned by a describe operation. +// An object that represents a virtual router returned by a describe operation. type VirtualRouterData struct { _ struct{} `type:"structure"` // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` - // An object representing metadata for a resource. + // An object that represents metadata for a resource. // // Metadata is a required field Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` - // An object representing the specification of a virtual router. + // An object that represents the specification of a virtual router. // // Spec is a required field Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` - // An object representing the status of a virtual router. + // An object that represents the status of a virtual router. // // Status is a required field Status *VirtualRouterStatus `locationName:"status" type:"structure" required:"true"` @@ -7882,11 +8342,11 @@ func (s *VirtualRouterData) SetVirtualRouterName(v string) *VirtualRouterData { return s } -// An object representing a virtual router listener. +// An object that represents a virtual router listener. type VirtualRouterListener struct { _ struct{} `type:"structure"` - // An object representing a virtual node or virtual router listener port mapping. + // An object that represents a port mapping. // // PortMapping is a required field PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` @@ -7926,7 +8386,7 @@ func (s *VirtualRouterListener) SetPortMapping(v *PortMapping) *VirtualRouterLis return s } -// An object representing a virtual router returned by a list operation. +// An object that represents a virtual router returned by a list operation. type VirtualRouterRef struct { _ struct{} `type:"structure"` @@ -7968,7 +8428,7 @@ func (s *VirtualRouterRef) SetVirtualRouterName(v string) *VirtualRouterRef { return s } -// An object representing a virtual node service provider. +// An object that represents a virtual node service provider. type VirtualRouterServiceProvider struct { _ struct{} `type:"structure"` @@ -8008,7 +8468,7 @@ func (s *VirtualRouterServiceProvider) SetVirtualRouterName(v string) *VirtualRo return s } -// An object representing the specification of a virtual router. +// An object that represents the specification of a virtual router. type VirtualRouterSpec struct { _ struct{} `type:"structure"` @@ -8054,7 +8514,7 @@ func (s *VirtualRouterSpec) SetListeners(v []*VirtualRouterListener) *VirtualRou return s } -// An object representing the status of a virtual router. +// An object that represents the status of a virtual router. type VirtualRouterStatus struct { _ struct{} `type:"structure"` @@ -8078,7 +8538,7 @@ func (s *VirtualRouterStatus) SetStatus(v string) *VirtualRouterStatus { return s } -// An object representing a virtual service backend for a virtual node. +// An object that represents a virtual service backend for a virtual node. type VirtualServiceBackend struct { _ struct{} `type:"structure"` @@ -8115,24 +8575,24 @@ func (s *VirtualServiceBackend) SetVirtualServiceName(v string) *VirtualServiceB return s } -// An object representing a virtual service returned by a describe operation. +// An object that represents a virtual service returned by a describe operation. type VirtualServiceData struct { _ struct{} `type:"structure"` // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` - // An object representing metadata for a resource. + // An object that represents metadata for a resource. // // Metadata is a required field Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` - // An object representing the specification of a virtual service. + // An object that represents the specification of a virtual service. // // Spec is a required field Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` - // An object representing the status of a virtual service. + // An object that represents the status of a virtual service. // // Status is a required field Status *VirtualServiceStatus `locationName:"status" type:"structure" required:"true"` @@ -8181,14 +8641,14 @@ func (s *VirtualServiceData) SetVirtualServiceName(v string) *VirtualServiceData return s } -// An object representing the provider for a virtual service. +// An object that represents the provider for a virtual service. type VirtualServiceProvider struct { _ struct{} `type:"structure"` - // An object representing a virtual node service provider. + // An object that represents a virtual node service provider. VirtualNode *VirtualNodeServiceProvider `locationName:"virtualNode" type:"structure"` - // An object representing a virtual node service provider. + // An object that represents a virtual node service provider. VirtualRouter *VirtualRouterServiceProvider `locationName:"virtualRouter" type:"structure"` } @@ -8234,7 +8694,7 @@ func (s *VirtualServiceProvider) SetVirtualRouter(v *VirtualRouterServiceProvide return s } -// An object representing a virtual service returned by a list operation. +// An object that represents a virtual service returned by a list operation. type VirtualServiceRef struct { _ struct{} `type:"structure"` @@ -8276,11 +8736,11 @@ func (s *VirtualServiceRef) SetVirtualServiceName(v string) *VirtualServiceRef { return s } -// An object representing the specification of a virtual service. +// An object that represents the specification of a virtual service. type VirtualServiceSpec struct { _ struct{} `type:"structure"` - // An object representing the provider for a virtual service. + // An object that represents the provider for a virtual service. Provider *VirtualServiceProvider `locationName:"provider" type:"structure"` } @@ -8315,7 +8775,7 @@ func (s *VirtualServiceSpec) SetProvider(v *VirtualServiceProvider) *VirtualServ return s } -// An object representing the status of a virtual service. +// An object that represents the status of a virtual service. type VirtualServiceStatus struct { _ struct{} `type:"structure"` @@ -8339,10 +8799,11 @@ func (s *VirtualServiceStatus) SetStatus(v string) *VirtualServiceStatus { return s } -// An object representing a target and its relative weight. Traffic is distributed +// An object that represents a target and its relative weight. Traffic is distributed // across targets according to their relative weight. For example, a weighted // target with a relative weight of 50 receives five times as much traffic as -// one with a relative weight of 10. +// one with a relative weight of 10. The total weight for all targets combined +// must be less than or equal to 100. type WeightedTarget struct { _ struct{} `type:"structure"` @@ -8410,6 +8871,23 @@ const ( EgressFilterTypeDropAll = "DROP_ALL" ) +const ( + // GrpcRetryPolicyEventCancelled is a GrpcRetryPolicyEvent enum value + GrpcRetryPolicyEventCancelled = "cancelled" + + // GrpcRetryPolicyEventDeadlineExceeded is a GrpcRetryPolicyEvent enum value + GrpcRetryPolicyEventDeadlineExceeded = "deadline-exceeded" + + // GrpcRetryPolicyEventInternal is a GrpcRetryPolicyEvent enum value + GrpcRetryPolicyEventInternal = "internal" + + // GrpcRetryPolicyEventResourceExhausted is a GrpcRetryPolicyEvent enum value + GrpcRetryPolicyEventResourceExhausted = "resource-exhausted" + + // GrpcRetryPolicyEventUnavailable is a GrpcRetryPolicyEvent enum value + GrpcRetryPolicyEventUnavailable = "unavailable" +) + const ( // HttpMethodConnect is a HttpMethod enum value HttpMethodConnect = "CONNECT" @@ -8459,9 +8937,15 @@ const ( ) const ( + // PortProtocolGrpc is a PortProtocol enum value + PortProtocolGrpc = "grpc" + // PortProtocolHttp is a PortProtocol enum value PortProtocolHttp = "http" + // PortProtocolHttp2 is a PortProtocol enum value + PortProtocolHttp2 = "http2" + // PortProtocolTcp is a PortProtocol enum value PortProtocolTcp = "tcp" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/batch/api.go b/vendor/github.com/aws/aws-sdk-go/service/batch/api.go index 9cb0000b92fa..d061b1533d11 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/batch/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/batch/api.go @@ -2141,19 +2141,35 @@ func (s *ComputeEnvironmentOrder) SetOrder(v int64) *ComputeEnvironmentOrder { type ComputeResource struct { _ struct{} `type:"structure"` + // The allocation strategy to use for the compute resource in case not enough + // instances of the best fitting instance type can be allocated. This could + // be due to availability of the instance type in the region or Amazon EC2 service + // limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html). + // If this is not specified, the default is BEST_FIT, which will use only the + // best fitting instance type, waiting for additional capacity if it's not available. + // This allocation strategy keeps costs lower but can limit scaling. BEST_FIT_PROGRESSIVE + // will select an additional instance type that is large enough to meet the + // requirements of the jobs in the queue, with a preference for an instance + // type with a lower cost. SPOT_CAPACITY_OPTIMIZED is only available for Spot + // Instance compute resources and will select an additional instance type that + // is large enough to meet the requirements of the jobs in the queue, with a + // preference for an instance type that is less likely to be interrupted. + AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"CRAllocationStrategy"` + // The maximum percentage that a Spot Instance price can be when compared with // the On-Demand price for that instance type before instances are launched. // For example, if your maximum percentage is 20%, then the Spot price must - // be below 20% of the current On-Demand price for that EC2 instance. You always - // pay the lowest (market) price and never more than your maximum percentage. - // If you leave this field empty, the default value is 100% of the On-Demand - // price. + // be below 20% of the current On-Demand price for that Amazon EC2 instance. + // You always pay the lowest (market) price and never more than your maximum + // percentage. If you leave this field empty, the default value is 100% of the + // On-Demand price. BidPercentage *int64 `locationName:"bidPercentage" type:"integer"` - // The desired number of EC2 vCPUS in the compute environment. + // The desired number of Amazon EC2 vCPUS in the compute environment. DesiredvCpus *int64 `locationName:"desiredvCpus" type:"integer"` - // The EC2 key pair that is used for instances launched in the compute environment. + // The Amazon EC2 key pair that is used for instances launched in the compute + // environment. Ec2KeyPair *string `locationName:"ec2KeyPair" type:"string"` // The Amazon Machine Image (AMI) ID used for instances launched in the compute @@ -2170,8 +2186,8 @@ type ComputeResource struct { InstanceRole *string `locationName:"instanceRole" type:"string" required:"true"` // The instances types that may be launched. You can specify instance families - // to launch any instance type within those families (for example, c4 or p3), - // or you can specify specific sizes within a family (such as c4.8xlarge). You + // to launch any instance type within those families (for example, c5 or p3), + // or you can specify specific sizes within a family (such as c5.8xlarge). You // can also choose optimal to pick instance types (from the C, M, and R instance // families) on the fly that match the demand of your job queues. // @@ -2186,13 +2202,13 @@ type ComputeResource struct { // in the AWS Batch User Guide. LaunchTemplate *LaunchTemplateSpecification `locationName:"launchTemplate" type:"structure"` - // The maximum number of EC2 vCPUs that an environment can reach. + // The maximum number of Amazon EC2 vCPUs that an environment can reach. // // MaxvCpus is a required field MaxvCpus *int64 `locationName:"maxvCpus" type:"integer" required:"true"` - // The minimum number of EC2 vCPUs that an environment should maintain (even - // if the compute environment is DISABLED). + // The minimum number of Amazon EC2 vCPUs that an environment should maintain + // (even if the compute environment is DISABLED). // // MinvCpus is a required field MinvCpus *int64 `locationName:"minvCpus" type:"integer" required:"true"` @@ -2206,8 +2222,11 @@ type ComputeResource struct { // in the Amazon EC2 User Guide for Linux Instances. PlacementGroup *string `locationName:"placementGroup" type:"string"` - // The EC2 security group that is associated with instances launched in the - // compute environment. + // The Amazon EC2 security groups associated with instances launched in the + // compute environment. One or more security groups must be specified, either + // in securityGroupIds or using a launch template referenced in launchTemplate. + // If security groups are specified using both securityGroupIds and launchTemplate, + // the values in securityGroupIds will be used. SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` // The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied @@ -2273,6 +2292,12 @@ func (s *ComputeResource) Validate() error { return nil } +// SetAllocationStrategy sets the AllocationStrategy field's value. +func (s *ComputeResource) SetAllocationStrategy(v string) *ComputeResource { + s.AllocationStrategy = &v + return s +} + // SetBidPercentage sets the BidPercentage field's value. func (s *ComputeResource) SetBidPercentage(v int64) *ComputeResource { s.BidPercentage = &v @@ -2368,13 +2393,13 @@ func (s *ComputeResource) SetType(v string) *ComputeResource { type ComputeResourceUpdate struct { _ struct{} `type:"structure"` - // The desired number of EC2 vCPUS in the compute environment. + // The desired number of Amazon EC2 vCPUS in the compute environment. DesiredvCpus *int64 `locationName:"desiredvCpus" type:"integer"` - // The maximum number of EC2 vCPUs that an environment can reach. + // The maximum number of Amazon EC2 vCPUs that an environment can reach. MaxvCpus *int64 `locationName:"maxvCpus" type:"integer"` - // The minimum number of EC2 vCPUs that an environment should maintain. + // The minimum number of Amazon EC2 vCPUs that an environment should maintain. MinvCpus *int64 `locationName:"minvCpus" type:"integer"` } @@ -6063,6 +6088,17 @@ const ( CETypeUnmanaged = "UNMANAGED" ) +const ( + // CRAllocationStrategyBestFit is a CRAllocationStrategy enum value + CRAllocationStrategyBestFit = "BEST_FIT" + + // CRAllocationStrategyBestFitProgressive is a CRAllocationStrategy enum value + CRAllocationStrategyBestFitProgressive = "BEST_FIT_PROGRESSIVE" + + // CRAllocationStrategySpotCapacityOptimized is a CRAllocationStrategy enum value + CRAllocationStrategySpotCapacityOptimized = "SPOT_CAPACITY_OPTIMIZED" +) + const ( // CRTypeEc2 is a CRType enum value CRTypeEc2 = "EC2" diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go index 0cc1304030f6..4fcd5618a7b1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go @@ -2304,19 +2304,20 @@ func (c *CloudWatch) TagResourceRequest(input *TagResourceInput) (req *request.R // TagResource API operation for Amazon CloudWatch. // // Assigns one or more tags (key-value pairs) to the specified CloudWatch resource. +// Currently, the only CloudWatch resources that can be tagged are alarms. +// // Tags can help you organize and categorize your resources. You can also use // them to scope user permissions, by granting a user permission to access or -// change only resources with certain tag values. In CloudWatch, alarms can -// be tagged. +// change only resources with certain tag values. // // Tags don't have any semantic meaning to AWS and are interpreted strictly // as strings of characters. // -// You can use the TagResource action with a resource that already has tags. -// If you specify a new tag key for the resource, this tag is appended to the -// list of tags associated with the resource. If you specify a tag key that -// is already associated with the resource, the new tag value that you specify -// replaces the previous value for that tag. +// You can use the TagResource action with an alarm that already has tags. If +// you specify a new tag key for the alarm, this tag is appended to the list +// of tags associated with the alarm. If you specify a tag key that is already +// associated with the alarm, the new tag value that you specify replaces the +// previous value for that tag. // // You can associate as many as 50 tags with a resource. // @@ -5068,6 +5069,19 @@ type MetricDataQuery struct { // MetricStat but not both. MetricStat *MetricStat `type:"structure"` + // The granularity, in seconds, of the returned data points. For metrics with + // regular resolution, a period can be as short as one minute (60 seconds) and + // must be a multiple of 60. For high-resolution metrics that are collected + // at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, + // or any multiple of 60. High-resolution metrics are those metrics stored by + // a PutMetricData operation that includes a StorageResolution of 1 second. + // + // Use this field only when you are performing a GetMetricData operation, and + // only when you are specifying the Expression field. Do not use this field + // with a PutMetricAlarm operation or when you are specifying a MetricStat in + // a GetMetricData operation. + Period *int64 `min:"1" type:"integer"` + // When used in GetMetricData, this option indicates whether to return the timestamps // and raw data values of this metric. If you are performing this call just // to do math expressions and do not also need the raw data returned, you can @@ -5101,6 +5115,9 @@ func (s *MetricDataQuery) Validate() error { if s.Id != nil && len(*s.Id) < 1 { invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } + if s.Period != nil && *s.Period < 1 { + invalidParams.Add(request.NewErrParamMinValue("Period", 1)) + } if s.MetricStat != nil { if err := s.MetricStat.Validate(); err != nil { invalidParams.AddNested("MetricStat", err.(request.ErrInvalidParams)) @@ -5137,6 +5154,12 @@ func (s *MetricDataQuery) SetMetricStat(v *MetricStat) *MetricDataQuery { return s } +// SetPeriod sets the Period field's value. +func (s *MetricDataQuery) SetPeriod(v int64) *MetricDataQuery { + s.Period = &v + return s +} + // SetReturnData sets the ReturnData field's value. func (s *MetricDataQuery) SetReturnData(v bool) *MetricDataQuery { s.ReturnData = &v @@ -5400,7 +5423,25 @@ type MetricStat struct { // Metric is a required field Metric *Metric `type:"structure" required:"true"` - // The period, in seconds, to use when retrieving the metric. + // The granularity, in seconds, of the returned data points. For metrics with + // regular resolution, a period can be as short as one minute (60 seconds) and + // must be a multiple of 60. For high-resolution metrics that are collected + // at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, + // or any multiple of 60. High-resolution metrics are those metrics stored by + // a PutMetricData call that includes a StorageResolution of 1 second. + // + // If the StartTime parameter specifies a time stamp that is greater than 3 + // hours ago, you must specify the period as follows or no data points in that + // time range is returned: + // + // * Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds + // (1 minute). + // + // * Start time between 15 and 63 days ago - Use a multiple of 300 seconds + // (5 minutes). + // + // * Start time greater than 63 days ago - Use a multiple of 3600 seconds + // (1 hour). // // Period is a required field Period *int64 `min:"1" type:"integer" required:"true"` @@ -6509,14 +6550,13 @@ func (s *Tag) SetValue(v string) *Tag { type TagResourceInput struct { _ struct{} `type:"structure"` - // The ARN of the CloudWatch resource that you're adding tags to. For more information - // on ARN format, see Example ARNs (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-cloudwatch) - // in the Amazon Web Services General Reference. + // The ARN of the CloudWatch alarm that you're adding tags to. The ARN format + // is arn:aws:cloudwatch:Region:account-id:alarm:alarm-name // // ResourceARN is a required field ResourceARN *string `min:"1" type:"string" required:"true"` - // The list of key-value pairs to associate with the resource. + // The list of key-value pairs to associate with the alarm. // // Tags is a required field Tags []*Tag `type:"list" required:"true"` 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 8c69b86d27d3..3df136f884d1 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 @@ -29541,16 +29541,24 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ // You can't register an image where a secondary (non-root) snapshot has AWS // Marketplace product codes. // -// Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE -// Linux Enterprise Server (SLES), use the EC2 billing product code associated -// with an AMI to verify the subscription status for package updates. Creating -// an AMI from an EBS snapshot does not maintain this billing code, and instances -// launched from such an AMI are not able to connect to package update infrastructure. -// If you purchase a Reserved Instance offering for one of these Linux distributions -// and launch instances using an AMI that does not contain the required billing -// code, your Reserved Instance is not applied to these instances. +// Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) +// and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code +// associated with an AMI to verify the subscription status for package updates. +// To create a new AMI for operating systems that require a billing product +// code, do the following: // -// To create an AMI for operating systems that require a billing code, see CreateImage. +// Launch an instance from an existing AMI with that billing product code. +// +// Customize the instance. +// +// Create a new AMI from the instance using CreateImage to preserve the billing +// product code association. +// +// If you purchase a Reserved Instance to apply to an On-Demand Instance that +// was launched from an AMI with a billing product code, make sure that the +// Reserved Instance has the matching billing product code. If you purchase +// a Reserved Instance without the matching billing product code, the Reserved +// Instance will not be applied to the On-Demand Instance. // // If needed, you can deregister an AMI at any time. Any modifications you make // to an AMI backed by an instance store volume invalidates its registration. @@ -40765,6 +40773,9 @@ type CreateFpgaImageInput struct { // A name for the AFI. Name *string `type:"string"` + + // The tags to apply to the FPGA image during creation. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` } // String returns the string representation @@ -40826,6 +40837,12 @@ func (s *CreateFpgaImageInput) SetName(v string) *CreateFpgaImageInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateFpgaImageInput) SetTagSpecifications(v []*TagSpecification) *CreateFpgaImageInput { + s.TagSpecifications = v + return s +} + type CreateFpgaImageOutput struct { _ struct{} `type:"structure"` @@ -90564,10 +90581,11 @@ type TagSpecification struct { // The type of resource to tag. Currently, the resource types that support tagging // on creation are: capacity-reservation | client-vpn-endpoint | dedicated-host - // | fleet | instance | launch-template | snapshot | transit-gateway | transit-gateway-attachment + // | fleet | fpga-image | instance | launch-template | snapshot | traffic-mirror-filter + // | traffic-mirror-session | traffic-mirror-target | transit-gateway | transit-gateway-attachment // | transit-gateway-route-table | volume. // - // To tag a resource after it has been created, see CreateTags. + // To tag a resource after it has been created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` // The tags to apply to the resource. diff --git a/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go b/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go index 5fffd1929790..c29096f3f1b3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go @@ -20304,6 +20304,30 @@ const ( // EC2InstanceTypeC48xlarge is a EC2InstanceType enum value EC2InstanceTypeC48xlarge = "c4.8xlarge" + // EC2InstanceTypeC5Large is a EC2InstanceType enum value + EC2InstanceTypeC5Large = "c5.large" + + // EC2InstanceTypeC5Xlarge is a EC2InstanceType enum value + EC2InstanceTypeC5Xlarge = "c5.xlarge" + + // EC2InstanceTypeC52xlarge is a EC2InstanceType enum value + EC2InstanceTypeC52xlarge = "c5.2xlarge" + + // EC2InstanceTypeC54xlarge is a EC2InstanceType enum value + EC2InstanceTypeC54xlarge = "c5.4xlarge" + + // EC2InstanceTypeC59xlarge is a EC2InstanceType enum value + EC2InstanceTypeC59xlarge = "c5.9xlarge" + + // EC2InstanceTypeC512xlarge is a EC2InstanceType enum value + EC2InstanceTypeC512xlarge = "c5.12xlarge" + + // EC2InstanceTypeC518xlarge is a EC2InstanceType enum value + EC2InstanceTypeC518xlarge = "c5.18xlarge" + + // EC2InstanceTypeC524xlarge is a EC2InstanceType enum value + EC2InstanceTypeC524xlarge = "c5.24xlarge" + // EC2InstanceTypeR3Large is a EC2InstanceType enum value EC2InstanceTypeR3Large = "r3.large" @@ -20337,6 +20361,30 @@ const ( // EC2InstanceTypeR416xlarge is a EC2InstanceType enum value EC2InstanceTypeR416xlarge = "r4.16xlarge" + // EC2InstanceTypeR5Large is a EC2InstanceType enum value + EC2InstanceTypeR5Large = "r5.large" + + // EC2InstanceTypeR5Xlarge is a EC2InstanceType enum value + EC2InstanceTypeR5Xlarge = "r5.xlarge" + + // EC2InstanceTypeR52xlarge is a EC2InstanceType enum value + EC2InstanceTypeR52xlarge = "r5.2xlarge" + + // EC2InstanceTypeR54xlarge is a EC2InstanceType enum value + EC2InstanceTypeR54xlarge = "r5.4xlarge" + + // EC2InstanceTypeR58xlarge is a EC2InstanceType enum value + EC2InstanceTypeR58xlarge = "r5.8xlarge" + + // EC2InstanceTypeR512xlarge is a EC2InstanceType enum value + EC2InstanceTypeR512xlarge = "r5.12xlarge" + + // EC2InstanceTypeR516xlarge is a EC2InstanceType enum value + EC2InstanceTypeR516xlarge = "r5.16xlarge" + + // EC2InstanceTypeR524xlarge is a EC2InstanceType enum value + EC2InstanceTypeR524xlarge = "r5.24xlarge" + // EC2InstanceTypeM3Medium is a EC2InstanceType enum value EC2InstanceTypeM3Medium = "m3.medium" @@ -20363,6 +20411,30 @@ const ( // EC2InstanceTypeM410xlarge is a EC2InstanceType enum value EC2InstanceTypeM410xlarge = "m4.10xlarge" + + // EC2InstanceTypeM5Large is a EC2InstanceType enum value + EC2InstanceTypeM5Large = "m5.large" + + // EC2InstanceTypeM5Xlarge is a EC2InstanceType enum value + EC2InstanceTypeM5Xlarge = "m5.xlarge" + + // EC2InstanceTypeM52xlarge is a EC2InstanceType enum value + EC2InstanceTypeM52xlarge = "m5.2xlarge" + + // EC2InstanceTypeM54xlarge is a EC2InstanceType enum value + EC2InstanceTypeM54xlarge = "m5.4xlarge" + + // EC2InstanceTypeM58xlarge is a EC2InstanceType enum value + EC2InstanceTypeM58xlarge = "m5.8xlarge" + + // EC2InstanceTypeM512xlarge is a EC2InstanceType enum value + EC2InstanceTypeM512xlarge = "m5.12xlarge" + + // EC2InstanceTypeM516xlarge is a EC2InstanceType enum value + EC2InstanceTypeM516xlarge = "m5.16xlarge" + + // EC2InstanceTypeM524xlarge is a EC2InstanceType enum value + EC2InstanceTypeM524xlarge = "m5.24xlarge" ) const ( @@ -20633,6 +20705,9 @@ const ( // OperatingSystemAmazonLinux is a OperatingSystem enum value OperatingSystemAmazonLinux = "AMAZON_LINUX" + + // OperatingSystemAmazonLinux2 is a OperatingSystem enum value + OperatingSystemAmazonLinux2 = "AMAZON_LINUX_2" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/iotevents/api.go b/vendor/github.com/aws/aws-sdk-go/service/iotevents/api.go index 551a03fef98d..954cf1a17dce 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iotevents/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iotevents/api.go @@ -1557,7 +1557,7 @@ type ActionData struct { ClearTimer *ClearTimerAction `locationName:"clearTimer" type:"structure"` // Sends information about the detector model instance and the event which triggered - // the action to a Kinesis Data Firehose stream. + // the action to a Kinesis Data Firehose delivery stream. Firehose *FirehoseAction `locationName:"firehose" type:"structure"` // Sends an IoT Events input, passing in information about the detector model @@ -1567,7 +1567,7 @@ type ActionData struct { // Publishes an MQTT message with the given topic to the AWS IoT message broker. IotTopicPublish *IotTopicPublishAction `locationName:"iotTopicPublish" type:"structure"` - // Calls a Lambda function, passing in information about the detector model + // Calls an AWS Lambda function, passing in information about the detector model // instance and the event which triggered the action. Lambda *LambdaAction `locationName:"lambda" type:"structure"` @@ -1584,7 +1584,7 @@ type ActionData struct { Sns *SNSTopicPublishAction `locationName:"sns" type:"structure"` // Sends information about the detector model instance and the event which triggered - // the action to an AWS SQS queue. + // the action to an Amazon SQS queue. Sqs *SqsAction `locationName:"sqs" type:"structure"` } @@ -1829,11 +1829,16 @@ type CreateDetectorModelInput struct { // DetectorModelName is a required field DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string" required:"true"` - // The input attribute key used to identify a device or system in order to create - // a detector (an instance of the detector model) and then to route each input - // received to the appropriate detector (instance). This parameter uses a JSON-path - // expression to specify the attribute-value pair in the message payload of - // each input that is used to identify the device associated with the input. + // When set to SERIAL, variables are updated and event conditions evaluated + // in the order that the events are defined. When set to BATCH, variables are + // updated and events performed only after all event conditions are evaluated. + EvaluationMethod *string `locationName:"evaluationMethod" type:"string" enum:"EvaluationMethod"` + + // The input attribute key used to identify a device or system to create a detector + // (an instance of the detector model) and then to route each input received + // to the appropriate detector (instance). This parameter uses a JSON-path expression + // to specify the attribute-value pair in the message payload of each input + // that is used to identify the device associated with the input. Key *string `locationName:"key" min:"1" type:"string"` // The ARN of the role that grants permission to AWS IoT Events to perform its @@ -1917,6 +1922,12 @@ func (s *CreateDetectorModelInput) SetDetectorModelName(v string) *CreateDetecto return s } +// SetEvaluationMethod sets the EvaluationMethod field's value. +func (s *CreateDetectorModelInput) SetEvaluationMethod(v string) *CreateDetectorModelInput { + s.EvaluationMethod = &v + return s +} + // SetKey sets the Key field's value. func (s *CreateDetectorModelInput) SetKey(v string) *CreateDetectorModelInput { s.Key = &v @@ -2464,11 +2475,16 @@ type DetectorModelConfiguration struct { // The version of the detector model. DetectorModelVersion *string `locationName:"detectorModelVersion" min:"1" type:"string"` - // The input attribute key used to identify a device or system in order to create - // a detector (an instance of the detector model) and then to route each input - // received to the appropriate detector (instance). This parameter uses a JSON-path - // expression to specify the attribute-value pair in the message payload of - // each input that is used to identify the device associated with the input. + // When set to SERIAL, variables are updated and event conditions evaluated + // in the order that the events are defined. When set to BATCH, variables are + // updated and events performed only after all event conditions are evaluated. + EvaluationMethod *string `locationName:"evaluationMethod" type:"string" enum:"EvaluationMethod"` + + // The input attribute key used to identify a device or system to create a detector + // (an instance of the detector model) and then to route each input received + // to the appropriate detector (instance). This parameter uses a JSON-path expression + // to specify the attribute-value pair in the message payload of each input + // that is used to identify the device associated with the input. Key *string `locationName:"key" min:"1" type:"string"` // The time the detector model was last updated. @@ -2522,6 +2538,12 @@ func (s *DetectorModelConfiguration) SetDetectorModelVersion(v string) *Detector return s } +// SetEvaluationMethod sets the EvaluationMethod field's value. +func (s *DetectorModelConfiguration) SetEvaluationMethod(v string) *DetectorModelConfiguration { + s.EvaluationMethod = &v + return s +} + // SetKey sets the Key field's value. func (s *DetectorModelConfiguration) SetKey(v string) *DetectorModelConfiguration { s.Key = &v @@ -2673,6 +2695,11 @@ type DetectorModelVersionSummary struct { // The ID of the detector model version. DetectorModelVersion *string `locationName:"detectorModelVersion" min:"1" type:"string"` + // When set to SERIAL, variables are updated and event conditions evaluated + // in the order that the events are defined. When set to BATCH, variables are + // updated and events performed only after all event conditions are evaluated. + EvaluationMethod *string `locationName:"evaluationMethod" type:"string" enum:"EvaluationMethod"` + // The last time the detector model version was updated. LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` @@ -2718,6 +2745,12 @@ func (s *DetectorModelVersionSummary) SetDetectorModelVersion(v string) *Detecto return s } +// SetEvaluationMethod sets the EvaluationMethod field's value. +func (s *DetectorModelVersionSummary) SetEvaluationMethod(v string) *DetectorModelVersionSummary { + s.EvaluationMethod = &v + return s +} + // SetLastUpdateTime sets the LastUpdateTime field's value. func (s *DetectorModelVersionSummary) SetLastUpdateTime(v time.Time) *DetectorModelVersionSummary { s.LastUpdateTime = &v @@ -2807,18 +2840,18 @@ func (s *Event) SetEventName(v string) *Event { } // Sends information about the detector model instance and the event which triggered -// the action to a Kinesis Data Firehose stream. +// the action to a Kinesis Data Firehose delivery stream. type FirehoseAction struct { _ struct{} `type:"structure"` - // The name of the Kinesis Data Firehose stream where the data is written. + // The name of the Kinesis Data Firehose delivery stream where the data is written. // // DeliveryStreamName is a required field DeliveryStreamName *string `locationName:"deliveryStreamName" type:"string" required:"true"` // A character separator that is used to separate records written to the Kinesis - // Data Firehose stream. Valid values are: '\n' (newline), '\t' (tab), '\r\n' - // (Windows newline), ',' (comma). + // Data Firehose delivery stream. Valid values are: '\n' (newline), '\t' (tab), + // '\r\n' (Windows newline), ',' (comma). Separator *string `locationName:"separator" type:"string"` } @@ -3137,12 +3170,12 @@ func (s *IotTopicPublishAction) SetMqttTopic(v string) *IotTopicPublishAction { return s } -// Calls a Lambda function, passing in information about the detector model +// Calls an AWS Lambda function, passing in information about the detector model // instance and the event which triggered the action. type LambdaAction struct { _ struct{} `type:"structure"` - // The ARN of the Lambda function which is executed. + // The ARN of the AWS Lambda function which is executed. // // FunctionArn is a required field FunctionArn *string `locationName:"functionArn" min:"1" type:"string" required:"true"` @@ -4001,11 +4034,11 @@ func (s *SetVariableAction) SetVariableName(v string) *SetVariableAction { } // Sends information about the detector model instance and the event which triggered -// the action to an AWS SQS queue. +// the action to an Amazon SQS queue. type SqsAction struct { _ struct{} `type:"structure"` - // The URL of the SQS queue where the data is written. + // The URL of the Amazon SQS queue where the data is written. // // QueueUrl is a required field QueueUrl *string `locationName:"queueUrl" type:"string" required:"true"` @@ -4447,6 +4480,11 @@ type UpdateDetectorModelInput struct { // DetectorModelName is a required field DetectorModelName *string `location:"uri" locationName:"detectorModelName" min:"1" type:"string" required:"true"` + // When set to SERIAL, variables are updated and event conditions evaluated + // in the order that the events are defined. When set to BATCH, variables are + // updated and events performed only after all event conditions are evaluated. + EvaluationMethod *string `locationName:"evaluationMethod" type:"string" enum:"EvaluationMethod"` + // The ARN of the role that grants permission to AWS IoT Events to perform its // operations. // @@ -4512,6 +4550,12 @@ func (s *UpdateDetectorModelInput) SetDetectorModelName(v string) *UpdateDetecto return s } +// SetEvaluationMethod sets the EvaluationMethod field's value. +func (s *UpdateDetectorModelInput) SetEvaluationMethod(v string) *UpdateDetectorModelInput { + s.EvaluationMethod = &v + return s +} + // SetRoleArn sets the RoleArn field's value. func (s *UpdateDetectorModelInput) SetRoleArn(v string) *UpdateDetectorModelInput { s.RoleArn = &v @@ -4656,6 +4700,14 @@ const ( DetectorModelVersionStatusFailed = "FAILED" ) +const ( + // EvaluationMethodBatch is a EvaluationMethod enum value + EvaluationMethodBatch = "BATCH" + + // EvaluationMethodSerial is a EvaluationMethod enum value + EvaluationMethodSerial = "SERIAL" +) + const ( // InputStatusCreating is a InputStatus enum value InputStatusCreating = "CREATING" diff --git a/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go b/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go index ce7262a6ac3a..f95dd4a89da7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go @@ -1097,7 +1097,7 @@ func (c *Kafka) ListConfigurationRevisionsRequest(input *ListConfigurationRevisi // ListConfigurationRevisions API operation for Managed Streaming for Kafka. // -// Returns a list of all the MSK configurations in this Region. +// Returns a list of all the revisions of an MSK configuration. // // 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 @@ -1745,6 +1745,99 @@ func (c *Kafka) UntagResourceWithContext(ctx aws.Context, input *UntagResourceIn return out, req.Send() } +const opUpdateBrokerCount = "UpdateBrokerCount" + +// UpdateBrokerCountRequest generates a "aws/request.Request" representing the +// client's request for the UpdateBrokerCount 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 UpdateBrokerCount for more information on using the UpdateBrokerCount +// 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 UpdateBrokerCountRequest method. +// req, resp := client.UpdateBrokerCountRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateBrokerCount +func (c *Kafka) UpdateBrokerCountRequest(input *UpdateBrokerCountInput) (req *request.Request, output *UpdateBrokerCountOutput) { + op := &request.Operation{ + Name: opUpdateBrokerCount, + HTTPMethod: "PUT", + HTTPPath: "/v1/clusters/{clusterArn}/nodes/count", + } + + if input == nil { + input = &UpdateBrokerCountInput{} + } + + output = &UpdateBrokerCountOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateBrokerCount API operation for Managed Streaming for Kafka. +// +// Updates the number of broker nodes in the cluster. You can use this operation +// to increase the number of brokers in an existing cluster. You can't decrease +// the number of brokers. +// +// 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 Managed Streaming for Kafka's +// API operation UpdateBrokerCount for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Returns information about an error. +// +// * ErrCodeBadRequestException "BadRequestException" +// Returns information about an error. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Returns information about an error. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Returns information about an error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateBrokerCount +func (c *Kafka) UpdateBrokerCount(input *UpdateBrokerCountInput) (*UpdateBrokerCountOutput, error) { + req, out := c.UpdateBrokerCountRequest(input) + return out, req.Send() +} + +// UpdateBrokerCountWithContext is the same as UpdateBrokerCount with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateBrokerCount 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 *Kafka) UpdateBrokerCountWithContext(ctx aws.Context, input *UpdateBrokerCountInput, opts ...request.Option) (*UpdateBrokerCountOutput, error) { + req, out := c.UpdateBrokerCountRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateBrokerStorage = "UpdateBrokerStorage" // UpdateBrokerStorageRequest generates a "aws/request.Request" representing the @@ -1990,13 +2083,7 @@ func (s *BrokerEBSVolumeInfo) SetVolumeSizeGB(v int64) *BrokerEBSVolumeInfo { type BrokerNodeGroupInfo struct { _ struct{} `type:"structure"` - // The distribution of broker nodes across Availability Zones. This is an optional - // parameter. If you don't specify it, Amazon MSK gives it the value DEFAULT. - // You can also explicitly set this parameter to the value DEFAULT. No other - // values are currently allowed. - // - // Amazon MSK distributes the broker nodes evenly across the Availability Zones - // that correspond to the subnets you provide when you create the cluster. + // The distribution of broker nodes across Availability Zones. BrokerAZDistribution *string `locationName:"brokerAZDistribution" type:"string" enum:"BrokerAZDistribution"` // The list of subnets to connect to in the client virtual private cloud (VPC). @@ -2008,8 +2095,8 @@ type BrokerNodeGroupInfo struct { ClientSubnets []*string `locationName:"clientSubnets" type:"list" required:"true"` // The type of Amazon EC2 instances to use for Kafka brokers. The following - // instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge,kafka.m5.4xlarge, - // kafka.m5.12xlarge, and kafka.m5.24xlarge. + // instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, + // kafka.m5.4xlarge, kafka.m5.12xlarge, and kafka.m5.24xlarge. // // InstanceType is a required field InstanceType *string `locationName:"instanceType" min:"5" type:"string" required:"true"` @@ -2017,7 +2104,9 @@ type BrokerNodeGroupInfo struct { // The AWS security groups to associate with the elastic network interfaces // in order to specify who can connect to and communicate with the Amazon MSK // cluster. If you don't specify a security group, Amazon MSK uses the default - // security group associated with the VPC. + // security group associated with the VPC. If you specify security groups that + // were shared with you, you must ensure that you have permissions to them. + // Specifically, you need the ec2:DescribeSecurityGroups permission. SecurityGroups []*string `locationName:"securityGroups" type:"list"` // Contains information about storage volumes attached to MSK broker nodes. @@ -2252,7 +2341,9 @@ type ClusterInfo struct { // brokers in the cluster. CurrentBrokerSoftwareInfo *BrokerSoftwareInfo `locationName:"currentBrokerSoftwareInfo" type:"structure"` - // The current version of the MSK cluster. + // The current version of the MSK cluster. Cluster versions aren't simple integers. + // You can obtain the current version by describing the cluster. An example + // version is KTVPDKIKX0DER. CurrentVersion *string `locationName:"currentVersion" type:"string"` // Includes all encryption-related information. @@ -2505,7 +2596,8 @@ type Configuration struct { // LatestRevision is a required field LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure" required:"true"` - // The name of the configuration. + // The name of the configuration. Configuration names are strings that match + // the regex "^[0-9A-Za-z-]+$". // // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` @@ -2673,8 +2765,7 @@ type CreateClusterInput struct { // ClusterName is a required field ClusterName *string `locationName:"clusterName" min:"1" type:"string" required:"true"` - // Represents the configuration that you want MSK to use for the brokers in - // a cluster. + // Represents the configuration that you want MSK to use for the cluster. ConfigurationInfo *ConfigurationInfo `locationName:"configurationInfo" type:"structure"` // Includes all encryption-related information. @@ -2862,7 +2953,8 @@ type CreateConfigurationInput struct { // KafkaVersions is a required field KafkaVersions []*string `locationName:"kafkaVersions" type:"list" required:"true"` - // The name of the configuration. + // The name of the configuration. Configuration names are strings that match + // the regex "^[0-9A-Za-z-]+$". // // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` @@ -2939,7 +3031,8 @@ type CreateConfigurationOutput struct { // Latest revision of the configuration. LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure"` - // The name of the configuration. + // The name of the configuration. Configuration names are strings that match + // the regex "^[0-9A-Za-z-]+$". Name *string `locationName:"name" type:"string"` } @@ -3241,7 +3334,8 @@ type DescribeConfigurationOutput struct { // Latest revision of the configuration. LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure"` - // The name of the configuration. + // The name of the configuration. Configuration names are strings that match + // the regex "^[0-9A-Za-z-]+$". Name *string `locationName:"name" type:"string"` } @@ -3485,7 +3579,7 @@ type EncryptionInTransit struct { _ struct{} `type:"structure"` // Indicates the encryption setting for data in transit between clients and - // brokers. The following are the possible values. + // brokers. You must set it to one of the following values. // // TLS means that client-broker communication is enabled with TLS only. // @@ -3495,7 +3589,7 @@ type EncryptionInTransit struct { // PLAINTEXT means that client-broker communication is enabled in plaintext // only. // - // The default value is TLS_PLAINTEXT. + // The default value is TLS. ClientBroker *string `locationName:"clientBroker" type:"string" enum:"ClientBroker"` // When set to true, it indicates that data communication among the broker nodes @@ -3657,7 +3751,9 @@ type GetBootstrapBrokersOutput struct { // A string containing one or more hostname:port pairs. BootstrapBrokerString *string `locationName:"bootstrapBrokerString" type:"string"` - // A string containing one or more DNS names (or IP) and TLS port pairs. + // A string containing one or more DNS names (or IP) and TLS port pairs. The + // following is an example. + // { "BootstrapBrokerStringTls": "b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094"} BootstrapBrokerStringTls *string `locationName:"bootstrapBrokerStringTls" type:"string"` } @@ -4497,6 +4593,111 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +// Request body for UpdateBrokerCount. +type UpdateBrokerCountInput struct { + _ struct{} `type:"structure"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` + + // The current version of the cluster. + // + // CurrentVersion is a required field + CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"` + + // The number of broker nodes that you want the cluster to have after this operation + // completes successfully. + // + // TargetNumberOfBrokerNodes is a required field + TargetNumberOfBrokerNodes *int64 `locationName:"targetNumberOfBrokerNodes" min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s UpdateBrokerCountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateBrokerCountInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateBrokerCountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateBrokerCountInput"} + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + if s.CurrentVersion == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentVersion")) + } + if s.TargetNumberOfBrokerNodes == nil { + invalidParams.Add(request.NewErrParamRequired("TargetNumberOfBrokerNodes")) + } + if s.TargetNumberOfBrokerNodes != nil && *s.TargetNumberOfBrokerNodes < 1 { + invalidParams.Add(request.NewErrParamMinValue("TargetNumberOfBrokerNodes", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *UpdateBrokerCountInput) SetClusterArn(v string) *UpdateBrokerCountInput { + s.ClusterArn = &v + return s +} + +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *UpdateBrokerCountInput) SetCurrentVersion(v string) *UpdateBrokerCountInput { + s.CurrentVersion = &v + return s +} + +// SetTargetNumberOfBrokerNodes sets the TargetNumberOfBrokerNodes field's value. +func (s *UpdateBrokerCountInput) SetTargetNumberOfBrokerNodes(v int64) *UpdateBrokerCountInput { + s.TargetNumberOfBrokerNodes = &v + return s +} + +// Response body for UpdateBrokerCount. +type UpdateBrokerCountOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the cluster. + ClusterArn *string `locationName:"clusterArn" type:"string"` + + // The Amazon Resource Name (ARN) of the cluster operation. + ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"` +} + +// String returns the string representation +func (s UpdateBrokerCountOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateBrokerCountOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *UpdateBrokerCountOutput) SetClusterArn(v string) *UpdateBrokerCountOutput { + s.ClusterArn = &v + return s +} + +// SetClusterOperationArn sets the ClusterOperationArn field's value. +func (s *UpdateBrokerCountOutput) SetClusterOperationArn(v string) *UpdateBrokerCountOutput { + s.ClusterOperationArn = &v + return s +} + // Request object for UpdateBrokerStorage. type UpdateBrokerStorageInput struct { _ struct{} `type:"structure"` @@ -4513,6 +4714,11 @@ type UpdateBrokerStorageInput struct { // Describes the target volume size and the ID of the broker to apply the update // to. // + // The value you specify for Target-Volume-in-GiB must be a whole number that + // is greater than 100 GiB. + // + // The storage per broker after the update operation can't exceed 16384 GiB. + // // TargetBrokerEBSVolumeInfo is a required field TargetBrokerEBSVolumeInfo []*BrokerEBSVolumeInfo `locationName:"targetBrokerEBSVolumeInfo" type:"list" required:"true"` } @@ -4617,13 +4823,12 @@ type UpdateClusterConfigurationInput struct { // ClusterArn is a required field ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` - // Represents the configuration that you want MSK to use for the brokers in - // a cluster. + // Represents the configuration that you want MSK to use for the cluster. // // ConfigurationInfo is a required field ConfigurationInfo *ConfigurationInfo `locationName:"configurationInfo" type:"structure" required:"true"` - // The version of the cluster that needs to be updated. + // The version of the cluster that you want to update. // // CurrentVersion is a required field CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"` @@ -4777,13 +4982,10 @@ func (s *ZookeeperNodeInfo) SetZookeeperVersion(v string) *ZookeeperNodeInfo { return s } -// The distribution of broker nodes across Availability Zones. This is an optional -// parameter. If you don't specify it, Amazon MSK gives it the value DEFAULT. -// You can also explicitly set this parameter to the value DEFAULT. No other -// values are currently allowed. -// -// Amazon MSK distributes the broker nodes evenly across the Availability Zones -// that correspond to the subnets you provide when you create the cluster. +// The distribution of broker nodes across Availability Zones. By default, broker +// nodes are distributed among the Availability Zones of your Region. Currently, +// the only supported value is DEFAULT. You can either specify this value explicitly +// or leave it out. const ( // BrokerAZDistributionDefault is a BrokerAZDistribution enum value BrokerAZDistributionDefault = "DEFAULT" diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go b/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go index 888f7a4363f0..b282cf645b71 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go @@ -7379,6 +7379,8 @@ type SubscribeToShardEventStream struct { // may result in resource leaks. func (es *SubscribeToShardEventStream) Close() (err error) { es.Reader.Close() + es.StreamCloser.Close() + return es.Err() } @@ -7388,8 +7390,6 @@ func (es *SubscribeToShardEventStream) Err() error { if err := es.Reader.Err(); err != nil { return err } - es.StreamCloser.Close() - return nil } diff --git a/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go b/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go index bea02eca744d..1c330645b393 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go @@ -5160,6 +5160,18 @@ type CreateSolutionVersionInput struct { // // SolutionArn is a required field SolutionArn *string `locationName:"solutionArn" type:"string" required:"true"` + + // The scope of training to be performed when creating the solution version. + // The FULL option trains the solution version based on the entirety of the + // input solution's training data, while the UPDATE option processes only the + // data that has changed in comparison to the input solution. Choose UPDATE + // when you want to incrementally update your solution version instead of creating + // an entirely new one. + // + // The UPDATE option can only be used when you already have an active solution + // version created from the input solution using the FULL option and the input + // solution was trained with the native-recipe-hrnn-coldstart recipe. + TrainingMode *string `locationName:"trainingMode" type:"string" enum:"TrainingMode"` } // String returns the string representation @@ -5191,6 +5203,12 @@ func (s *CreateSolutionVersionInput) SetSolutionArn(v string) *CreateSolutionVer return s } +// SetTrainingMode sets the TrainingMode field's value. +func (s *CreateSolutionVersionInput) SetTrainingMode(v string) *CreateSolutionVersionInput { + s.TrainingMode = &v + return s +} + type CreateSolutionVersionOutput struct { _ struct{} `type:"structure"` @@ -7492,10 +7510,12 @@ func (s *HPOObjective) SetType(v string) *HPOObjective { type HPOResourceConfig struct { _ struct{} `type:"structure"` - // The maximum number of training jobs. + // The maximum number of training jobs when you create a solution version. The + // maximum value for maxNumberOfTrainingJobs is 40. MaxNumberOfTrainingJobs *string `locationName:"maxNumberOfTrainingJobs" type:"string"` - // The maximum number of parallel training jobs. + // The maximum number of parallel training jobs when you create a solution version. + // The maximum value for maxParallelTrainingJobs is 10. MaxParallelTrainingJobs *string `locationName:"maxParallelTrainingJobs" type:"string"` } @@ -8891,15 +8911,15 @@ type SolutionVersion struct { // the model. EventType *string `locationName:"eventType" type:"string"` - // If training a solution version fails, the reason behind the failure. + // If training a solution version fails, the reason for the failure. FailureReason *string `locationName:"failureReason" type:"string"` // The date and time (in Unix time) that the solution was last updated. LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` - // When true, Amazon Personalize performs a search for the most optimal recipe - // according to the solution configuration. When false (the default), Amazon - // Personalize uses recipeArn. + // When true, Amazon Personalize searches for the most optimal recipe according + // to the solution configuration. When false (the default), Amazon Personalize + // uses recipeArn. PerformAutoML *bool `locationName:"performAutoML" type:"boolean"` // Whether to perform hyperparameter optimization (HPO) on the chosen recipe. @@ -8922,11 +8942,30 @@ type SolutionVersion struct { // // A solution version can be in one of the following states: // - // * CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + // * CREATE PENDING + // + // * CREATE IN_PROGRESS + // + // * ACTIVE + // + // * CREATE FAILED Status *string `locationName:"status" type:"string"` - // The time used to train the model. + // The time used to train the model. You are billed for the time it takes to + // train a model. This field is visible only after Amazon Personalize successfully + // trains a model. TrainingHours *float64 `locationName:"trainingHours" type:"double"` + + // The scope of training used to create the solution version. The FULL option + // trains the solution version based on the entirety of the input solution's + // training data, while the UPDATE option processes only the training data that + // has changed since the creation of the last solution version. Choose UPDATE + // when you want to start recommending items added to the dataset without retraining + // the model. + // + // The UPDATE option can only be used after you've created a solution version + // with the FULL option and the training solution uses the native-recipe-hrnn-coldstart. + TrainingMode *string `locationName:"trainingMode" type:"string" enum:"TrainingMode"` } // String returns the string representation @@ -9017,6 +9056,12 @@ func (s *SolutionVersion) SetTrainingHours(v float64) *SolutionVersion { return s } +// SetTrainingMode sets the TrainingMode field's value. +func (s *SolutionVersion) SetTrainingMode(v string) *SolutionVersion { + s.TrainingMode = &v + return s +} + // Provides a summary of the properties of a solution version. For a complete // listing, call the DescribeSolutionVersion API. type SolutionVersionSummary struct { @@ -9169,3 +9214,11 @@ const ( // RecipeProviderService is a RecipeProvider enum value RecipeProviderService = "SERVICE" ) + +const ( + // TrainingModeFull is a TrainingMode enum value + TrainingModeFull = "FULL" + + // TrainingModeUpdate is a TrainingMode enum value + TrainingModeUpdate = "UPDATE" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/api.go b/vendor/github.com/aws/aws-sdk-go/service/rds/api.go index bbba1da65fa2..7cee4532fc26 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/api.go @@ -534,8 +534,8 @@ func (c *RDS) AuthorizeDBSecurityGroupIngressRequest(input *AuthorizeDBSecurityG // The state of the DB security group doesn't allow deletion. // // * ErrCodeAuthorizationAlreadyExistsFault "AuthorizationAlreadyExists" -// The specified CIDRIP or Amazon EC2 security group is already authorized for -// the specified DB security group. +// The specified CIDR IP range or Amazon EC2 security group is already authorized +// for the specified DB security group. // // * ErrCodeAuthorizationQuotaExceededFault "AuthorizationQuotaExceeded" // The DB security group authorization quota has been reached. @@ -1157,6 +1157,98 @@ func (c *RDS) CopyOptionGroupWithContext(ctx aws.Context, input *CopyOptionGroup return out, req.Send() } +const opCreateCustomAvailabilityZone = "CreateCustomAvailabilityZone" + +// CreateCustomAvailabilityZoneRequest generates a "aws/request.Request" representing the +// client's request for the CreateCustomAvailabilityZone 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 CreateCustomAvailabilityZone for more information on using the CreateCustomAvailabilityZone +// 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 CreateCustomAvailabilityZoneRequest method. +// req, resp := client.CreateCustomAvailabilityZoneRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomAvailabilityZone +func (c *RDS) CreateCustomAvailabilityZoneRequest(input *CreateCustomAvailabilityZoneInput) (req *request.Request, output *CreateCustomAvailabilityZoneOutput) { + op := &request.Operation{ + Name: opCreateCustomAvailabilityZone, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateCustomAvailabilityZoneInput{} + } + + output = &CreateCustomAvailabilityZoneOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCustomAvailabilityZone API operation for Amazon Relational Database Service. +// +// Creates a custom Availability Zone (AZ). +// +// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere +// cluster. +// +// For more information about RDS on VMware, see the RDS on VMware User Guide. +// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.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 Relational Database Service's +// API operation CreateCustomAvailabilityZone for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCustomAvailabilityZoneAlreadyExistsFault "CustomAvailabilityZoneAlreadyExists" +// CustomAvailabilityZoneName is already used by an existing custom Availability +// Zone. +// +// * ErrCodeCustomAvailabilityZoneQuotaExceededFault "CustomAvailabilityZoneQuotaExceeded" +// You have exceeded the maximum number of custom Availability Zones. +// +// * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" +// An error occurred accessing an AWS KMS key. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomAvailabilityZone +func (c *RDS) CreateCustomAvailabilityZone(input *CreateCustomAvailabilityZoneInput) (*CreateCustomAvailabilityZoneOutput, error) { + req, out := c.CreateCustomAvailabilityZoneRequest(input) + return out, req.Send() +} + +// CreateCustomAvailabilityZoneWithContext is the same as CreateCustomAvailabilityZone with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCustomAvailabilityZone 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 *RDS) CreateCustomAvailabilityZoneWithContext(ctx aws.Context, input *CreateCustomAvailabilityZoneInput, opts ...request.Option) (*CreateCustomAvailabilityZoneOutput, error) { + req, out := c.CreateCustomAvailabilityZoneRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDBCluster = "CreateDBCluster" // CreateDBClusterRequest generates a "aws/request.Request" representing the @@ -1712,11 +1804,11 @@ func (c *RDS) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *reques // Storage of the StorageType specified can't be associated with the DB instance. // // * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" -// The specified CIDRIP or Amazon EC2 security group isn't authorized for the -// specified DB security group. +// The specified CIDR IP range or Amazon EC2 security group might not be authorized +// for the specified DB security group. // -// RDS also may not be authorized by using IAM to perform necessary actions -// on your behalf. +// Or, RDS might not be authorized to perform necessary actions using IAM on +// your behalf. // // * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" // An error occurred accessing an AWS KMS key. @@ -2572,6 +2664,95 @@ func (c *RDS) CreateOptionGroupWithContext(ctx aws.Context, input *CreateOptionG return out, req.Send() } +const opDeleteCustomAvailabilityZone = "DeleteCustomAvailabilityZone" + +// DeleteCustomAvailabilityZoneRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCustomAvailabilityZone 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 DeleteCustomAvailabilityZone for more information on using the DeleteCustomAvailabilityZone +// 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 DeleteCustomAvailabilityZoneRequest method. +// req, resp := client.DeleteCustomAvailabilityZoneRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomAvailabilityZone +func (c *RDS) DeleteCustomAvailabilityZoneRequest(input *DeleteCustomAvailabilityZoneInput) (req *request.Request, output *DeleteCustomAvailabilityZoneOutput) { + op := &request.Operation{ + Name: opDeleteCustomAvailabilityZone, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteCustomAvailabilityZoneInput{} + } + + output = &DeleteCustomAvailabilityZoneOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteCustomAvailabilityZone API operation for Amazon Relational Database Service. +// +// Deletes a custom Availability Zone (AZ). +// +// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere +// cluster. +// +// For more information about RDS on VMware, see the RDS on VMware User Guide. +// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.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 Relational Database Service's +// API operation DeleteCustomAvailabilityZone for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound" +// CustomAvailabilityZoneId doesn't refer to an existing custom Availability +// Zone identifier. +// +// * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" +// An error occurred accessing an AWS KMS key. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomAvailabilityZone +func (c *RDS) DeleteCustomAvailabilityZone(input *DeleteCustomAvailabilityZoneInput) (*DeleteCustomAvailabilityZoneOutput, error) { + req, out := c.DeleteCustomAvailabilityZoneRequest(input) + return out, req.Send() +} + +// DeleteCustomAvailabilityZoneWithContext is the same as DeleteCustomAvailabilityZone with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCustomAvailabilityZone 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 *RDS) DeleteCustomAvailabilityZoneWithContext(ctx aws.Context, input *DeleteCustomAvailabilityZoneInput, opts ...request.Option) (*DeleteCustomAvailabilityZoneOutput, error) { + req, out := c.DeleteCustomAvailabilityZoneRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteDBCluster = "DeleteDBCluster" // DeleteDBClusterRequest generates a "aws/request.Request" representing the @@ -3654,6 +3835,86 @@ func (c *RDS) DeleteGlobalClusterWithContext(ctx aws.Context, input *DeleteGloba return out, req.Send() } +const opDeleteInstallationMedia = "DeleteInstallationMedia" + +// DeleteInstallationMediaRequest generates a "aws/request.Request" representing the +// client's request for the DeleteInstallationMedia 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 DeleteInstallationMedia for more information on using the DeleteInstallationMedia +// 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 DeleteInstallationMediaRequest method. +// req, resp := client.DeleteInstallationMediaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteInstallationMedia +func (c *RDS) DeleteInstallationMediaRequest(input *DeleteInstallationMediaInput) (req *request.Request, output *DeleteInstallationMediaOutput) { + op := &request.Operation{ + Name: opDeleteInstallationMedia, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteInstallationMediaInput{} + } + + output = &DeleteInstallationMediaOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteInstallationMedia API operation for Amazon Relational Database Service. +// +// Deletes the installation media for an on-premises, bring your own media (BYOM) +// DB engine, such as Microsoft SQL Server. +// +// 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 Relational Database Service's +// API operation DeleteInstallationMedia for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInstallationMediaNotFoundFault "InstallationMediaNotFound" +// InstallationMediaID doesn't refer to an existing installation media. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteInstallationMedia +func (c *RDS) DeleteInstallationMedia(input *DeleteInstallationMediaInput) (*DeleteInstallationMediaOutput, error) { + req, out := c.DeleteInstallationMediaRequest(input) + return out, req.Send() +} + +// DeleteInstallationMediaWithContext is the same as DeleteInstallationMedia with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteInstallationMedia 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 *RDS) DeleteInstallationMediaWithContext(ctx aws.Context, input *DeleteInstallationMediaInput, opts ...request.Option) (*DeleteInstallationMediaOutput, error) { + req, out := c.DeleteInstallationMediaRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteOptionGroup = "DeleteOptionGroup" // DeleteOptionGroupRequest generates a "aws/request.Request" representing the @@ -3895,6 +4156,148 @@ func (c *RDS) DescribeCertificatesWithContext(ctx aws.Context, input *DescribeCe return out, req.Send() } +const opDescribeCustomAvailabilityZones = "DescribeCustomAvailabilityZones" + +// DescribeCustomAvailabilityZonesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCustomAvailabilityZones 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 DescribeCustomAvailabilityZones for more information on using the DescribeCustomAvailabilityZones +// 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 DescribeCustomAvailabilityZonesRequest method. +// req, resp := client.DescribeCustomAvailabilityZonesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCustomAvailabilityZones +func (c *RDS) DescribeCustomAvailabilityZonesRequest(input *DescribeCustomAvailabilityZonesInput) (req *request.Request, output *DescribeCustomAvailabilityZonesOutput) { + op := &request.Operation{ + Name: opDescribeCustomAvailabilityZones, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeCustomAvailabilityZonesInput{} + } + + output = &DescribeCustomAvailabilityZonesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCustomAvailabilityZones API operation for Amazon Relational Database Service. +// +// Returns information about custom Availability Zones (AZs). +// +// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere +// cluster. +// +// For more information about RDS on VMware, see the RDS on VMware User Guide. +// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.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 Relational Database Service's +// API operation DescribeCustomAvailabilityZones for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound" +// CustomAvailabilityZoneId doesn't refer to an existing custom Availability +// Zone identifier. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCustomAvailabilityZones +func (c *RDS) DescribeCustomAvailabilityZones(input *DescribeCustomAvailabilityZonesInput) (*DescribeCustomAvailabilityZonesOutput, error) { + req, out := c.DescribeCustomAvailabilityZonesRequest(input) + return out, req.Send() +} + +// DescribeCustomAvailabilityZonesWithContext is the same as DescribeCustomAvailabilityZones with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCustomAvailabilityZones 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 *RDS) DescribeCustomAvailabilityZonesWithContext(ctx aws.Context, input *DescribeCustomAvailabilityZonesInput, opts ...request.Option) (*DescribeCustomAvailabilityZonesOutput, error) { + req, out := c.DescribeCustomAvailabilityZonesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeCustomAvailabilityZonesPages iterates over the pages of a DescribeCustomAvailabilityZones operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeCustomAvailabilityZones 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 DescribeCustomAvailabilityZones operation. +// pageNum := 0 +// err := client.DescribeCustomAvailabilityZonesPages(params, +// func(page *rds.DescribeCustomAvailabilityZonesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RDS) DescribeCustomAvailabilityZonesPages(input *DescribeCustomAvailabilityZonesInput, fn func(*DescribeCustomAvailabilityZonesOutput, bool) bool) error { + return c.DescribeCustomAvailabilityZonesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeCustomAvailabilityZonesPagesWithContext same as DescribeCustomAvailabilityZonesPages 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 *RDS) DescribeCustomAvailabilityZonesPagesWithContext(ctx aws.Context, input *DescribeCustomAvailabilityZonesInput, fn func(*DescribeCustomAvailabilityZonesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeCustomAvailabilityZonesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeCustomAvailabilityZonesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeCustomAvailabilityZonesOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeDBClusterBacktracks = "DescribeDBClusterBacktracks" // DescribeDBClusterBacktracksRequest generates a "aws/request.Request" representing the @@ -6564,6 +6967,142 @@ func (c *RDS) DescribeGlobalClustersPagesWithContext(ctx aws.Context, input *Des return p.Err() } +const opDescribeInstallationMedia = "DescribeInstallationMedia" + +// DescribeInstallationMediaRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstallationMedia 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 DescribeInstallationMedia for more information on using the DescribeInstallationMedia +// 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 DescribeInstallationMediaRequest method. +// req, resp := client.DescribeInstallationMediaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeInstallationMedia +func (c *RDS) DescribeInstallationMediaRequest(input *DescribeInstallationMediaInput) (req *request.Request, output *DescribeInstallationMediaOutput) { + op := &request.Operation{ + Name: opDescribeInstallationMedia, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeInstallationMediaInput{} + } + + output = &DescribeInstallationMediaOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeInstallationMedia API operation for Amazon Relational Database Service. +// +// Describes the available installation media for on-premises, bring your own +// media (BYOM) DB engines, such as Microsoft SQL Server. +// +// 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 Relational Database Service's +// API operation DescribeInstallationMedia for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInstallationMediaNotFoundFault "InstallationMediaNotFound" +// InstallationMediaID doesn't refer to an existing installation media. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeInstallationMedia +func (c *RDS) DescribeInstallationMedia(input *DescribeInstallationMediaInput) (*DescribeInstallationMediaOutput, error) { + req, out := c.DescribeInstallationMediaRequest(input) + return out, req.Send() +} + +// DescribeInstallationMediaWithContext is the same as DescribeInstallationMedia with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeInstallationMedia 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 *RDS) DescribeInstallationMediaWithContext(ctx aws.Context, input *DescribeInstallationMediaInput, opts ...request.Option) (*DescribeInstallationMediaOutput, error) { + req, out := c.DescribeInstallationMediaRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeInstallationMediaPages iterates over the pages of a DescribeInstallationMedia operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstallationMedia 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 DescribeInstallationMedia operation. +// pageNum := 0 +// err := client.DescribeInstallationMediaPages(params, +// func(page *rds.DescribeInstallationMediaOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RDS) DescribeInstallationMediaPages(input *DescribeInstallationMediaInput, fn func(*DescribeInstallationMediaOutput, bool) bool) error { + return c.DescribeInstallationMediaPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInstallationMediaPagesWithContext same as DescribeInstallationMediaPages 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 *RDS) DescribeInstallationMediaPagesWithContext(ctx aws.Context, input *DescribeInstallationMediaInput, fn func(*DescribeInstallationMediaOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInstallationMediaInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInstallationMediaRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeInstallationMediaOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeOptionGroupOptions = "DescribeOptionGroupOptions" // DescribeOptionGroupOptionsRequest generates a "aws/request.Request" representing the @@ -7708,6 +8247,90 @@ func (c *RDS) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClu return out, req.Send() } +const opImportInstallationMedia = "ImportInstallationMedia" + +// ImportInstallationMediaRequest generates a "aws/request.Request" representing the +// client's request for the ImportInstallationMedia 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 ImportInstallationMedia for more information on using the ImportInstallationMedia +// 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 ImportInstallationMediaRequest method. +// req, resp := client.ImportInstallationMediaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ImportInstallationMedia +func (c *RDS) ImportInstallationMediaRequest(input *ImportInstallationMediaInput) (req *request.Request, output *ImportInstallationMediaOutput) { + op := &request.Operation{ + Name: opImportInstallationMedia, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ImportInstallationMediaInput{} + } + + output = &ImportInstallationMediaOutput{} + req = c.newRequest(op, input, output) + return +} + +// ImportInstallationMedia API operation for Amazon Relational Database Service. +// +// Imports the installation media for an on-premises, bring your own media (BYOM) +// DB engine, such as SQL Server. +// +// 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 Relational Database Service's +// API operation ImportInstallationMedia for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound" +// CustomAvailabilityZoneId doesn't refer to an existing custom Availability +// Zone identifier. +// +// * ErrCodeInstallationMediaAlreadyExistsFault "InstallationMediaAlreadyExists" +// The specified installation media has already been imported. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ImportInstallationMedia +func (c *RDS) ImportInstallationMedia(input *ImportInstallationMediaInput) (*ImportInstallationMediaOutput, error) { + req, out := c.ImportInstallationMediaRequest(input) + return out, req.Send() +} + +// ImportInstallationMediaWithContext is the same as ImportInstallationMedia with the addition of +// the ability to pass a context and additional request options. +// +// See ImportInstallationMedia 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 *RDS) ImportInstallationMediaWithContext(ctx aws.Context, input *ImportInstallationMediaInput, opts ...request.Option) (*ImportInstallationMediaOutput, error) { + req, out := c.ImportInstallationMediaRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -8430,11 +9053,11 @@ func (c *RDS) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *reques // Storage of the StorageType specified can't be associated with the DB instance. // // * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" -// The specified CIDRIP or Amazon EC2 security group isn't authorized for the -// specified DB security group. +// The specified CIDR IP range or Amazon EC2 security group might not be authorized +// for the specified DB security group. // -// RDS also may not be authorized by using IAM to perform necessary actions -// on your behalf. +// Or, RDS might not be authorized to perform necessary actions using IAM on +// your behalf. // // * ErrCodeCertificateNotFoundFault "CertificateNotFound" // CertificateIdentifier doesn't refer to an existing certificate. @@ -9710,7 +10333,7 @@ func (c *RDS) RemoveRoleFromDBInstanceRequest(input *RemoveRoleFromDBInstanceInp // DBInstanceIdentifier doesn't refer to an existing DB instance. // // * ErrCodeDBInstanceRoleNotFoundFault "DBInstanceRoleNotFound" -// The specified RoleArn value doesn't match the specifed feature for the DB +// The specified RoleArn value doesn't match the specified feature for the DB // instance. // // * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState" @@ -10661,11 +11284,11 @@ func (c *RDS) RestoreDBInstanceFromDBSnapshotRequest(input *RestoreDBInstanceFro // Storage of the StorageType specified can't be associated with the DB instance. // // * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" -// The specified CIDRIP or Amazon EC2 security group isn't authorized for the -// specified DB security group. +// The specified CIDR IP range or Amazon EC2 security group might not be authorized +// for the specified DB security group. // -// RDS also may not be authorized by using IAM to perform necessary actions -// on your behalf. +// Or, RDS might not be authorized to perform necessary actions using IAM on +// your behalf. // // * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" // An error occurred accessing an AWS KMS key. @@ -10813,11 +11436,11 @@ func (c *RDS) RestoreDBInstanceFromS3Request(input *RestoreDBInstanceFromS3Input // Storage of the StorageType specified can't be associated with the DB instance. // // * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" -// The specified CIDRIP or Amazon EC2 security group isn't authorized for the -// specified DB security group. +// The specified CIDR IP range or Amazon EC2 security group might not be authorized +// for the specified DB security group. // -// RDS also may not be authorized by using IAM to perform necessary actions -// on your behalf. +// Or, RDS might not be authorized to perform necessary actions using IAM on +// your behalf. // // * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" // An error occurred accessing an AWS KMS key. @@ -10966,11 +11589,11 @@ func (c *RDS) RestoreDBInstanceToPointInTimeRequest(input *RestoreDBInstanceToPo // Storage of the StorageType specified can't be associated with the DB instance. // // * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" -// The specified CIDRIP or Amazon EC2 security group isn't authorized for the -// specified DB security group. +// The specified CIDR IP range or Amazon EC2 security group might not be authorized +// for the specified DB security group. // -// RDS also may not be authorized by using IAM to perform necessary actions -// on your behalf. +// Or, RDS might not be authorized to perform necessary actions using IAM on +// your behalf. // // * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" // An error occurred accessing an AWS KMS key. @@ -11072,11 +11695,11 @@ func (c *RDS) RevokeDBSecurityGroupIngressRequest(input *RevokeDBSecurityGroupIn // DBSecurityGroupName doesn't refer to an existing DB security group. // // * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" -// The specified CIDRIP or Amazon EC2 security group isn't authorized for the -// specified DB security group. +// The specified CIDR IP range or Amazon EC2 security group might not be authorized +// for the specified DB security group. // -// RDS also may not be authorized by using IAM to perform necessary actions -// on your behalf. +// Or, RDS might not be authorized to perform necessary actions using IAM on +// your behalf. // // * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState" // The state of the DB security group doesn't allow deletion. @@ -11384,11 +12007,11 @@ func (c *RDS) StartDBInstanceRequest(input *StartDBInstanceInput) (req *request. // DBClusterIdentifier doesn't refer to an existing DB cluster. // // * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" -// The specified CIDRIP or Amazon EC2 security group isn't authorized for the -// specified DB security group. +// The specified CIDR IP range or Amazon EC2 security group might not be authorized +// for the specified DB security group. // -// RDS also may not be authorized by using IAM to perform necessary actions -// on your behalf. +// Or, RDS might not be authorized to perform necessary actions using IAM on +// your behalf. // // * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" // An error occurred accessing an AWS KMS key. @@ -13572,6 +14195,105 @@ func (s *CopyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CopyOptionGroupO return s } +type CreateCustomAvailabilityZoneInput struct { + _ struct{} `type:"structure"` + + // The name of the custom Availability Zone (AZ). + // + // CustomAvailabilityZoneName is a required field + CustomAvailabilityZoneName *string `type:"string" required:"true"` + + // The ID of an existing virtual private network (VPN) between the Amazon RDS + // website and the VMware vSphere cluster. + ExistingVpnId *string `type:"string"` + + // The name of a new VPN tunnel between the Amazon RDS website and the VMware + // vSphere cluster. + // + // Specify this parameter only if ExistingVpnId is not specified. + NewVpnTunnelName *string `type:"string"` + + // The IP address of network traffic from your on-premises data center. A custom + // AZ receives the network traffic. + // + // Specify this parameter only if ExistingVpnId is not specified. + VpnTunnelOriginatorIP *string `type:"string"` +} + +// String returns the string representation +func (s CreateCustomAvailabilityZoneInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCustomAvailabilityZoneInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCustomAvailabilityZoneInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCustomAvailabilityZoneInput"} + if s.CustomAvailabilityZoneName == nil { + invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomAvailabilityZoneName sets the CustomAvailabilityZoneName field's value. +func (s *CreateCustomAvailabilityZoneInput) SetCustomAvailabilityZoneName(v string) *CreateCustomAvailabilityZoneInput { + s.CustomAvailabilityZoneName = &v + return s +} + +// SetExistingVpnId sets the ExistingVpnId field's value. +func (s *CreateCustomAvailabilityZoneInput) SetExistingVpnId(v string) *CreateCustomAvailabilityZoneInput { + s.ExistingVpnId = &v + return s +} + +// SetNewVpnTunnelName sets the NewVpnTunnelName field's value. +func (s *CreateCustomAvailabilityZoneInput) SetNewVpnTunnelName(v string) *CreateCustomAvailabilityZoneInput { + s.NewVpnTunnelName = &v + return s +} + +// SetVpnTunnelOriginatorIP sets the VpnTunnelOriginatorIP field's value. +func (s *CreateCustomAvailabilityZoneInput) SetVpnTunnelOriginatorIP(v string) *CreateCustomAvailabilityZoneInput { + s.VpnTunnelOriginatorIP = &v + return s +} + +type CreateCustomAvailabilityZoneOutput struct { + _ struct{} `type:"structure"` + + // A custom Availability Zone (AZ) is an on-premises AZ that is integrated with + // a VMware vSphere cluster. + // + // For more information about RDS on VMware, see the RDS on VMware User Guide. + // (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html) + CustomAvailabilityZone *CustomAvailabilityZone `type:"structure"` +} + +// String returns the string representation +func (s CreateCustomAvailabilityZoneOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCustomAvailabilityZoneOutput) GoString() string { + return s.String() +} + +// SetCustomAvailabilityZone sets the CustomAvailabilityZone field's value. +func (s *CreateCustomAvailabilityZoneOutput) SetCustomAvailabilityZone(v *CustomAvailabilityZone) *CreateCustomAvailabilityZoneOutput { + s.CustomAvailabilityZone = v + return s +} + type CreateDBClusterEndpointInput struct { _ struct{} `type:"structure"` @@ -14628,6 +15350,13 @@ type CreateDBInstanceInput struct { // Constraint: The AvailabilityZone parameter can't be specified if the DB instance // is a Multi-AZ deployment. The specified Availability Zone must be in the // same AWS Region as the current endpoint. + // + // If you're creating a DB instance in an RDS on VMware environment, specify + // the identifier of the custom Availability Zone to create the DB instance + // in. + // + // For more information about RDS on VMware, see the RDS on VMware User Guide. + // (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html) AvailabilityZone *string `type:"string"` // The number of days for which automated backups are retained. Setting this @@ -16968,6 +17697,64 @@ func (s *CreateOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CreateOptionGr return s } +// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with +// a VMware vSphere cluster. +// +// For more information about RDS on VMware, see the RDS on VMware User Guide. +// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html) +type CustomAvailabilityZone struct { + _ struct{} `type:"structure"` + + // The identifier of the custom AZ. + // + // Amazon RDS generates a unique identifier when a custom AZ is created. + CustomAvailabilityZoneId *string `type:"string"` + + // The name of the custom AZ. + CustomAvailabilityZoneName *string `type:"string"` + + // The status of the custom AZ. + CustomAvailabilityZoneStatus *string `type:"string"` + + // Information about the virtual private network (VPN) between the VMware vSphere + // cluster and the AWS website. + VpnDetails *VpnDetails `type:"structure"` +} + +// String returns the string representation +func (s CustomAvailabilityZone) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomAvailabilityZone) GoString() string { + return s.String() +} + +// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value. +func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneId(v string) *CustomAvailabilityZone { + s.CustomAvailabilityZoneId = &v + return s +} + +// SetCustomAvailabilityZoneName sets the CustomAvailabilityZoneName field's value. +func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneName(v string) *CustomAvailabilityZone { + s.CustomAvailabilityZoneName = &v + return s +} + +// SetCustomAvailabilityZoneStatus sets the CustomAvailabilityZoneStatus field's value. +func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneStatus(v string) *CustomAvailabilityZone { + s.CustomAvailabilityZoneStatus = &v + return s +} + +// SetVpnDetails sets the VpnDetails field's value. +func (s *CustomAvailabilityZone) SetVpnDetails(v *VpnDetails) *CustomAvailabilityZone { + s.VpnDetails = v + return s +} + // Contains the details of an Amazon Aurora DB cluster. // // This data type is used as a response element in the DescribeDBClusters, StopDBCluster, @@ -19980,6 +20767,71 @@ func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup { return s } +type DeleteCustomAvailabilityZoneInput struct { + _ struct{} `type:"structure"` + + // The custom AZ identifier. + // + // CustomAvailabilityZoneId is a required field + CustomAvailabilityZoneId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteCustomAvailabilityZoneInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCustomAvailabilityZoneInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCustomAvailabilityZoneInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCustomAvailabilityZoneInput"} + if s.CustomAvailabilityZoneId == nil { + invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value. +func (s *DeleteCustomAvailabilityZoneInput) SetCustomAvailabilityZoneId(v string) *DeleteCustomAvailabilityZoneInput { + s.CustomAvailabilityZoneId = &v + return s +} + +type DeleteCustomAvailabilityZoneOutput struct { + _ struct{} `type:"structure"` + + // A custom Availability Zone (AZ) is an on-premises AZ that is integrated with + // a VMware vSphere cluster. + // + // For more information about RDS on VMware, see the RDS on VMware User Guide. + // (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html) + CustomAvailabilityZone *CustomAvailabilityZone `type:"structure"` +} + +// String returns the string representation +func (s DeleteCustomAvailabilityZoneOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCustomAvailabilityZoneOutput) GoString() string { + return s.String() +} + +// SetCustomAvailabilityZone sets the CustomAvailabilityZone field's value. +func (s *DeleteCustomAvailabilityZoneOutput) SetCustomAvailabilityZone(v *CustomAvailabilityZone) *DeleteCustomAvailabilityZoneOutput { + s.CustomAvailabilityZone = v + return s +} + type DeleteDBClusterEndpointInput struct { _ struct{} `type:"structure"` @@ -20939,6 +21791,133 @@ func (s *DeleteGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *DeleteGl return s } +type DeleteInstallationMediaInput struct { + _ struct{} `type:"structure"` + + // The installation media ID. + // + // InstallationMediaId is a required field + InstallationMediaId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteInstallationMediaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInstallationMediaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteInstallationMediaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInstallationMediaInput"} + if s.InstallationMediaId == nil { + invalidParams.Add(request.NewErrParamRequired("InstallationMediaId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstallationMediaId sets the InstallationMediaId field's value. +func (s *DeleteInstallationMediaInput) SetInstallationMediaId(v string) *DeleteInstallationMediaInput { + s.InstallationMediaId = &v + return s +} + +// Contains the installation media for on-premises, bring your own media (BYOM) +// DB engines, such as Microsoft SQL Server. +type DeleteInstallationMediaOutput struct { + _ struct{} `type:"structure"` + + // The custom Availability Zone (AZ) that contains the installation media. + CustomAvailabilityZoneId *string `type:"string"` + + // The DB engine. + Engine *string `type:"string"` + + // The path to the installation media for the DB engine. + EngineInstallationMediaPath *string `type:"string"` + + // The engine version of the DB engine. + EngineVersion *string `type:"string"` + + // If an installation media failure occurred, the cause of the failure. + FailureCause *InstallationMediaFailureCause `type:"structure"` + + // The installation media ID. + InstallationMediaId *string `type:"string"` + + // The path to the installation media for the operating system associated with + // the DB engine. + OSInstallationMediaPath *string `type:"string"` + + // The status of the installation media. + Status *string `type:"string"` +} + +// String returns the string representation +func (s DeleteInstallationMediaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInstallationMediaOutput) GoString() string { + return s.String() +} + +// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value. +func (s *DeleteInstallationMediaOutput) SetCustomAvailabilityZoneId(v string) *DeleteInstallationMediaOutput { + s.CustomAvailabilityZoneId = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *DeleteInstallationMediaOutput) SetEngine(v string) *DeleteInstallationMediaOutput { + s.Engine = &v + return s +} + +// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value. +func (s *DeleteInstallationMediaOutput) SetEngineInstallationMediaPath(v string) *DeleteInstallationMediaOutput { + s.EngineInstallationMediaPath = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *DeleteInstallationMediaOutput) SetEngineVersion(v string) *DeleteInstallationMediaOutput { + s.EngineVersion = &v + return s +} + +// SetFailureCause sets the FailureCause field's value. +func (s *DeleteInstallationMediaOutput) SetFailureCause(v *InstallationMediaFailureCause) *DeleteInstallationMediaOutput { + s.FailureCause = v + return s +} + +// SetInstallationMediaId sets the InstallationMediaId field's value. +func (s *DeleteInstallationMediaOutput) SetInstallationMediaId(v string) *DeleteInstallationMediaOutput { + s.InstallationMediaId = &v + return s +} + +// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value. +func (s *DeleteInstallationMediaOutput) SetOSInstallationMediaPath(v string) *DeleteInstallationMediaOutput { + s.OSInstallationMediaPath = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteInstallationMediaOutput) SetStatus(v string) *DeleteInstallationMediaOutput { + s.Status = &v + return s +} + type DeleteOptionGroupInput struct { _ struct{} `type:"structure"` @@ -21054,7 +22033,7 @@ type DescribeCertificatesInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -21151,6 +22130,119 @@ func (s *DescribeCertificatesOutput) SetMarker(v string) *DescribeCertificatesOu return s } +type DescribeCustomAvailabilityZonesInput struct { + _ struct{} `type:"structure"` + + // The custom AZ identifier. If this parameter is specified, information from + // only the specific custom AZ is returned. + CustomAvailabilityZoneId *string `type:"string"` + + // A filter that specifies one or more custom AZs to describe. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // An optional pagination token provided by a previous DescribeCustomAvailabilityZones + // request. If this parameter is specified, the response includes only records + // beyond the marker, up to the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token called a marker + // is included in the response so that you can retrieve the remaining results. + // + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` +} + +// String returns the string representation +func (s DescribeCustomAvailabilityZonesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCustomAvailabilityZonesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCustomAvailabilityZonesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCustomAvailabilityZonesInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value. +func (s *DescribeCustomAvailabilityZonesInput) SetCustomAvailabilityZoneId(v string) *DescribeCustomAvailabilityZonesInput { + s.CustomAvailabilityZoneId = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeCustomAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeCustomAvailabilityZonesInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeCustomAvailabilityZonesInput) SetMarker(v string) *DescribeCustomAvailabilityZonesInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeCustomAvailabilityZonesInput) SetMaxRecords(v int64) *DescribeCustomAvailabilityZonesInput { + s.MaxRecords = &v + return s +} + +type DescribeCustomAvailabilityZonesOutput struct { + _ struct{} `type:"structure"` + + // The list of CustomAvailabilityZone objects for the AWS account. + CustomAvailabilityZones []*CustomAvailabilityZone `locationNameList:"CustomAvailabilityZone" type:"list"` + + // An optional pagination token provided by a previous DescribeCustomAvailabilityZones + // request. If this parameter is specified, the response includes only records + // beyond the marker, up to the value specified by MaxRecords. + Marker *string `type:"string"` +} + +// String returns the string representation +func (s DescribeCustomAvailabilityZonesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCustomAvailabilityZonesOutput) GoString() string { + return s.String() +} + +// SetCustomAvailabilityZones sets the CustomAvailabilityZones field's value. +func (s *DescribeCustomAvailabilityZonesOutput) SetCustomAvailabilityZones(v []*CustomAvailabilityZone) *DescribeCustomAvailabilityZonesOutput { + s.CustomAvailabilityZones = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeCustomAvailabilityZonesOutput) SetMarker(v string) *DescribeCustomAvailabilityZonesOutput { + s.Marker = &v + return s +} + type DescribeDBClusterBacktracksInput struct { _ struct{} `type:"structure"` @@ -21201,7 +22293,7 @@ type DescribeDBClusterBacktracksInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -21334,7 +22426,7 @@ type DescribeDBClusterEndpointsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -21457,7 +22549,7 @@ type DescribeDBClusterParameterGroupsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -21576,7 +22668,7 @@ type DescribeDBClusterParametersInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -21814,7 +22906,7 @@ type DescribeDBClusterSnapshotsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -21994,7 +23086,7 @@ type DescribeDBClustersInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -22148,7 +23240,7 @@ type DescribeDBEngineVersionsInput struct { // The maximum number of records to include in the response. If more than the // MaxRecords value is available, a pagination token called a marker is included - // in the response so that the following results can be retrieved. + // in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -22322,7 +23414,7 @@ type DescribeDBInstanceAutomatedBackupsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. MaxRecords *int64 `type:"integer"` } @@ -22465,7 +23557,7 @@ type DescribeDBInstancesInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -22639,7 +23731,7 @@ type DescribeDBLogFilesInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. MaxRecords *int64 `type:"integer"` } @@ -22771,7 +23863,7 @@ type DescribeDBParameterGroupsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -22891,7 +23983,7 @@ type DescribeDBParametersInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -23021,7 +24113,7 @@ type DescribeDBSecurityGroupsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -23251,7 +24343,7 @@ type DescribeDBSnapshotsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -23425,7 +24517,7 @@ type DescribeDBSubnetGroupsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -23542,7 +24634,7 @@ type DescribeEngineDefaultClusterParametersInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -23649,7 +24741,7 @@ type DescribeEngineDefaultParametersInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -23829,7 +24921,7 @@ type DescribeEventSubscriptionsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -23958,7 +25050,7 @@ type DescribeEventsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -24145,7 +25237,7 @@ type DescribeGlobalClustersInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -24241,6 +25333,123 @@ func (s *DescribeGlobalClustersOutput) SetMarker(v string) *DescribeGlobalCluste return s } +type DescribeInstallationMediaInput struct { + _ struct{} `type:"structure"` + + // A filter that specifies one or more installation media to describe. Supported + // filters include the following: + // + // * custom-availability-zone-id - Accepts custom Availability Zone (AZ) + // identifiers. The results list includes information about only the custom + // AZs identified by these identifiers. + // + // * engine - Accepts database engines. The results list includes information + // about only the database engines identified by these identifiers. For more + // information about the valid engines for installation media, see ImportInstallationMedia. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // The installation media ID. + InstallationMediaId *string `type:"string"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // An optional pagination token provided by a previous DescribeInstallationMedia + // request. If this parameter is specified, the response includes only records + // beyond the marker, up to the value specified by MaxRecords. + MaxRecords *int64 `type:"integer"` +} + +// String returns the string representation +func (s DescribeInstallationMediaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstallationMediaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInstallationMediaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInstallationMediaInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeInstallationMediaInput) SetFilters(v []*Filter) *DescribeInstallationMediaInput { + s.Filters = v + return s +} + +// SetInstallationMediaId sets the InstallationMediaId field's value. +func (s *DescribeInstallationMediaInput) SetInstallationMediaId(v string) *DescribeInstallationMediaInput { + s.InstallationMediaId = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeInstallationMediaInput) SetMarker(v string) *DescribeInstallationMediaInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeInstallationMediaInput) SetMaxRecords(v int64) *DescribeInstallationMediaInput { + s.MaxRecords = &v + return s +} + +type DescribeInstallationMediaOutput struct { + _ struct{} `type:"structure"` + + // The list of InstallationMedia objects for the AWS account. + InstallationMedia []*InstallationMedia `locationNameList:"InstallationMedia" type:"list"` + + // An optional pagination token provided by a previous DescribeInstallationMedia + // request. If this parameter is specified, the response includes only records + // beyond the marker, up to the value specified by MaxRecords. + Marker *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInstallationMediaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstallationMediaOutput) GoString() string { + return s.String() +} + +// SetInstallationMedia sets the InstallationMedia field's value. +func (s *DescribeInstallationMediaOutput) SetInstallationMedia(v []*InstallationMedia) *DescribeInstallationMediaOutput { + s.InstallationMedia = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeInstallationMediaOutput) SetMarker(v string) *DescribeInstallationMediaOutput { + s.Marker = &v + return s +} + type DescribeOptionGroupOptionsInput struct { _ struct{} `type:"structure"` @@ -24263,7 +25472,7 @@ type DescribeOptionGroupOptionsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -24390,7 +25599,7 @@ type DescribeOptionGroupsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -24533,7 +25742,7 @@ type DescribeOrderableDBInstanceOptionsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -24686,7 +25895,7 @@ type DescribePendingMaintenanceActionsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -24816,7 +26025,7 @@ type DescribeReservedDBInstancesInput struct { // The maximum number of records to include in the response. If more than the // MaxRecords value is available, a pagination token called a marker is included - // in the response so that the following results can be retrieved. + // in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -24965,7 +26174,7 @@ type DescribeReservedDBInstancesOfferingsInput struct { // The maximum number of records to include in the response. If more than the // MaxRecords value is available, a pagination token called a marker is included - // in the response so that the following results can be retrieved. + // in the response so that you can retrieve the reamaining results. // // Default: 100 // @@ -25164,7 +26373,7 @@ type DescribeSourceRegionsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. + // is included in the response so that you can retrieve the remaining results. // // Default: 100 // @@ -26276,6 +27485,334 @@ func (s *IPRange) SetStatus(v string) *IPRange { return s } +type ImportInstallationMediaInput struct { + _ struct{} `type:"structure"` + + // The identifier of the custom Availability Zone (AZ) to import the installation + // media to. + // + // CustomAvailabilityZoneId is a required field + CustomAvailabilityZoneId *string `type:"string" required:"true"` + + // The name of the database engine to be used for this instance. + // + // The list only includes supported on-premises, bring your own media (BYOM) + // DB engines. + // + // Valid Values: + // + // * sqlserver-ee + // + // * sqlserver-se + // + // * sqlserver-ex + // + // * sqlserver-web + // + // Engine is a required field + Engine *string `type:"string" required:"true"` + + // The path to the installation media for the specified DB engine. + // + // Example: SQLServerISO/en_sql_server_2016_enterprise_x64_dvd_8701793.iso + // + // EngineInstallationMediaPath is a required field + EngineInstallationMediaPath *string `type:"string" required:"true"` + + // The version number of the database engine to use. + // + // For a list of valid engine versions, call DescribeDBEngineVersions. + // + // The following are the database engines and links to information about the + // major and minor versions. The list only includes supported on-premises, bring + // your own media (BYOM) DB engines. + // + // Microsoft SQL Server + // + // See Version and Feature Support on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport) + // in the Amazon RDS User Guide. + // + // EngineVersion is a required field + EngineVersion *string `type:"string" required:"true"` + + // The path to the installation media for the operating system associated with + // the specified DB engine. + // + // Example: WindowsISO/en_windows_server_2016_x64_dvd_9327751.iso + // + // OSInstallationMediaPath is a required field + OSInstallationMediaPath *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ImportInstallationMediaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportInstallationMediaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportInstallationMediaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportInstallationMediaInput"} + if s.CustomAvailabilityZoneId == nil { + invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneId")) + } + if s.Engine == nil { + invalidParams.Add(request.NewErrParamRequired("Engine")) + } + if s.EngineInstallationMediaPath == nil { + invalidParams.Add(request.NewErrParamRequired("EngineInstallationMediaPath")) + } + if s.EngineVersion == nil { + invalidParams.Add(request.NewErrParamRequired("EngineVersion")) + } + if s.OSInstallationMediaPath == nil { + invalidParams.Add(request.NewErrParamRequired("OSInstallationMediaPath")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value. +func (s *ImportInstallationMediaInput) SetCustomAvailabilityZoneId(v string) *ImportInstallationMediaInput { + s.CustomAvailabilityZoneId = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *ImportInstallationMediaInput) SetEngine(v string) *ImportInstallationMediaInput { + s.Engine = &v + return s +} + +// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value. +func (s *ImportInstallationMediaInput) SetEngineInstallationMediaPath(v string) *ImportInstallationMediaInput { + s.EngineInstallationMediaPath = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *ImportInstallationMediaInput) SetEngineVersion(v string) *ImportInstallationMediaInput { + s.EngineVersion = &v + return s +} + +// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value. +func (s *ImportInstallationMediaInput) SetOSInstallationMediaPath(v string) *ImportInstallationMediaInput { + s.OSInstallationMediaPath = &v + return s +} + +// Contains the installation media for on-premises, bring your own media (BYOM) +// DB engines, such as Microsoft SQL Server. +type ImportInstallationMediaOutput struct { + _ struct{} `type:"structure"` + + // The custom Availability Zone (AZ) that contains the installation media. + CustomAvailabilityZoneId *string `type:"string"` + + // The DB engine. + Engine *string `type:"string"` + + // The path to the installation media for the DB engine. + EngineInstallationMediaPath *string `type:"string"` + + // The engine version of the DB engine. + EngineVersion *string `type:"string"` + + // If an installation media failure occurred, the cause of the failure. + FailureCause *InstallationMediaFailureCause `type:"structure"` + + // The installation media ID. + InstallationMediaId *string `type:"string"` + + // The path to the installation media for the operating system associated with + // the DB engine. + OSInstallationMediaPath *string `type:"string"` + + // The status of the installation media. + Status *string `type:"string"` +} + +// String returns the string representation +func (s ImportInstallationMediaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportInstallationMediaOutput) GoString() string { + return s.String() +} + +// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value. +func (s *ImportInstallationMediaOutput) SetCustomAvailabilityZoneId(v string) *ImportInstallationMediaOutput { + s.CustomAvailabilityZoneId = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *ImportInstallationMediaOutput) SetEngine(v string) *ImportInstallationMediaOutput { + s.Engine = &v + return s +} + +// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value. +func (s *ImportInstallationMediaOutput) SetEngineInstallationMediaPath(v string) *ImportInstallationMediaOutput { + s.EngineInstallationMediaPath = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *ImportInstallationMediaOutput) SetEngineVersion(v string) *ImportInstallationMediaOutput { + s.EngineVersion = &v + return s +} + +// SetFailureCause sets the FailureCause field's value. +func (s *ImportInstallationMediaOutput) SetFailureCause(v *InstallationMediaFailureCause) *ImportInstallationMediaOutput { + s.FailureCause = v + return s +} + +// SetInstallationMediaId sets the InstallationMediaId field's value. +func (s *ImportInstallationMediaOutput) SetInstallationMediaId(v string) *ImportInstallationMediaOutput { + s.InstallationMediaId = &v + return s +} + +// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value. +func (s *ImportInstallationMediaOutput) SetOSInstallationMediaPath(v string) *ImportInstallationMediaOutput { + s.OSInstallationMediaPath = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ImportInstallationMediaOutput) SetStatus(v string) *ImportInstallationMediaOutput { + s.Status = &v + return s +} + +// Contains the installation media for on-premises, bring your own media (BYOM) +// DB engines, such as Microsoft SQL Server. +type InstallationMedia struct { + _ struct{} `type:"structure"` + + // The custom Availability Zone (AZ) that contains the installation media. + CustomAvailabilityZoneId *string `type:"string"` + + // The DB engine. + Engine *string `type:"string"` + + // The path to the installation media for the DB engine. + EngineInstallationMediaPath *string `type:"string"` + + // The engine version of the DB engine. + EngineVersion *string `type:"string"` + + // If an installation media failure occurred, the cause of the failure. + FailureCause *InstallationMediaFailureCause `type:"structure"` + + // The installation media ID. + InstallationMediaId *string `type:"string"` + + // The path to the installation media for the operating system associated with + // the DB engine. + OSInstallationMediaPath *string `type:"string"` + + // The status of the installation media. + Status *string `type:"string"` +} + +// String returns the string representation +func (s InstallationMedia) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstallationMedia) GoString() string { + return s.String() +} + +// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value. +func (s *InstallationMedia) SetCustomAvailabilityZoneId(v string) *InstallationMedia { + s.CustomAvailabilityZoneId = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *InstallationMedia) SetEngine(v string) *InstallationMedia { + s.Engine = &v + return s +} + +// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value. +func (s *InstallationMedia) SetEngineInstallationMediaPath(v string) *InstallationMedia { + s.EngineInstallationMediaPath = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *InstallationMedia) SetEngineVersion(v string) *InstallationMedia { + s.EngineVersion = &v + return s +} + +// SetFailureCause sets the FailureCause field's value. +func (s *InstallationMedia) SetFailureCause(v *InstallationMediaFailureCause) *InstallationMedia { + s.FailureCause = v + return s +} + +// SetInstallationMediaId sets the InstallationMediaId field's value. +func (s *InstallationMedia) SetInstallationMediaId(v string) *InstallationMedia { + s.InstallationMediaId = &v + return s +} + +// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value. +func (s *InstallationMedia) SetOSInstallationMediaPath(v string) *InstallationMedia { + s.OSInstallationMediaPath = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *InstallationMedia) SetStatus(v string) *InstallationMedia { + s.Status = &v + return s +} + +// Contains the cause of an installation media failure. Installation media is +// used for on-premises, bring your own media (BYOM) DB engines, such as Microsoft +// SQL Server. +type InstallationMediaFailureCause struct { + _ struct{} `type:"structure"` + + // The reason that an installation media import failed. + Message *string `type:"string"` +} + +// String returns the string representation +func (s InstallationMediaFailureCause) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstallationMediaFailureCause) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *InstallationMediaFailureCause) SetMessage(v string) *InstallationMediaFailureCause { + s.Message = &v + return s +} + type ListTagsForResourceInput struct { _ struct{} `type:"structure"` @@ -35322,6 +36859,80 @@ func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurit return s } +// Information about the virtual private network (VPN) between the VMware vSphere +// cluster and the AWS website. +// +// For more information about RDS on VMware, see the RDS on VMware User Guide. +// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html) +type VpnDetails struct { + _ struct{} `type:"structure"` + + // The IP address of network traffic from AWS to your on-premises data center. + VpnGatewayIp *string `type:"string"` + + // The ID of the VPN. + VpnId *string `type:"string"` + + // The name of the VPN. + VpnName *string `type:"string"` + + // The preshared key (PSK) for the VPN. + VpnPSK *string `type:"string" sensitive:"true"` + + // The state of the VPN. + VpnState *string `type:"string"` + + // The IP address of network traffic from your on-premises data center. A custom + // AZ receives the network traffic. + VpnTunnelOriginatorIP *string `type:"string"` +} + +// String returns the string representation +func (s VpnDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpnDetails) GoString() string { + return s.String() +} + +// SetVpnGatewayIp sets the VpnGatewayIp field's value. +func (s *VpnDetails) SetVpnGatewayIp(v string) *VpnDetails { + s.VpnGatewayIp = &v + return s +} + +// SetVpnId sets the VpnId field's value. +func (s *VpnDetails) SetVpnId(v string) *VpnDetails { + s.VpnId = &v + return s +} + +// SetVpnName sets the VpnName field's value. +func (s *VpnDetails) SetVpnName(v string) *VpnDetails { + s.VpnName = &v + return s +} + +// SetVpnPSK sets the VpnPSK field's value. +func (s *VpnDetails) SetVpnPSK(v string) *VpnDetails { + s.VpnPSK = &v + return s +} + +// SetVpnState sets the VpnState field's value. +func (s *VpnDetails) SetVpnState(v string) *VpnDetails { + s.VpnState = &v + return s +} + +// SetVpnTunnelOriginatorIP sets the VpnTunnelOriginatorIP field's value. +func (s *VpnDetails) SetVpnTunnelOriginatorIP(v string) *VpnDetails { + s.VpnTunnelOriginatorIP = &v + return s +} + const ( // ActivityStreamModeSync is a ActivityStreamMode enum value ActivityStreamModeSync = "sync" diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/doc.go b/vendor/github.com/aws/aws-sdk-go/service/rds/doc.go index bf5140b14775..6a263d8704d9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/doc.go @@ -6,9 +6,9 @@ // // Amazon Relational Database Service (Amazon RDS) is a web service that makes // it easier to set up, operate, and scale a relational database in the cloud. -// It provides cost-efficient, resizable capacity for an industry-standard relational -// database and manages common database administration tasks, freeing up developers -// to focus on what makes their applications and businesses unique. +// It provides cost-efficient, resizeable capacity for an industry-standard +// relational database and manages common database administration tasks, freeing +// up developers to focus on what makes their applications and businesses unique. // // Amazon RDS gives you access to the capabilities of a MySQL, MariaDB, PostgreSQL, // Microsoft SQL Server, Oracle, or Amazon Aurora database server. These capabilities diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/errors.go b/vendor/github.com/aws/aws-sdk-go/service/rds/errors.go index 86ee24482b0e..680626728f71 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/errors.go @@ -7,18 +7,18 @@ const ( // ErrCodeAuthorizationAlreadyExistsFault for service response error code // "AuthorizationAlreadyExists". // - // The specified CIDRIP or Amazon EC2 security group is already authorized for - // the specified DB security group. + // The specified CIDR IP range or Amazon EC2 security group is already authorized + // for the specified DB security group. ErrCodeAuthorizationAlreadyExistsFault = "AuthorizationAlreadyExists" // ErrCodeAuthorizationNotFoundFault for service response error code // "AuthorizationNotFound". // - // The specified CIDRIP or Amazon EC2 security group isn't authorized for the - // specified DB security group. + // The specified CIDR IP range or Amazon EC2 security group might not be authorized + // for the specified DB security group. // - // RDS also may not be authorized by using IAM to perform necessary actions - // on your behalf. + // Or, RDS might not be authorized to perform necessary actions using IAM on + // your behalf. ErrCodeAuthorizationNotFoundFault = "AuthorizationNotFound" // ErrCodeAuthorizationQuotaExceededFault for service response error code @@ -37,6 +37,26 @@ const ( // CertificateIdentifier doesn't refer to an existing certificate. ErrCodeCertificateNotFoundFault = "CertificateNotFound" + // ErrCodeCustomAvailabilityZoneAlreadyExistsFault for service response error code + // "CustomAvailabilityZoneAlreadyExists". + // + // CustomAvailabilityZoneName is already used by an existing custom Availability + // Zone. + ErrCodeCustomAvailabilityZoneAlreadyExistsFault = "CustomAvailabilityZoneAlreadyExists" + + // ErrCodeCustomAvailabilityZoneNotFoundFault for service response error code + // "CustomAvailabilityZoneNotFound". + // + // CustomAvailabilityZoneId doesn't refer to an existing custom Availability + // Zone identifier. + ErrCodeCustomAvailabilityZoneNotFoundFault = "CustomAvailabilityZoneNotFound" + + // ErrCodeCustomAvailabilityZoneQuotaExceededFault for service response error code + // "CustomAvailabilityZoneQuotaExceeded". + // + // You have exceeded the maximum number of custom Availability Zones. + ErrCodeCustomAvailabilityZoneQuotaExceededFault = "CustomAvailabilityZoneQuotaExceeded" + // ErrCodeDBClusterAlreadyExistsFault for service response error code // "DBClusterAlreadyExistsFault". // @@ -156,7 +176,7 @@ const ( // ErrCodeDBInstanceRoleNotFoundFault for service response error code // "DBInstanceRoleNotFound". // - // The specified RoleArn value doesn't match the specifed feature for the DB + // The specified RoleArn value doesn't match the specified feature for the DB // instance. ErrCodeDBInstanceRoleNotFoundFault = "DBInstanceRoleNotFound" @@ -300,6 +320,18 @@ const ( // "GlobalClusterQuotaExceededFault". ErrCodeGlobalClusterQuotaExceededFault = "GlobalClusterQuotaExceededFault" + // ErrCodeInstallationMediaAlreadyExistsFault for service response error code + // "InstallationMediaAlreadyExists". + // + // The specified installation media has already been imported. + ErrCodeInstallationMediaAlreadyExistsFault = "InstallationMediaAlreadyExists" + + // ErrCodeInstallationMediaNotFoundFault for service response error code + // "InstallationMediaNotFound". + // + // InstallationMediaID doesn't refer to an existing installation media. + ErrCodeInstallationMediaNotFoundFault = "InstallationMediaNotFound" + // ErrCodeInstanceQuotaExceededFault for service response error code // "InstanceQuotaExceeded". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go index b4a4e8c4ad77..2c2f204000c1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go @@ -22503,6 +22503,8 @@ type SelectObjectContentEventStream struct { // may result in resource leaks. func (es *SelectObjectContentEventStream) Close() (err error) { es.Reader.Close() + es.StreamCloser.Close() + return es.Err() } @@ -22512,8 +22514,6 @@ func (es *SelectObjectContentEventStream) Err() error { if err := es.Reader.Err(); err != nil { return err } - es.StreamCloser.Close() - return nil } diff --git a/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go b/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go index ed54c0f32589..29e70ae97ebe 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go @@ -26538,6 +26538,15 @@ const ( // NotebookInstanceAcceleratorTypeMlEia1Xlarge is a NotebookInstanceAcceleratorType enum value NotebookInstanceAcceleratorTypeMlEia1Xlarge = "ml.eia1.xlarge" + + // NotebookInstanceAcceleratorTypeMlEia2Medium is a NotebookInstanceAcceleratorType enum value + NotebookInstanceAcceleratorTypeMlEia2Medium = "ml.eia2.medium" + + // NotebookInstanceAcceleratorTypeMlEia2Large is a NotebookInstanceAcceleratorType enum value + NotebookInstanceAcceleratorTypeMlEia2Large = "ml.eia2.large" + + // NotebookInstanceAcceleratorTypeMlEia2Xlarge is a NotebookInstanceAcceleratorType enum value + NotebookInstanceAcceleratorTypeMlEia2Xlarge = "ml.eia2.xlarge" ) const ( @@ -26666,6 +26675,15 @@ const ( // ProductionVariantAcceleratorTypeMlEia1Xlarge is a ProductionVariantAcceleratorType enum value ProductionVariantAcceleratorTypeMlEia1Xlarge = "ml.eia1.xlarge" + + // ProductionVariantAcceleratorTypeMlEia2Medium is a ProductionVariantAcceleratorType enum value + ProductionVariantAcceleratorTypeMlEia2Medium = "ml.eia2.medium" + + // ProductionVariantAcceleratorTypeMlEia2Large is a ProductionVariantAcceleratorType enum value + ProductionVariantAcceleratorTypeMlEia2Large = "ml.eia2.large" + + // ProductionVariantAcceleratorTypeMlEia2Xlarge is a ProductionVariantAcceleratorType enum value + ProductionVariantAcceleratorTypeMlEia2Xlarge = "ml.eia2.xlarge" ) const ( @@ -26714,6 +26732,24 @@ const ( // ProductionVariantInstanceTypeMlM524xlarge is a ProductionVariantInstanceType enum value ProductionVariantInstanceTypeMlM524xlarge = "ml.m5.24xlarge" + // ProductionVariantInstanceTypeMlM5dLarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM5dLarge = "ml.m5d.large" + + // ProductionVariantInstanceTypeMlM5dXlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM5dXlarge = "ml.m5d.xlarge" + + // ProductionVariantInstanceTypeMlM5d2xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM5d2xlarge = "ml.m5d.2xlarge" + + // ProductionVariantInstanceTypeMlM5d4xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM5d4xlarge = "ml.m5d.4xlarge" + + // ProductionVariantInstanceTypeMlM5d12xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM5d12xlarge = "ml.m5d.12xlarge" + + // ProductionVariantInstanceTypeMlM5d24xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM5d24xlarge = "ml.m5d.24xlarge" + // ProductionVariantInstanceTypeMlC4Large is a ProductionVariantInstanceType enum value ProductionVariantInstanceTypeMlC4Large = "ml.c4.large" @@ -26765,6 +26801,24 @@ const ( // ProductionVariantInstanceTypeMlC518xlarge is a ProductionVariantInstanceType enum value ProductionVariantInstanceTypeMlC518xlarge = "ml.c5.18xlarge" + // ProductionVariantInstanceTypeMlC5dLarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC5dLarge = "ml.c5d.large" + + // ProductionVariantInstanceTypeMlC5dXlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC5dXlarge = "ml.c5d.xlarge" + + // ProductionVariantInstanceTypeMlC5d2xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC5d2xlarge = "ml.c5d.2xlarge" + + // ProductionVariantInstanceTypeMlC5d4xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC5d4xlarge = "ml.c5d.4xlarge" + + // ProductionVariantInstanceTypeMlC5d9xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC5d9xlarge = "ml.c5d.9xlarge" + + // ProductionVariantInstanceTypeMlC5d18xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC5d18xlarge = "ml.c5d.18xlarge" + // ProductionVariantInstanceTypeMlG4dnXlarge is a ProductionVariantInstanceType enum value ProductionVariantInstanceTypeMlG4dnXlarge = "ml.g4dn.xlarge" @@ -26800,6 +26854,24 @@ const ( // ProductionVariantInstanceTypeMlR524xlarge is a ProductionVariantInstanceType enum value ProductionVariantInstanceTypeMlR524xlarge = "ml.r5.24xlarge" + + // ProductionVariantInstanceTypeMlR5dLarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlR5dLarge = "ml.r5d.large" + + // ProductionVariantInstanceTypeMlR5dXlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlR5dXlarge = "ml.r5d.xlarge" + + // ProductionVariantInstanceTypeMlR5d2xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlR5d2xlarge = "ml.r5d.2xlarge" + + // ProductionVariantInstanceTypeMlR5d4xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlR5d4xlarge = "ml.r5d.4xlarge" + + // ProductionVariantInstanceTypeMlR5d12xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlR5d12xlarge = "ml.r5d.12xlarge" + + // ProductionVariantInstanceTypeMlR5d24xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlR5d24xlarge = "ml.r5d.24xlarge" ) const ( 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 eb0a6a417efb..9c5ed454536a 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 @@ -676,9 +676,9 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag // // Returned Error Codes: // * ErrCodeInvalidAuthorizationMessageException "InvalidAuthorizationMessageException" -// The error returned if the message passed to DecodeAuthorizationMessage was -// invalid. This can happen if the token contains invalid characters, such as -// linebreaks. +// This error is returned if the message passed to DecodeAuthorizationMessage +// was invalid. This can happen if the token contains invalid characters, such +// as linebreaks. // // See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage func (c *STS) DecodeAuthorizationMessage(input *DecodeAuthorizationMessageInput) (*DecodeAuthorizationMessageOutput, error) { 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 41ea09c356ce..a3e378edad35 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 @@ -34,9 +34,9 @@ const ( // ErrCodeInvalidAuthorizationMessageException for service response error code // "InvalidAuthorizationMessageException". // - // The error returned if the message passed to DecodeAuthorizationMessage was - // invalid. This can happen if the token contains invalid characters, such as - // linebreaks. + // This error is returned if the message passed to DecodeAuthorizationMessage + // was invalid. This can happen if the token contains invalid characters, such + // as linebreaks. ErrCodeInvalidAuthorizationMessageException = "InvalidAuthorizationMessageException" // ErrCodeInvalidIdentityTokenException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go b/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go index d48d30c8b8d4..a785c950d760 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go @@ -3907,7 +3907,16 @@ type DefaultWorkspaceCreationProperties struct { // The organizational unit (OU) in the directory for the WorkSpace machine accounts. DefaultOu *string `type:"string"` - // The public IP address to attach to all WorkSpaces that are created or rebuilt. + // Specifies whether to automatically assign a public IP address to WorkSpaces + // in this directory by default. If enabled, the public IP address allows outbound + // internet access from your WorkSpaces when you’re using an internet gateway + // in the Amazon VPC in which your WorkSpaces are located. If you're using a + // Network Address Translation (NAT) gateway for outbound internet access from + // your VPC, or if your WorkSpaces are in public subnets and you manually assign + // them Elastic IP addresses, you should disable this setting. This setting + // applies to new WorkSpaces that you launch or to existing WorkSpaces that + // you rebuild. For more information, see Configure a VPC for Amazon WorkSpaces + // (https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-vpc.html). EnableInternetAccess *bool `type:"boolean"` // Specifies whether the directory is enabled for Amazon WorkDocs. @@ -4791,7 +4800,7 @@ type DescribeWorkspaceSnapshotsOutput struct { _ struct{} `type:"structure"` // Information about the snapshots that can be used to rebuild a WorkSpace. - // These snapshots include the root volume. + // These snapshots include the user volume. RebuildSnapshots []*Snapshot `type:"list"` // Information about the snapshots that can be used to restore a WorkSpace. @@ -7152,7 +7161,7 @@ type WorkspaceProperties struct { RunningMode *string `type:"string" enum:"RunningMode"` // The time after a user logs off when WorkSpaces are automatically stopped. - // Configured in 60 minute intervals. + // Configured in 60-minute intervals. RunningModeAutoStopTimeoutInMinutes *int64 `type:"integer"` // The size of the user storage. diff --git a/vendor/modules.txt b/vendor/modules.txt index a49fb0f395e2..19046d6be2bf 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -21,7 +21,7 @@ github.com/apparentlymart/go-cidr/cidr github.com/apparentlymart/go-textseg/textseg # github.com/armon/go-radix v1.0.0 github.com/armon/go-radix -# github.com/aws/aws-sdk-go v1.25.10 +# github.com/aws/aws-sdk-go v1.25.19 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn github.com/aws/aws-sdk-go/aws/awserr