Upgrade aws sdk to 1.35.10

This adds functions for each enum that return a list of all values
This commit is contained in:
Peter Rifel 2020-10-19 14:07:58 -06:00
parent edd034b986
commit eb7cc53111
No known key found for this signature in database
GPG Key ID: BC6469E5B16DB2B6
52 changed files with 12750 additions and 1237 deletions

2
go.mod
View File

@ -56,7 +56,7 @@ require (
github.com/aliyun/alibaba-cloud-sdk-go v1.61.264
github.com/aokoli/goutils v1.0.1 // indirect
github.com/aws/amazon-ec2-instance-selector/v2 v2.0.1
github.com/aws/aws-sdk-go v1.33.13
github.com/aws/aws-sdk-go v1.35.10
github.com/bazelbuild/bazel-gazelle v0.19.1
github.com/blang/semver/v4 v4.0.0
github.com/chai2010/gettext-go v0.0.0-20170215093142-bf70f2a70fb1 // indirect

8
go.sum
View File

@ -104,8 +104,8 @@ github.com/aws/amazon-ec2-instance-selector/v2 v2.0.1 h1:wqSb1757J+cwNAj0bQaknVV
github.com/aws/amazon-ec2-instance-selector/v2 v2.0.1/go.mod h1:juzWzDAyOHbufrohZ77l2VW+CEgtXIm2SzrTVMmfJy8=
github.com/aws/aws-sdk-go v1.28.2/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
github.com/aws/aws-sdk-go v1.31.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
github.com/aws/aws-sdk-go v1.33.13 h1:3+AsCrxxnhiUQEhWV+j3kEs7aBCIn2qkDjA+elpxYPU=
github.com/aws/aws-sdk-go v1.33.13/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
github.com/aws/aws-sdk-go v1.35.10 h1:FsJtrOS7P+Qmq1rPTGgS/+qC1Y9eGuAJHvAZpZlhmb4=
github.com/aws/aws-sdk-go v1.35.10/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k=
github.com/bazelbuild/bazel-gazelle v0.18.2/go.mod h1:D0ehMSbS+vesFsLGiD6JXu3mVEzOlfUl8wNnq+x/9p0=
github.com/bazelbuild/bazel-gazelle v0.19.1-0.20191105222053-70208cbdc798/go.mod h1:rPwzNHUqEzngx1iVBfO/2X2npKaT3tqPqqHW6rVsn/A=
github.com/bazelbuild/bazel-gazelle v0.19.1 h1:TSCGVqpHStCj1MTszuDfZt6Z2Ca8ekq2oWiqcHKVEAE=
@ -549,6 +549,10 @@ github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5i
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc=
github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik=
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo=
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/jpillora/backoff v0.0.0-20170918002102-8eab2debe79d h1:ix3WmphUvN0GDd0DO9MH0v6/5xTv+Xm1bPN+1UJn58k=

View File

@ -173,7 +173,9 @@ type Expiry struct {
// the expiration time given to ensure no requests are made with expired
// tokens.
func (e *Expiry) SetExpiration(expiration time.Time, window time.Duration) {
e.expiration = expiration
// Passed in expirations should have the monotonic clock values stripped.
// This ensures time comparisons will be based on wall-time.
e.expiration = expiration.Round(0)
if window > 0 {
e.expiration = e.expiration.Add(-window)
}

View File

@ -52,9 +52,21 @@ type WebIdentityRoleProvider struct {
credentials.Expiry
PolicyArns []*sts.PolicyDescriptorType
client stsiface.STSAPI
// Duration the STS credentials will be valid for. Truncated to seconds.
// If unset, the assumed role will use AssumeRoleWithWebIdentity's default
// expiry duration. See
// https://docs.aws.amazon.com/sdk-for-go/api/service/sts/#STS.AssumeRoleWithWebIdentity
// for more information.
Duration time.Duration
// The amount of time the credentials will be refreshed before they expire.
// This is useful refresh credentials before they expire to reduce risk of
// using credentials as they expire. If unset, will default to no expiry
// window.
ExpiryWindow time.Duration
client stsiface.STSAPI
tokenFetcher TokenFetcher
roleARN string
roleSessionName string
@ -107,11 +119,18 @@ func (p *WebIdentityRoleProvider) RetrieveWithContext(ctx credentials.Context) (
// uses unix time in nanoseconds to uniquely identify sessions.
sessionName = strconv.FormatInt(now().UnixNano(), 10)
}
var duration *int64
if p.Duration != 0 {
duration = aws.Int64(int64(p.Duration / time.Second))
}
req, resp := p.client.AssumeRoleWithWebIdentityRequest(&sts.AssumeRoleWithWebIdentityInput{
PolicyArns: p.PolicyArns,
RoleArn: &p.roleARN,
RoleSessionName: &sessionName,
WebIdentityToken: aws.String(string(b)),
DurationSeconds: duration,
})
req.SetContext(ctx)

View File

@ -20,7 +20,7 @@ func (c *EC2Metadata) getToken(ctx aws.Context, duration time.Duration) (tokenOu
op := &request.Operation{
Name: "GetToken",
HTTPMethod: "PUT",
HTTPPath: "/api/token",
HTTPPath: "/latest/api/token",
}
var output tokenOutput
@ -62,7 +62,7 @@ func (c *EC2Metadata) GetMetadataWithContext(ctx aws.Context, p string) (string,
op := &request.Operation{
Name: "GetMetadata",
HTTPMethod: "GET",
HTTPPath: sdkuri.PathJoin("/meta-data", p),
HTTPPath: sdkuri.PathJoin("/latest/meta-data", p),
}
output := &metadataOutput{}
@ -88,7 +88,7 @@ func (c *EC2Metadata) GetUserDataWithContext(ctx aws.Context) (string, error) {
op := &request.Operation{
Name: "GetUserData",
HTTPMethod: "GET",
HTTPPath: "/user-data",
HTTPPath: "/latest/user-data",
}
output := &metadataOutput{}
@ -113,7 +113,7 @@ func (c *EC2Metadata) GetDynamicDataWithContext(ctx aws.Context, p string) (stri
op := &request.Operation{
Name: "GetDynamicData",
HTTPMethod: "GET",
HTTPPath: sdkuri.PathJoin("/dynamic", p),
HTTPPath: sdkuri.PathJoin("/latest/dynamic", p),
}
output := &metadataOutput{}

View File

@ -5,6 +5,10 @@
// variable "AWS_EC2_METADATA_DISABLED=true". This environment variable set to
// true instructs the SDK to disable the EC2 Metadata client. The client cannot
// be used while the environment variable is set to true, (case insensitive).
//
// The endpoint of the EC2 IMDS client can be configured via the environment
// variable, AWS_EC2_METADATA_SERVICE_ENDPOINT when creating the client with a
// Session. See aws/session#Options.EC2IMDSEndpoint for more details.
package ec2metadata
import (
@ -12,6 +16,7 @@ import (
"errors"
"io"
"net/http"
"net/url"
"os"
"strconv"
"strings"
@ -41,7 +46,7 @@ const (
enableTokenProviderHandlerName = "enableTokenProviderHandler"
// TTL constants
defaultTTL = 21600 * time.Second
defaultTTL = 21600 * time.Second
ttlExpirationWindow = 30 * time.Second
)
@ -69,6 +74,9 @@ func New(p client.ConfigProvider, cfgs ...*aws.Config) *EC2Metadata {
// a client when not using a session. Generally using just New with a session
// is preferred.
//
// Will remove the URL path from the endpoint provided to ensure the EC2 IMDS
// client is able to communicate with the EC2 IMDS API.
//
// If an unmodified HTTP client is provided from the stdlib default, or no client
// the EC2RoleProvider's EC2Metadata HTTP client's timeout will be shortened.
// To disable this set Config.EC2MetadataDisableTimeoutOverride to false. Enabled by default.
@ -86,6 +94,15 @@ func NewClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegio
cfg.MaxRetries = aws.Int(2)
}
if u, err := url.Parse(endpoint); err == nil {
// Remove path from the endpoint since it will be added by requests.
// This is an artifact of the SDK adding `/latest` to the endpoint for
// EC2 IMDS, but this is now moved to the operation definition.
u.Path = ""
u.RawPath = ""
endpoint = u.String()
}
svc := &EC2Metadata{
Client: client.New(
cfg,

View File

@ -87,6 +87,7 @@ func (t *tokenProvider) enableTokenProviderHandler(r *request.Request) {
// If the error code status is 401, we enable the token provider
if e, ok := r.Error.(awserr.RequestFailure); ok && e != nil &&
e.StatusCode() == http.StatusUnauthorized {
t.token.Store(ec2Token{})
atomic.StoreUint32(&t.disabled, 0)
}
}

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,8 @@ func isErrConnectionReset(err error) bool {
return false
}
if strings.Contains(err.Error(), "connection reset") ||
if strings.Contains(err.Error(), "use of closed network connection") ||
strings.Contains(err.Error(), "connection reset") ||
strings.Contains(err.Error(), "broken pipe") {
return true
}

View File

@ -241,5 +241,22 @@ over the AWS_CA_BUNDLE environment variable, and will be used if both are set.
Setting a custom HTTPClient in the aws.Config options will override this setting.
To use this option and custom HTTP client, the HTTP client needs to be provided
when creating the session. Not the service client.
The endpoint of the EC2 IMDS client can be configured via the environment
variable, AWS_EC2_METADATA_SERVICE_ENDPOINT when creating the client with a
Session. See Options.EC2IMDSEndpoint for more details.
AWS_EC2_METADATA_SERVICE_ENDPOINT=http://169.254.169.254
If using an URL with an IPv6 address literal, the IPv6 address
component must be enclosed in square brackets.
AWS_EC2_METADATA_SERVICE_ENDPOINT=http://[::1]
The custom EC2 IMDS endpoint can also be specified via the Session options.
sess, err := session.NewSessionWithOptions(session.Options{
EC2IMDSEndpoint: "http://[::1]",
})
*/
package session

View File

@ -148,6 +148,11 @@ type envConfig struct {
//
// AWS_S3_USE_ARN_REGION=true
S3UseARNRegion bool
// Specifies the alternative endpoint to use for EC2 IMDS.
//
// AWS_EC2_METADATA_SERVICE_ENDPOINT=http://[::1]
EC2IMDSEndpoint string
}
var (
@ -211,6 +216,9 @@ var (
s3UseARNRegionEnvKey = []string{
"AWS_S3_USE_ARN_REGION",
}
ec2IMDSEndpointEnvKey = []string{
"AWS_EC2_METADATA_SERVICE_ENDPOINT",
}
)
// loadEnvConfig retrieves the SDK's environment configuration.
@ -332,6 +340,8 @@ func envConfigLoad(enableSharedConfig bool) (envConfig, error) {
}
}
setFromEnvVal(&cfg.EC2IMDSEndpoint, ec2IMDSEndpointEnvKey)
return cfg, nil
}

View File

@ -48,6 +48,8 @@ var ErrSharedConfigInvalidCredSource = awserr.New(ErrCodeSharedConfig, "credenti
type Session struct {
Config *aws.Config
Handlers request.Handlers
options Options
}
// New creates a new instance of the handlers merging in the provided configs
@ -99,7 +101,7 @@ func New(cfgs ...*aws.Config) *Session {
return s
}
s := deprecatedNewSession(cfgs...)
s := deprecatedNewSession(envCfg, cfgs...)
if envErr != nil {
msg := "failed to load env config"
s.logDeprecatedNewSessionError(msg, envErr, cfgs)
@ -243,6 +245,23 @@ type Options struct {
// function to initialize this value before changing the handlers to be
// used by the SDK.
Handlers request.Handlers
// Allows specifying a custom endpoint to be used by the EC2 IMDS client
// when making requests to the EC2 IMDS API. The must endpoint value must
// include protocol prefix.
//
// If unset, will the EC2 IMDS client will use its default endpoint.
//
// Can also be specified via the environment variable,
// AWS_EC2_METADATA_SERVICE_ENDPOINT.
//
// AWS_EC2_METADATA_SERVICE_ENDPOINT=http://169.254.169.254
//
// If using an URL with an IPv6 address literal, the IPv6 address
// component must be enclosed in square brackets.
//
// AWS_EC2_METADATA_SERVICE_ENDPOINT=http://[::1]
EC2IMDSEndpoint string
}
// NewSessionWithOptions returns a new Session created from SDK defaults, config files,
@ -329,7 +348,25 @@ func Must(sess *Session, err error) *Session {
return sess
}
func deprecatedNewSession(cfgs ...*aws.Config) *Session {
// Wraps the endpoint resolver with a resolver that will return a custom
// endpoint for EC2 IMDS.
func wrapEC2IMDSEndpoint(resolver endpoints.Resolver, endpoint string) endpoints.Resolver {
return endpoints.ResolverFunc(
func(service, region string, opts ...func(*endpoints.Options)) (
endpoints.ResolvedEndpoint, error,
) {
if service == ec2MetadataServiceID {
return endpoints.ResolvedEndpoint{
URL: endpoint,
SigningName: ec2MetadataServiceID,
SigningRegion: region,
}, nil
}
return resolver.EndpointFor(service, region)
})
}
func deprecatedNewSession(envCfg envConfig, cfgs ...*aws.Config) *Session {
cfg := defaults.Config()
handlers := defaults.Handlers()
@ -341,6 +378,11 @@ func deprecatedNewSession(cfgs ...*aws.Config) *Session {
// endpoints for service client configurations.
cfg.EndpointResolver = endpoints.DefaultResolver()
}
if len(envCfg.EC2IMDSEndpoint) != 0 {
cfg.EndpointResolver = wrapEC2IMDSEndpoint(cfg.EndpointResolver, envCfg.EC2IMDSEndpoint)
}
cfg.Credentials = defaults.CredChain(cfg, handlers)
// Reapply any passed in configs to override credentials if set
@ -349,6 +391,9 @@ func deprecatedNewSession(cfgs ...*aws.Config) *Session {
s := &Session{
Config: cfg,
Handlers: handlers,
options: Options{
EC2IMDSEndpoint: envCfg.EC2IMDSEndpoint,
},
}
initHandlers(s)
@ -418,6 +463,7 @@ func newSession(opts Options, envCfg envConfig, cfgs ...*aws.Config) (*Session,
s := &Session{
Config: cfg,
Handlers: handlers,
options: opts,
}
initHandlers(s)
@ -570,6 +616,14 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config,
endpoints.LegacyS3UsEast1Endpoint,
})
ec2IMDSEndpoint := sessOpts.EC2IMDSEndpoint
if len(ec2IMDSEndpoint) == 0 {
ec2IMDSEndpoint = envCfg.EC2IMDSEndpoint
}
if len(ec2IMDSEndpoint) != 0 {
cfg.EndpointResolver = wrapEC2IMDSEndpoint(cfg.EndpointResolver, ec2IMDSEndpoint)
}
// Configure credentials if not already set by the user when creating the
// Session.
if cfg.Credentials == credentials.AnonymousCredentials && userCfg.Credentials == nil {
@ -627,6 +681,7 @@ func (s *Session) Copy(cfgs ...*aws.Config) *Session {
newSession := &Session{
Config: s.Config.Copy(cfgs...),
Handlers: s.Handlers.Copy(),
options: s.options,
}
initHandlers(newSession)
@ -665,6 +720,8 @@ func (s *Session) ClientConfig(service string, cfgs ...*aws.Config) client.Confi
}
}
const ec2MetadataServiceID = "ec2metadata"
func (s *Session) resolveEndpoint(service, region string, cfg *aws.Config) (endpoints.ResolvedEndpoint, error) {
if ep := aws.StringValue(cfg.Endpoint); len(ep) != 0 {

View File

@ -5,4 +5,4 @@ package aws
const SDKName = "aws-sdk-go"
// SDKVersion is the version of this SDK
const SDKVersion = "1.33.13"
const SDKVersion = "1.35.10"

View File

@ -0,0 +1,19 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = [
"endpoint_errors.go",
"resource_request.go",
],
importmap = "k8s.io/kops/vendor/github.com/aws/aws-sdk-go/internal/s3shared",
importpath = "github.com/aws/aws-sdk-go/internal/s3shared",
visibility = ["//vendor/github.com/aws/aws-sdk-go:__subpackages__"],
deps = [
"//vendor/github.com/aws/aws-sdk-go/aws:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/aws/arn:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/aws/awserr:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/aws/request:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/internal/s3shared/arn:go_default_library",
],
)

View File

@ -0,0 +1,14 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = [
"accesspoint_arn.go",
"arn.go",
"outpost_arn.go",
],
importmap = "k8s.io/kops/vendor/github.com/aws/aws-sdk-go/internal/s3shared/arn",
importpath = "github.com/aws/aws-sdk-go/internal/s3shared/arn",
visibility = ["//vendor/github.com/aws/aws-sdk-go:__subpackages__"],
deps = ["//vendor/github.com/aws/aws-sdk-go/aws/arn:go_default_library"],
)

View File

@ -19,23 +19,28 @@ func (a AccessPointARN) GetARN() arn.ARN {
// ParseAccessPointResource attempts to parse the ARN's resource as an
// AccessPoint resource.
//
// Supported Access point resource format:
// - Access point format: arn:{partition}:s3:{region}:{accountId}:accesspoint/{accesspointName}
// - example: arn.aws.s3.us-west-2.012345678901:accesspoint/myaccesspoint
//
func ParseAccessPointResource(a arn.ARN, resParts []string) (AccessPointARN, error) {
if len(a.Region) == 0 {
return AccessPointARN{}, InvalidARNError{a, "region not set"}
return AccessPointARN{}, InvalidARNError{ARN: a, Reason: "region not set"}
}
if len(a.AccountID) == 0 {
return AccessPointARN{}, InvalidARNError{a, "account-id not set"}
return AccessPointARN{}, InvalidARNError{ARN: a, Reason: "account-id not set"}
}
if len(resParts) == 0 {
return AccessPointARN{}, InvalidARNError{a, "resource-id not set"}
return AccessPointARN{}, InvalidARNError{ARN: a, Reason: "resource-id not set"}
}
if len(resParts) > 1 {
return AccessPointARN{}, InvalidARNError{a, "sub resource not supported"}
return AccessPointARN{}, InvalidARNError{ARN: a, Reason: "sub resource not supported"}
}
resID := resParts[0]
if len(strings.TrimSpace(resID)) == 0 {
return AccessPointARN{}, InvalidARNError{a, "resource-id not set"}
return AccessPointARN{}, InvalidARNError{ARN: a, Reason: "resource-id not set"}
}
return AccessPointARN{

View File

@ -1,6 +1,7 @@
package arn
import (
"fmt"
"strings"
"github.com/aws/aws-sdk-go/aws/arn"
@ -25,13 +26,14 @@ func ParseResource(s string, resParser ResourceParser) (resARN Resource, err err
}
if len(a.Partition) == 0 {
return nil, InvalidARNError{a, "partition not set"}
return nil, InvalidARNError{ARN: a, Reason: "partition not set"}
}
if a.Service != "s3" {
return nil, InvalidARNError{a, "service is not S3"}
if a.Service != "s3" && a.Service != "s3-outposts" {
return nil, InvalidARNError{ARN: a, Reason: "service is not supported"}
}
if len(a.Resource) == 0 {
return nil, InvalidARNError{a, "resource not set"}
return nil, InvalidARNError{ARN: a, Reason: "resource not set"}
}
return resParser(a)
@ -66,6 +68,7 @@ type InvalidARNError struct {
Reason string
}
// Error returns a string denoting the occurred InvalidARNError
func (e InvalidARNError) Error() string {
return "invalid Amazon S3 ARN, " + e.Reason + ", " + e.ARN.String()
return fmt.Sprintf("invalid Amazon %s ARN, %s, %s", e.ARN.Service, e.Reason, e.ARN.String())
}

View File

@ -0,0 +1,126 @@
package arn
import (
"strings"
"github.com/aws/aws-sdk-go/aws/arn"
)
// OutpostARN interface that should be satisfied by outpost ARNs
type OutpostARN interface {
Resource
GetOutpostID() string
}
// ParseOutpostARNResource will parse a provided ARNs resource using the appropriate ARN format
// and return a specific OutpostARN type
//
// Currently supported outpost ARN formats:
// * Outpost AccessPoint ARN format:
// - ARN format: arn:{partition}:s3-outposts:{region}:{accountId}:outpost/{outpostId}/accesspoint/{accesspointName}
// - example: arn:aws:s3-outposts:us-west-2:012345678901:outpost/op-1234567890123456/accesspoint/myaccesspoint
//
// * Outpost Bucket ARN format:
// - ARN format: arn:{partition}:s3-outposts:{region}:{accountId}:outpost/{outpostId}/bucket/{bucketName}
// - example: arn:aws:s3-outposts:us-west-2:012345678901:outpost/op-1234567890123456/bucket/mybucket
//
// Other outpost ARN formats may be supported and added in the future.
//
func ParseOutpostARNResource(a arn.ARN, resParts []string) (OutpostARN, error) {
if len(a.Region) == 0 {
return nil, InvalidARNError{ARN: a, Reason: "region not set"}
}
if len(a.AccountID) == 0 {
return nil, InvalidARNError{ARN: a, Reason: "account-id not set"}
}
// verify if outpost id is present and valid
if len(resParts) == 0 || len(strings.TrimSpace(resParts[0])) == 0 {
return nil, InvalidARNError{ARN: a, Reason: "outpost resource-id not set"}
}
// verify possible resource type exists
if len(resParts) < 3 {
return nil, InvalidARNError{
ARN: a, Reason: "incomplete outpost resource type. Expected bucket or access-point resource to be present",
}
}
// Since we know this is a OutpostARN fetch outpostID
outpostID := strings.TrimSpace(resParts[0])
switch resParts[1] {
case "accesspoint":
accesspointARN, err := ParseAccessPointResource(a, resParts[2:])
if err != nil {
return OutpostAccessPointARN{}, err
}
return OutpostAccessPointARN{
AccessPointARN: accesspointARN,
OutpostID: outpostID,
}, nil
case "bucket":
bucketName, err := parseBucketResource(a, resParts[2:])
if err != nil {
return nil, err
}
return OutpostBucketARN{
ARN: a,
BucketName: bucketName,
OutpostID: outpostID,
}, nil
default:
return nil, InvalidARNError{ARN: a, Reason: "unknown resource set for outpost ARN"}
}
}
// OutpostAccessPointARN represents outpost access point ARN.
type OutpostAccessPointARN struct {
AccessPointARN
OutpostID string
}
// GetOutpostID returns the outpost id of outpost access point arn
func (o OutpostAccessPointARN) GetOutpostID() string {
return o.OutpostID
}
// OutpostBucketARN represents the outpost bucket ARN.
type OutpostBucketARN struct {
arn.ARN
BucketName string
OutpostID string
}
// GetOutpostID returns the outpost id of outpost bucket arn
func (o OutpostBucketARN) GetOutpostID() string {
return o.OutpostID
}
// GetARN retrives the base ARN from outpost bucket ARN resource
func (o OutpostBucketARN) GetARN() arn.ARN {
return o.ARN
}
// parseBucketResource attempts to parse the ARN's bucket resource and retrieve the
// bucket resource id.
//
// parseBucketResource only parses the bucket resource id.
//
func parseBucketResource(a arn.ARN, resParts []string) (bucketName string, err error) {
if len(resParts) == 0 {
return bucketName, InvalidARNError{ARN: a, Reason: "bucket resource-id not set"}
}
if len(resParts) > 1 {
return bucketName, InvalidARNError{ARN: a, Reason: "sub resource not supported"}
}
bucketName = strings.TrimSpace(resParts[0])
if len(bucketName) == 0 {
return bucketName, InvalidARNError{ARN: a, Reason: "bucket resource-id not set"}
}
return bucketName, err
}

View File

@ -0,0 +1,189 @@
package s3shared
import (
"fmt"
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/internal/s3shared/arn"
)
const (
invalidARNErrorErrCode = "InvalidARNError"
configurationErrorErrCode = "ConfigurationError"
)
// InvalidARNError denotes the error for Invalid ARN
type InvalidARNError struct {
message string
resource arn.Resource
origErr error
}
// Error returns the InvalidARNError
func (e InvalidARNError) Error() string {
var extra string
if e.resource != nil {
extra = "ARN: " + e.resource.String()
}
return awserr.SprintError(e.Code(), e.Message(), extra, e.origErr)
}
// Code returns the invalid ARN error code
func (e InvalidARNError) Code() string {
return invalidARNErrorErrCode
}
// Message returns the message for Invalid ARN error
func (e InvalidARNError) Message() string {
return e.message
}
// OrigErr is the original error wrapped by Invalid ARN Error
func (e InvalidARNError) OrigErr() error {
return e.origErr
}
// NewInvalidARNError denotes invalid arn error
func NewInvalidARNError(resource arn.Resource, err error) InvalidARNError {
return InvalidARNError{
message: "invalid ARN",
origErr: err,
resource: resource,
}
}
// NewInvalidARNWithCustomEndpointError ARN not supported for custom clients endpoints
func NewInvalidARNWithCustomEndpointError(resource arn.Resource, err error) InvalidARNError {
return InvalidARNError{
message: "resource ARN not supported with custom client endpoints",
origErr: err,
resource: resource,
}
}
// NewInvalidARNWithUnsupportedPartitionError ARN not supported for the target partition
func NewInvalidARNWithUnsupportedPartitionError(resource arn.Resource, err error) InvalidARNError {
return InvalidARNError{
message: "resource ARN not supported for the target ARN partition",
origErr: err,
resource: resource,
}
}
// NewInvalidARNWithFIPSError ARN not supported for FIPS region
func NewInvalidARNWithFIPSError(resource arn.Resource, err error) InvalidARNError {
return InvalidARNError{
message: "resource ARN not supported for FIPS region",
resource: resource,
origErr: err,
}
}
// ConfigurationError is used to denote a client configuration error
type ConfigurationError struct {
message string
resource arn.Resource
clientPartitionID string
clientRegion string
origErr error
}
// Error returns the Configuration error string
func (e ConfigurationError) Error() string {
extra := fmt.Sprintf("ARN: %s, client partition: %s, client region: %s",
e.resource, e.clientPartitionID, e.clientRegion)
return awserr.SprintError(e.Code(), e.Message(), extra, e.origErr)
}
// Code returns configuration error's error-code
func (e ConfigurationError) Code() string {
return configurationErrorErrCode
}
// Message returns the configuration error message
func (e ConfigurationError) Message() string {
return e.message
}
// OrigErr is the original error wrapped by Configuration Error
func (e ConfigurationError) OrigErr() error {
return e.origErr
}
// NewClientPartitionMismatchError stub
func NewClientPartitionMismatchError(resource arn.Resource, clientPartitionID, clientRegion string, err error) ConfigurationError {
return ConfigurationError{
message: "client partition does not match provided ARN partition",
origErr: err,
resource: resource,
clientPartitionID: clientPartitionID,
clientRegion: clientRegion,
}
}
// NewClientRegionMismatchError denotes cross region access error
func NewClientRegionMismatchError(resource arn.Resource, clientPartitionID, clientRegion string, err error) ConfigurationError {
return ConfigurationError{
message: "client region does not match provided ARN region",
origErr: err,
resource: resource,
clientPartitionID: clientPartitionID,
clientRegion: clientRegion,
}
}
// NewFailedToResolveEndpointError denotes endpoint resolving error
func NewFailedToResolveEndpointError(resource arn.Resource, clientPartitionID, clientRegion string, err error) ConfigurationError {
return ConfigurationError{
message: "endpoint resolver failed to find an endpoint for the provided ARN region",
origErr: err,
resource: resource,
clientPartitionID: clientPartitionID,
clientRegion: clientRegion,
}
}
// NewClientConfiguredForFIPSError denotes client config error for unsupported cross region FIPS access
func NewClientConfiguredForFIPSError(resource arn.Resource, clientPartitionID, clientRegion string, err error) ConfigurationError {
return ConfigurationError{
message: "client configured for fips but cross-region resource ARN provided",
origErr: err,
resource: resource,
clientPartitionID: clientPartitionID,
clientRegion: clientRegion,
}
}
// NewClientConfiguredForAccelerateError denotes client config error for unsupported S3 accelerate
func NewClientConfiguredForAccelerateError(resource arn.Resource, clientPartitionID, clientRegion string, err error) ConfigurationError {
return ConfigurationError{
message: "client configured for S3 Accelerate but is not supported with resource ARN",
origErr: err,
resource: resource,
clientPartitionID: clientPartitionID,
clientRegion: clientRegion,
}
}
// NewClientConfiguredForCrossRegionFIPSError denotes client config error for unsupported cross region FIPS request
func NewClientConfiguredForCrossRegionFIPSError(resource arn.Resource, clientPartitionID, clientRegion string, err error) ConfigurationError {
return ConfigurationError{
message: "client configured for FIPS with cross-region enabled but is supported with cross-region resource ARN",
origErr: err,
resource: resource,
clientPartitionID: clientPartitionID,
clientRegion: clientRegion,
}
}
// NewClientConfiguredForDualStackError denotes client config error for unsupported S3 Dual-stack
func NewClientConfiguredForDualStackError(resource arn.Resource, clientPartitionID, clientRegion string, err error) ConfigurationError {
return ConfigurationError{
message: "client configured for S3 Dual-stack but is not supported with resource ARN",
origErr: err,
resource: resource,
clientPartitionID: clientPartitionID,
clientRegion: clientRegion,
}
}

View File

@ -0,0 +1,62 @@
package s3shared
import (
"strings"
"github.com/aws/aws-sdk-go/aws"
awsarn "github.com/aws/aws-sdk-go/aws/arn"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/internal/s3shared/arn"
)
// ResourceRequest represents the request and arn resource
type ResourceRequest struct {
Resource arn.Resource
Request *request.Request
}
// ARN returns the resource ARN
func (r ResourceRequest) ARN() awsarn.ARN {
return r.Resource.GetARN()
}
// AllowCrossRegion returns a bool value to denote if S3UseARNRegion flag is set
func (r ResourceRequest) AllowCrossRegion() bool {
return aws.BoolValue(r.Request.Config.S3UseARNRegion)
}
// UseFIPS returns true if request config region is FIPS
func (r ResourceRequest) UseFIPS() bool {
return IsFIPS(aws.StringValue(r.Request.Config.Region))
}
// ResourceConfiguredForFIPS returns true if resource ARNs region is FIPS
func (r ResourceRequest) ResourceConfiguredForFIPS() bool {
return IsFIPS(r.ARN().Region)
}
// IsCrossPartition returns true if client is configured for another partition, than
// the partition that resource ARN region resolves to.
func (r ResourceRequest) IsCrossPartition() bool {
return r.Request.ClientInfo.PartitionID != r.Resource.GetARN().Partition
}
// IsCrossRegion returns true if ARN region is different than client configured region
func (r ResourceRequest) IsCrossRegion() bool {
return IsCrossRegion(r.Request, r.Resource.GetARN().Region)
}
// HasCustomEndpoint returns true if custom client endpoint is provided
func (r ResourceRequest) HasCustomEndpoint() bool {
return len(aws.StringValue(r.Request.Config.Endpoint)) > 0
}
// IsFIPS returns true if region is a fips region
func IsFIPS(clientRegion string) bool {
return strings.HasPrefix(clientRegion, "fips-") || strings.HasSuffix(clientRegion, "-fips")
}
// IsCrossRegion returns true if request signing region is not same as configured region
func IsCrossRegion(req *request.Request, otherRegion string) bool {
return req.ClientInfo.SigningRegion != otherRegion
}

View File

@ -3,8 +3,8 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = ["error.go"],
importmap = "k8s.io/kops/vendor/github.com/aws/aws-sdk-go/internal/s3err",
importpath = "github.com/aws/aws-sdk-go/internal/s3err",
importmap = "k8s.io/kops/vendor/github.com/aws/aws-sdk-go/internal/s3shared/s3err",
importpath = "github.com/aws/aws-sdk-go/internal/s3shared/s3err",
visibility = ["//vendor/github.com/aws/aws-sdk-go:__subpackages__"],
deps = [
"//vendor/github.com/aws/aws-sdk-go/aws/awserr:go_default_library",

View File

@ -6,6 +6,7 @@ import (
"encoding/json"
"fmt"
"io"
"math/big"
"reflect"
"strings"
"time"
@ -15,6 +16,8 @@ import (
"github.com/aws/aws-sdk-go/private/protocol"
)
var millisecondsFloat = new(big.Float).SetInt64(1e3)
// UnmarshalJSONError unmarshal's the reader's JSON document into the passed in
// type. The value to unmarshal the json document into must be a pointer to the
// type.
@ -39,7 +42,9 @@ func UnmarshalJSONError(v interface{}, stream io.Reader) error {
func UnmarshalJSON(v interface{}, stream io.Reader) error {
var out interface{}
err := json.NewDecoder(stream).Decode(&out)
decoder := json.NewDecoder(stream)
decoder.UseNumber()
err := decoder.Decode(&out)
if err == io.EOF {
return nil
} else if err != nil {
@ -54,7 +59,9 @@ func UnmarshalJSON(v interface{}, stream io.Reader) error {
func UnmarshalJSONCaseInsensitive(v interface{}, stream io.Reader) error {
var out interface{}
err := json.NewDecoder(stream).Decode(&out)
decoder := json.NewDecoder(stream)
decoder.UseNumber()
err := decoder.Decode(&out)
if err == io.EOF {
return nil
} else if err != nil {
@ -254,16 +261,31 @@ func (u unmarshaler) unmarshalScalar(value reflect.Value, data interface{}, tag
default:
return fmt.Errorf("unsupported value: %v (%s)", value.Interface(), value.Type())
}
case float64:
case json.Number:
switch value.Interface().(type) {
case *int64:
di := int64(d)
// Retain the old behavior where we would just truncate the float64
// calling d.Int64() here could cause an invalid syntax error due to the usage of strconv.ParseInt
f, err := d.Float64()
if err != nil {
return err
}
di := int64(f)
value.Set(reflect.ValueOf(&di))
case *float64:
value.Set(reflect.ValueOf(&d))
f, err := d.Float64()
if err != nil {
return err
}
value.Set(reflect.ValueOf(&f))
case *time.Time:
// Time unmarshaled from a float64 can only be epoch seconds
t := time.Unix(int64(d), 0).UTC()
float, ok := new(big.Float).SetString(d.String())
if !ok {
return fmt.Errorf("unsupported float time representation: %v", d.String())
}
float = float.Mul(float, millisecondsFloat)
ms, _ := float.Int64()
t := time.Unix(0, ms*1e6).UTC()
value.Set(reflect.ValueOf(&t))
default:
return fmt.Errorf("unsupported value: %v (%s)", value.Interface(), value.Type())

View File

@ -27,8 +27,8 @@ const (
// RFC3339 a subset of the ISO8601 timestamp format. e.g 2014-04-29T18:30:38Z
ISO8601TimeFormat = "2006-01-02T15:04:05.999999999Z"
// This format is used for output time without seconds precision
ISO8601OutputTimeFormat = "2006-01-02T15:04:05Z"
// This format is used for output time with fractional second precision up to milliseconds
ISO8601OutputTimeFormat = "2006-01-02T15:04:05.999999999Z"
)
// IsKnownTimestampFormat returns if the timestamp format name
@ -48,7 +48,7 @@ func IsKnownTimestampFormat(name string) bool {
// FormatTime returns a string value of the time.
func FormatTime(name string, t time.Time) string {
t = t.UTC()
t = t.UTC().Truncate(time.Millisecond)
switch name {
case RFC822TimeFormatName:

View File

@ -733,6 +733,12 @@ func (c *AutoScaling) CreateAutoScalingGroupRequest(input *CreateAutoScalingGrou
// Scaling Groups (https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Every Auto Scaling group has three size parameters (DesiredCapacity, MaxSize,
// and MinSize). Usually, you set these sizes based on a specific number of
// instances. However, if you configure a mixed instances policy that defines
// weights for the instance types, you must specify these sizes with the same
// units that you use for weighting instances.
//
// 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.
@ -6592,8 +6598,8 @@ type CreateAutoScalingGroupInput struct {
// With a mixed instances policy that uses instance weighting, Amazon EC2 Auto
// Scaling may need to go above MaxSize to meet your capacity requirements.
// In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more
// than your maximum instance weight (weights that define how many capacity
// units each instance contributes to the capacity of the group).
// than your largest instance weight (weights that define how many units each
// instance contributes to the desired capacity of the group).
//
// MaxSize is a required field
MaxSize *int64 `type:"integer" required:"true"`
@ -7035,6 +7041,11 @@ type CreateLaunchConfigurationInput struct {
// LaunchConfigurationName is a required field
LaunchConfigurationName *string `min:"1" type:"string" required:"true"`
// The metadata options for the instances. For more information, see Instance
// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
// in the Amazon EC2 User Guide for Linux Instances.
MetadataOptions *InstanceMetadataOptions `type:"structure"`
// The tenancy of the instance. An instance with dedicated tenancy runs on isolated,
// single-tenant hardware and can only be launched into a VPC.
//
@ -7142,6 +7153,11 @@ func (s *CreateLaunchConfigurationInput) Validate() error {
}
}
}
if s.MetadataOptions != nil {
if err := s.MetadataOptions.Validate(); err != nil {
invalidParams.AddNested("MetadataOptions", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
@ -7227,6 +7243,12 @@ func (s *CreateLaunchConfigurationInput) SetLaunchConfigurationName(v string) *C
return s
}
// SetMetadataOptions sets the MetadataOptions field's value.
func (s *CreateLaunchConfigurationInput) SetMetadataOptions(v *InstanceMetadataOptions) *CreateLaunchConfigurationInput {
s.MetadataOptions = v
return s
}
// SetPlacementTenancy sets the PlacementTenancy field's value.
func (s *CreateLaunchConfigurationInput) SetPlacementTenancy(v string) *CreateLaunchConfigurationInput {
s.PlacementTenancy = &v
@ -10826,6 +10848,84 @@ func (s *InstanceDetails) SetWeightedCapacity(v string) *InstanceDetails {
return s
}
// The metadata options for the instances. For more information, see Instance
// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
// in the Amazon EC2 User Guide for Linux Instances.
type InstanceMetadataOptions struct {
_ struct{} `type:"structure"`
// This parameter enables or disables the HTTP metadata endpoint on your instances.
// If the parameter is not specified, the default state is enabled.
//
// If you specify a value of disabled, you will not be able to access your instance
// metadata.
HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"`
// The desired HTTP PUT response hop limit for instance metadata requests. The
// larger the number, the further instance metadata requests can travel.
//
// Default: 1
//
// Possible values: Integers from 1 to 64
HttpPutResponseHopLimit *int64 `min:"1" type:"integer"`
// The state of token usage for your instance metadata requests. If the parameter
// is not specified in the request, the default state is optional.
//
// If the state is optional, you can choose to retrieve instance metadata with
// or without a signed token header on your request. If you retrieve the IAM
// role credentials without a token, the version 1.0 role credentials are returned.
// If you retrieve the IAM role credentials using a valid signed token, the
// version 2.0 role credentials are returned.
//
// If the state is required, you must send a signed token header with any instance
// metadata retrieval requests. In this state, retrieving the IAM role credentials
// always returns the version 2.0 credentials; the version 1.0 credentials are
// not available.
HttpTokens *string `type:"string" enum:"InstanceMetadataHttpTokensState"`
}
// String returns the string representation
func (s InstanceMetadataOptions) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s InstanceMetadataOptions) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *InstanceMetadataOptions) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "InstanceMetadataOptions"}
if s.HttpPutResponseHopLimit != nil && *s.HttpPutResponseHopLimit < 1 {
invalidParams.Add(request.NewErrParamMinValue("HttpPutResponseHopLimit", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetHttpEndpoint sets the HttpEndpoint field's value.
func (s *InstanceMetadataOptions) SetHttpEndpoint(v string) *InstanceMetadataOptions {
s.HttpEndpoint = &v
return s
}
// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
func (s *InstanceMetadataOptions) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptions {
s.HttpPutResponseHopLimit = &v
return s
}
// SetHttpTokens sets the HttpTokens field's value.
func (s *InstanceMetadataOptions) SetHttpTokens(v string) *InstanceMetadataOptions {
s.HttpTokens = &v
return s
}
// Describes whether detailed monitoring is enabled for the Auto Scaling instances.
type InstanceMonitoring struct {
_ struct{} `type:"structure"`
@ -11188,6 +11288,11 @@ type LaunchConfiguration struct {
// LaunchConfigurationName is a required field
LaunchConfigurationName *string `min:"1" type:"string" required:"true"`
// The metadata options for the instances. For more information, see Instance
// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
// in the Amazon EC2 User Guide for Linux Instances.
MetadataOptions *InstanceMetadataOptions `type:"structure"`
// The tenancy of the instance, either default or dedicated. An instance with
// dedicated tenancy runs on isolated, single-tenant hardware and can only be
// launched into a VPC.
@ -11316,6 +11421,12 @@ func (s *LaunchConfiguration) SetLaunchConfigurationName(v string) *LaunchConfig
return s
}
// SetMetadataOptions sets the MetadataOptions field's value.
func (s *LaunchConfiguration) SetMetadataOptions(v *InstanceMetadataOptions) *LaunchConfiguration {
s.MetadataOptions = v
return s
}
// SetPlacementTenancy sets the PlacementTenancy field's value.
func (s *LaunchConfiguration) SetPlacementTenancy(v string) *LaunchConfiguration {
s.PlacementTenancy = &v
@ -11973,6 +12084,16 @@ type MetricCollectionType struct {
// * GroupTerminatingInstances
//
// * GroupTotalInstances
//
// * GroupInServiceCapacity
//
// * GroupPendingCapacity
//
// * GroupStandbyCapacity
//
// * GroupTerminatingCapacity
//
// * GroupTotalCapacity
Metric *string `min:"1" type:"string"`
}
@ -12572,9 +12693,9 @@ func (s PutNotificationConfigurationOutput) GoString() string {
type PutScalingPolicyInput struct {
_ struct{} `type:"structure"`
// Specifies how the scaling adjustment is interpreted (either an absolute number
// or a percentage). The valid values are ChangeInCapacity, ExactCapacity, and
// PercentChangeInCapacity.
// Specifies how the scaling adjustment is interpreted (for example, an absolute
// number or a percentage). The valid values are ChangeInCapacity, ExactCapacity,
// and PercentChangeInCapacity.
//
// Required if the policy type is StepScaling or SimpleScaling. For more information,
// see Scaling Adjustment Types (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-adjustment)
@ -13163,9 +13284,9 @@ func (s ResumeProcessesOutput) GoString() string {
type ScalingPolicy struct {
_ struct{} `type:"structure"`
// Specifies how the scaling adjustment is interpreted (either an absolute number
// or a percentage). The valid values are ChangeInCapacity, ExactCapacity, and
// PercentChangeInCapacity.
// Specifies how the scaling adjustment is interpreted (for example, an absolute
// number or a percentage). The valid values are ChangeInCapacity, ExactCapacity,
// and PercentChangeInCapacity.
AdjustmentType *string `min:"1" type:"string"`
// The CloudWatch alarms related to the policy.
@ -14500,8 +14621,8 @@ type UpdateAutoScalingGroupInput struct {
// With a mixed instances policy that uses instance weighting, Amazon EC2 Auto
// Scaling may need to go above MaxSize to meet your capacity requirements.
// In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more
// than your maximum instance weight (weights that define how many capacity
// units each instance contributes to the capacity of the group).
// than your largest instance weight (weights that define how many units each
// instance contributes to the desired capacity of the group).
MaxSize *int64 `type:"integer"`
// The minimum size of the Auto Scaling group.
@ -14725,6 +14846,38 @@ func (s UpdateAutoScalingGroupOutput) GoString() string {
return s.String()
}
const (
// InstanceMetadataEndpointStateDisabled is a InstanceMetadataEndpointState enum value
InstanceMetadataEndpointStateDisabled = "disabled"
// InstanceMetadataEndpointStateEnabled is a InstanceMetadataEndpointState enum value
InstanceMetadataEndpointStateEnabled = "enabled"
)
// InstanceMetadataEndpointState_Values returns all elements of the InstanceMetadataEndpointState enum
func InstanceMetadataEndpointState_Values() []string {
return []string{
InstanceMetadataEndpointStateDisabled,
InstanceMetadataEndpointStateEnabled,
}
}
const (
// InstanceMetadataHttpTokensStateOptional is a InstanceMetadataHttpTokensState enum value
InstanceMetadataHttpTokensStateOptional = "optional"
// InstanceMetadataHttpTokensStateRequired is a InstanceMetadataHttpTokensState enum value
InstanceMetadataHttpTokensStateRequired = "required"
)
// InstanceMetadataHttpTokensState_Values returns all elements of the InstanceMetadataHttpTokensState enum
func InstanceMetadataHttpTokensState_Values() []string {
return []string{
InstanceMetadataHttpTokensStateOptional,
InstanceMetadataHttpTokensStateRequired,
}
}
const (
// InstanceRefreshStatusPending is a InstanceRefreshStatus enum value
InstanceRefreshStatusPending = "Pending"
@ -14745,6 +14898,18 @@ const (
InstanceRefreshStatusCancelled = "Cancelled"
)
// InstanceRefreshStatus_Values returns all elements of the InstanceRefreshStatus enum
func InstanceRefreshStatus_Values() []string {
return []string{
InstanceRefreshStatusPending,
InstanceRefreshStatusInProgress,
InstanceRefreshStatusSuccessful,
InstanceRefreshStatusFailed,
InstanceRefreshStatusCancelling,
InstanceRefreshStatusCancelled,
}
}
const (
// LifecycleStatePending is a LifecycleState enum value
LifecycleStatePending = "Pending"
@ -14786,6 +14951,25 @@ const (
LifecycleStateStandby = "Standby"
)
// LifecycleState_Values returns all elements of the LifecycleState enum
func LifecycleState_Values() []string {
return []string{
LifecycleStatePending,
LifecycleStatePendingWait,
LifecycleStatePendingProceed,
LifecycleStateQuarantined,
LifecycleStateInService,
LifecycleStateTerminating,
LifecycleStateTerminatingWait,
LifecycleStateTerminatingProceed,
LifecycleStateTerminated,
LifecycleStateDetaching,
LifecycleStateDetached,
LifecycleStateEnteringStandby,
LifecycleStateStandby,
}
}
const (
// MetricStatisticAverage is a MetricStatistic enum value
MetricStatisticAverage = "Average"
@ -14803,6 +14987,17 @@ const (
MetricStatisticSum = "Sum"
)
// MetricStatistic_Values returns all elements of the MetricStatistic enum
func MetricStatistic_Values() []string {
return []string{
MetricStatisticAverage,
MetricStatisticMinimum,
MetricStatisticMaximum,
MetricStatisticSampleCount,
MetricStatisticSum,
}
}
const (
// MetricTypeAsgaverageCpuutilization is a MetricType enum value
MetricTypeAsgaverageCpuutilization = "ASGAverageCPUUtilization"
@ -14817,11 +15012,28 @@ const (
MetricTypeAlbrequestCountPerTarget = "ALBRequestCountPerTarget"
)
// MetricType_Values returns all elements of the MetricType enum
func MetricType_Values() []string {
return []string{
MetricTypeAsgaverageCpuutilization,
MetricTypeAsgaverageNetworkIn,
MetricTypeAsgaverageNetworkOut,
MetricTypeAlbrequestCountPerTarget,
}
}
const (
// RefreshStrategyRolling is a RefreshStrategy enum value
RefreshStrategyRolling = "Rolling"
)
// RefreshStrategy_Values returns all elements of the RefreshStrategy enum
func RefreshStrategy_Values() []string {
return []string{
RefreshStrategyRolling,
}
}
const (
// ScalingActivityStatusCodePendingSpotBidPlacement is a ScalingActivityStatusCode enum value
ScalingActivityStatusCodePendingSpotBidPlacement = "PendingSpotBidPlacement"
@ -14859,3 +15071,21 @@ const (
// ScalingActivityStatusCodeCancelled is a ScalingActivityStatusCode enum value
ScalingActivityStatusCodeCancelled = "Cancelled"
)
// ScalingActivityStatusCode_Values returns all elements of the ScalingActivityStatusCode enum
func ScalingActivityStatusCode_Values() []string {
return []string{
ScalingActivityStatusCodePendingSpotBidPlacement,
ScalingActivityStatusCodeWaitingForSpotInstanceRequestId,
ScalingActivityStatusCodeWaitingForSpotInstanceId,
ScalingActivityStatusCodeWaitingForInstanceId,
ScalingActivityStatusCodePreInService,
ScalingActivityStatusCodeInProgress,
ScalingActivityStatusCodeWaitingForElbconnectionDraining,
ScalingActivityStatusCodeMidLifecycleAction,
ScalingActivityStatusCodeWaitingForInstanceWarmup,
ScalingActivityStatusCodeSuccessful,
ScalingActivityStatusCodeFailed,
ScalingActivityStatusCodeCancelled,
}
}

View File

@ -17154,6 +17154,15 @@ const (
AccountGateStatusSkipped = "SKIPPED"
)
// AccountGateStatus_Values returns all elements of the AccountGateStatus enum
func AccountGateStatus_Values() []string {
return []string{
AccountGateStatusSucceeded,
AccountGateStatusFailed,
AccountGateStatusSkipped,
}
}
const (
// CapabilityCapabilityIam is a Capability enum value
CapabilityCapabilityIam = "CAPABILITY_IAM"
@ -17165,6 +17174,15 @@ const (
CapabilityCapabilityAutoExpand = "CAPABILITY_AUTO_EXPAND"
)
// Capability_Values returns all elements of the Capability enum
func Capability_Values() []string {
return []string{
CapabilityCapabilityIam,
CapabilityCapabilityNamedIam,
CapabilityCapabilityAutoExpand,
}
}
const (
// ChangeActionAdd is a ChangeAction enum value
ChangeActionAdd = "Add"
@ -17179,6 +17197,16 @@ const (
ChangeActionImport = "Import"
)
// ChangeAction_Values returns all elements of the ChangeAction enum
func ChangeAction_Values() []string {
return []string{
ChangeActionAdd,
ChangeActionModify,
ChangeActionRemove,
ChangeActionImport,
}
}
const (
// ChangeSetStatusCreatePending is a ChangeSetStatus enum value
ChangeSetStatusCreatePending = "CREATE_PENDING"
@ -17196,6 +17224,17 @@ const (
ChangeSetStatusFailed = "FAILED"
)
// ChangeSetStatus_Values returns all elements of the ChangeSetStatus enum
func ChangeSetStatus_Values() []string {
return []string{
ChangeSetStatusCreatePending,
ChangeSetStatusCreateInProgress,
ChangeSetStatusCreateComplete,
ChangeSetStatusDeleteComplete,
ChangeSetStatusFailed,
}
}
const (
// ChangeSetTypeCreate is a ChangeSetType enum value
ChangeSetTypeCreate = "CREATE"
@ -17207,6 +17246,15 @@ const (
ChangeSetTypeImport = "IMPORT"
)
// ChangeSetType_Values returns all elements of the ChangeSetType enum
func ChangeSetType_Values() []string {
return []string{
ChangeSetTypeCreate,
ChangeSetTypeUpdate,
ChangeSetTypeImport,
}
}
const (
// ChangeSourceResourceReference is a ChangeSource enum value
ChangeSourceResourceReference = "ResourceReference"
@ -17224,11 +17272,29 @@ const (
ChangeSourceAutomatic = "Automatic"
)
// ChangeSource_Values returns all elements of the ChangeSource enum
func ChangeSource_Values() []string {
return []string{
ChangeSourceResourceReference,
ChangeSourceParameterReference,
ChangeSourceResourceAttribute,
ChangeSourceDirectModification,
ChangeSourceAutomatic,
}
}
const (
// ChangeTypeResource is a ChangeType enum value
ChangeTypeResource = "Resource"
)
// ChangeType_Values returns all elements of the ChangeType enum
func ChangeType_Values() []string {
return []string{
ChangeTypeResource,
}
}
const (
// DeprecatedStatusLive is a DeprecatedStatus enum value
DeprecatedStatusLive = "LIVE"
@ -17237,6 +17303,14 @@ const (
DeprecatedStatusDeprecated = "DEPRECATED"
)
// DeprecatedStatus_Values returns all elements of the DeprecatedStatus enum
func DeprecatedStatus_Values() []string {
return []string{
DeprecatedStatusLive,
DeprecatedStatusDeprecated,
}
}
const (
// DifferenceTypeAdd is a DifferenceType enum value
DifferenceTypeAdd = "ADD"
@ -17248,6 +17322,15 @@ const (
DifferenceTypeNotEqual = "NOT_EQUAL"
)
// DifferenceType_Values returns all elements of the DifferenceType enum
func DifferenceType_Values() []string {
return []string{
DifferenceTypeAdd,
DifferenceTypeRemove,
DifferenceTypeNotEqual,
}
}
const (
// EvaluationTypeStatic is a EvaluationType enum value
EvaluationTypeStatic = "Static"
@ -17256,6 +17339,14 @@ const (
EvaluationTypeDynamic = "Dynamic"
)
// EvaluationType_Values returns all elements of the EvaluationType enum
func EvaluationType_Values() []string {
return []string{
EvaluationTypeStatic,
EvaluationTypeDynamic,
}
}
const (
// ExecutionStatusUnavailable is a ExecutionStatus enum value
ExecutionStatusUnavailable = "UNAVAILABLE"
@ -17276,6 +17367,18 @@ const (
ExecutionStatusObsolete = "OBSOLETE"
)
// ExecutionStatus_Values returns all elements of the ExecutionStatus enum
func ExecutionStatus_Values() []string {
return []string{
ExecutionStatusUnavailable,
ExecutionStatusAvailable,
ExecutionStatusExecuteInProgress,
ExecutionStatusExecuteComplete,
ExecutionStatusExecuteFailed,
ExecutionStatusObsolete,
}
}
const (
// HandlerErrorCodeNotUpdatable is a HandlerErrorCode enum value
HandlerErrorCodeNotUpdatable = "NotUpdatable"
@ -17320,6 +17423,26 @@ const (
HandlerErrorCodeInternalFailure = "InternalFailure"
)
// HandlerErrorCode_Values returns all elements of the HandlerErrorCode enum
func HandlerErrorCode_Values() []string {
return []string{
HandlerErrorCodeNotUpdatable,
HandlerErrorCodeInvalidRequest,
HandlerErrorCodeAccessDenied,
HandlerErrorCodeInvalidCredentials,
HandlerErrorCodeAlreadyExists,
HandlerErrorCodeNotFound,
HandlerErrorCodeResourceConflict,
HandlerErrorCodeThrottling,
HandlerErrorCodeServiceLimitExceeded,
HandlerErrorCodeNotStabilized,
HandlerErrorCodeGeneralServiceException,
HandlerErrorCodeServiceInternalError,
HandlerErrorCodeNetworkFailure,
HandlerErrorCodeInternalFailure,
}
}
const (
// OnFailureDoNothing is a OnFailure enum value
OnFailureDoNothing = "DO_NOTHING"
@ -17331,6 +17454,15 @@ const (
OnFailureDelete = "DELETE"
)
// OnFailure_Values returns all elements of the OnFailure enum
func OnFailure_Values() []string {
return []string{
OnFailureDoNothing,
OnFailureRollback,
OnFailureDelete,
}
}
const (
// OperationStatusPending is a OperationStatus enum value
OperationStatusPending = "PENDING"
@ -17345,6 +17477,16 @@ const (
OperationStatusFailed = "FAILED"
)
// OperationStatus_Values returns all elements of the OperationStatus enum
func OperationStatus_Values() []string {
return []string{
OperationStatusPending,
OperationStatusInProgress,
OperationStatusSuccess,
OperationStatusFailed,
}
}
const (
// PermissionModelsServiceManaged is a PermissionModels enum value
PermissionModelsServiceManaged = "SERVICE_MANAGED"
@ -17353,6 +17495,14 @@ const (
PermissionModelsSelfManaged = "SELF_MANAGED"
)
// PermissionModels_Values returns all elements of the PermissionModels enum
func PermissionModels_Values() []string {
return []string{
PermissionModelsServiceManaged,
PermissionModelsSelfManaged,
}
}
const (
// ProvisioningTypeNonProvisionable is a ProvisioningType enum value
ProvisioningTypeNonProvisionable = "NON_PROVISIONABLE"
@ -17364,6 +17514,15 @@ const (
ProvisioningTypeFullyMutable = "FULLY_MUTABLE"
)
// ProvisioningType_Values returns all elements of the ProvisioningType enum
func ProvisioningType_Values() []string {
return []string{
ProvisioningTypeNonProvisionable,
ProvisioningTypeImmutable,
ProvisioningTypeFullyMutable,
}
}
const (
// RegistrationStatusComplete is a RegistrationStatus enum value
RegistrationStatusComplete = "COMPLETE"
@ -17375,11 +17534,27 @@ const (
RegistrationStatusFailed = "FAILED"
)
// RegistrationStatus_Values returns all elements of the RegistrationStatus enum
func RegistrationStatus_Values() []string {
return []string{
RegistrationStatusComplete,
RegistrationStatusInProgress,
RegistrationStatusFailed,
}
}
const (
// RegistryTypeResource is a RegistryType enum value
RegistryTypeResource = "RESOURCE"
)
// RegistryType_Values returns all elements of the RegistryType enum
func RegistryType_Values() []string {
return []string{
RegistryTypeResource,
}
}
const (
// ReplacementTrue is a Replacement enum value
ReplacementTrue = "True"
@ -17391,6 +17566,15 @@ const (
ReplacementConditional = "Conditional"
)
// Replacement_Values returns all elements of the Replacement enum
func Replacement_Values() []string {
return []string{
ReplacementTrue,
ReplacementFalse,
ReplacementConditional,
}
}
const (
// RequiresRecreationNever is a RequiresRecreation enum value
RequiresRecreationNever = "Never"
@ -17402,6 +17586,15 @@ const (
RequiresRecreationAlways = "Always"
)
// RequiresRecreation_Values returns all elements of the RequiresRecreation enum
func RequiresRecreation_Values() []string {
return []string{
RequiresRecreationNever,
RequiresRecreationConditionally,
RequiresRecreationAlways,
}
}
const (
// ResourceAttributeProperties is a ResourceAttribute enum value
ResourceAttributeProperties = "Properties"
@ -17422,6 +17615,18 @@ const (
ResourceAttributeTags = "Tags"
)
// ResourceAttribute_Values returns all elements of the ResourceAttribute enum
func ResourceAttribute_Values() []string {
return []string{
ResourceAttributeProperties,
ResourceAttributeMetadata,
ResourceAttributeCreationPolicy,
ResourceAttributeUpdatePolicy,
ResourceAttributeDeletionPolicy,
ResourceAttributeTags,
}
}
const (
// ResourceSignalStatusSuccess is a ResourceSignalStatus enum value
ResourceSignalStatusSuccess = "SUCCESS"
@ -17430,6 +17635,14 @@ const (
ResourceSignalStatusFailure = "FAILURE"
)
// ResourceSignalStatus_Values returns all elements of the ResourceSignalStatus enum
func ResourceSignalStatus_Values() []string {
return []string{
ResourceSignalStatusSuccess,
ResourceSignalStatusFailure,
}
}
const (
// ResourceStatusCreateInProgress is a ResourceStatus enum value
ResourceStatusCreateInProgress = "CREATE_IN_PROGRESS"
@ -17480,6 +17693,28 @@ const (
ResourceStatusImportRollbackComplete = "IMPORT_ROLLBACK_COMPLETE"
)
// ResourceStatus_Values returns all elements of the ResourceStatus enum
func ResourceStatus_Values() []string {
return []string{
ResourceStatusCreateInProgress,
ResourceStatusCreateFailed,
ResourceStatusCreateComplete,
ResourceStatusDeleteInProgress,
ResourceStatusDeleteFailed,
ResourceStatusDeleteComplete,
ResourceStatusDeleteSkipped,
ResourceStatusUpdateInProgress,
ResourceStatusUpdateFailed,
ResourceStatusUpdateComplete,
ResourceStatusImportFailed,
ResourceStatusImportComplete,
ResourceStatusImportInProgress,
ResourceStatusImportRollbackInProgress,
ResourceStatusImportRollbackFailed,
ResourceStatusImportRollbackComplete,
}
}
const (
// StackDriftDetectionStatusDetectionInProgress is a StackDriftDetectionStatus enum value
StackDriftDetectionStatusDetectionInProgress = "DETECTION_IN_PROGRESS"
@ -17491,6 +17726,15 @@ const (
StackDriftDetectionStatusDetectionComplete = "DETECTION_COMPLETE"
)
// StackDriftDetectionStatus_Values returns all elements of the StackDriftDetectionStatus enum
func StackDriftDetectionStatus_Values() []string {
return []string{
StackDriftDetectionStatusDetectionInProgress,
StackDriftDetectionStatusDetectionFailed,
StackDriftDetectionStatusDetectionComplete,
}
}
const (
// StackDriftStatusDrifted is a StackDriftStatus enum value
StackDriftStatusDrifted = "DRIFTED"
@ -17505,6 +17749,16 @@ const (
StackDriftStatusNotChecked = "NOT_CHECKED"
)
// StackDriftStatus_Values returns all elements of the StackDriftStatus enum
func StackDriftStatus_Values() []string {
return []string{
StackDriftStatusDrifted,
StackDriftStatusInSync,
StackDriftStatusUnknown,
StackDriftStatusNotChecked,
}
}
const (
// StackInstanceDetailedStatusPending is a StackInstanceDetailedStatus enum value
StackInstanceDetailedStatusPending = "PENDING"
@ -17525,11 +17779,30 @@ const (
StackInstanceDetailedStatusInoperable = "INOPERABLE"
)
// StackInstanceDetailedStatus_Values returns all elements of the StackInstanceDetailedStatus enum
func StackInstanceDetailedStatus_Values() []string {
return []string{
StackInstanceDetailedStatusPending,
StackInstanceDetailedStatusRunning,
StackInstanceDetailedStatusSucceeded,
StackInstanceDetailedStatusFailed,
StackInstanceDetailedStatusCancelled,
StackInstanceDetailedStatusInoperable,
}
}
const (
// StackInstanceFilterNameDetailedStatus is a StackInstanceFilterName enum value
StackInstanceFilterNameDetailedStatus = "DETAILED_STATUS"
)
// StackInstanceFilterName_Values returns all elements of the StackInstanceFilterName enum
func StackInstanceFilterName_Values() []string {
return []string{
StackInstanceFilterNameDetailedStatus,
}
}
const (
// StackInstanceStatusCurrent is a StackInstanceStatus enum value
StackInstanceStatusCurrent = "CURRENT"
@ -17541,6 +17814,15 @@ const (
StackInstanceStatusInoperable = "INOPERABLE"
)
// StackInstanceStatus_Values returns all elements of the StackInstanceStatus enum
func StackInstanceStatus_Values() []string {
return []string{
StackInstanceStatusCurrent,
StackInstanceStatusOutdated,
StackInstanceStatusInoperable,
}
}
const (
// StackResourceDriftStatusInSync is a StackResourceDriftStatus enum value
StackResourceDriftStatusInSync = "IN_SYNC"
@ -17555,6 +17837,16 @@ const (
StackResourceDriftStatusNotChecked = "NOT_CHECKED"
)
// StackResourceDriftStatus_Values returns all elements of the StackResourceDriftStatus enum
func StackResourceDriftStatus_Values() []string {
return []string{
StackResourceDriftStatusInSync,
StackResourceDriftStatusModified,
StackResourceDriftStatusDeleted,
StackResourceDriftStatusNotChecked,
}
}
const (
// StackSetDriftDetectionStatusCompleted is a StackSetDriftDetectionStatus enum value
StackSetDriftDetectionStatusCompleted = "COMPLETED"
@ -17572,6 +17864,17 @@ const (
StackSetDriftDetectionStatusStopped = "STOPPED"
)
// StackSetDriftDetectionStatus_Values returns all elements of the StackSetDriftDetectionStatus enum
func StackSetDriftDetectionStatus_Values() []string {
return []string{
StackSetDriftDetectionStatusCompleted,
StackSetDriftDetectionStatusFailed,
StackSetDriftDetectionStatusPartialSuccess,
StackSetDriftDetectionStatusInProgress,
StackSetDriftDetectionStatusStopped,
}
}
const (
// StackSetDriftStatusDrifted is a StackSetDriftStatus enum value
StackSetDriftStatusDrifted = "DRIFTED"
@ -17583,6 +17886,15 @@ const (
StackSetDriftStatusNotChecked = "NOT_CHECKED"
)
// StackSetDriftStatus_Values returns all elements of the StackSetDriftStatus enum
func StackSetDriftStatus_Values() []string {
return []string{
StackSetDriftStatusDrifted,
StackSetDriftStatusInSync,
StackSetDriftStatusNotChecked,
}
}
const (
// StackSetOperationActionCreate is a StackSetOperationAction enum value
StackSetOperationActionCreate = "CREATE"
@ -17597,6 +17909,16 @@ const (
StackSetOperationActionDetectDrift = "DETECT_DRIFT"
)
// StackSetOperationAction_Values returns all elements of the StackSetOperationAction enum
func StackSetOperationAction_Values() []string {
return []string{
StackSetOperationActionCreate,
StackSetOperationActionUpdate,
StackSetOperationActionDelete,
StackSetOperationActionDetectDrift,
}
}
const (
// StackSetOperationResultStatusPending is a StackSetOperationResultStatus enum value
StackSetOperationResultStatusPending = "PENDING"
@ -17614,6 +17936,17 @@ const (
StackSetOperationResultStatusCancelled = "CANCELLED"
)
// StackSetOperationResultStatus_Values returns all elements of the StackSetOperationResultStatus enum
func StackSetOperationResultStatus_Values() []string {
return []string{
StackSetOperationResultStatusPending,
StackSetOperationResultStatusRunning,
StackSetOperationResultStatusSucceeded,
StackSetOperationResultStatusFailed,
StackSetOperationResultStatusCancelled,
}
}
const (
// StackSetOperationStatusRunning is a StackSetOperationStatus enum value
StackSetOperationStatusRunning = "RUNNING"
@ -17634,6 +17967,18 @@ const (
StackSetOperationStatusQueued = "QUEUED"
)
// StackSetOperationStatus_Values returns all elements of the StackSetOperationStatus enum
func StackSetOperationStatus_Values() []string {
return []string{
StackSetOperationStatusRunning,
StackSetOperationStatusSucceeded,
StackSetOperationStatusFailed,
StackSetOperationStatusStopping,
StackSetOperationStatusStopped,
StackSetOperationStatusQueued,
}
}
const (
// StackSetStatusActive is a StackSetStatus enum value
StackSetStatusActive = "ACTIVE"
@ -17642,6 +17987,14 @@ const (
StackSetStatusDeleted = "DELETED"
)
// StackSetStatus_Values returns all elements of the StackSetStatus enum
func StackSetStatus_Values() []string {
return []string{
StackSetStatusActive,
StackSetStatusDeleted,
}
}
const (
// StackStatusCreateInProgress is a StackStatus enum value
StackStatusCreateInProgress = "CREATE_IN_PROGRESS"
@ -17710,6 +18063,34 @@ const (
StackStatusImportRollbackComplete = "IMPORT_ROLLBACK_COMPLETE"
)
// StackStatus_Values returns all elements of the StackStatus enum
func StackStatus_Values() []string {
return []string{
StackStatusCreateInProgress,
StackStatusCreateFailed,
StackStatusCreateComplete,
StackStatusRollbackInProgress,
StackStatusRollbackFailed,
StackStatusRollbackComplete,
StackStatusDeleteInProgress,
StackStatusDeleteFailed,
StackStatusDeleteComplete,
StackStatusUpdateInProgress,
StackStatusUpdateCompleteCleanupInProgress,
StackStatusUpdateComplete,
StackStatusUpdateRollbackInProgress,
StackStatusUpdateRollbackFailed,
StackStatusUpdateRollbackCompleteCleanupInProgress,
StackStatusUpdateRollbackComplete,
StackStatusReviewInProgress,
StackStatusImportInProgress,
StackStatusImportComplete,
StackStatusImportRollbackInProgress,
StackStatusImportRollbackFailed,
StackStatusImportRollbackComplete,
}
}
const (
// TemplateStageOriginal is a TemplateStage enum value
TemplateStageOriginal = "Original"
@ -17718,6 +18099,14 @@ const (
TemplateStageProcessed = "Processed"
)
// TemplateStage_Values returns all elements of the TemplateStage enum
func TemplateStage_Values() []string {
return []string{
TemplateStageOriginal,
TemplateStageProcessed,
}
}
const (
// VisibilityPublic is a Visibility enum value
VisibilityPublic = "PUBLIC"
@ -17725,3 +18114,11 @@ const (
// VisibilityPrivate is a Visibility enum value
VisibilityPrivate = "PRIVATE"
)
// Visibility_Values returns all elements of the Visibility enum
func Visibility_Values() []string {
return []string{
VisibilityPublic,
VisibilityPrivate,
}
}

File diff suppressed because it is too large Load Diff

View File

@ -26,8 +26,12 @@ func init() {
// only set the retryer on request if config doesn't have a retryer
if r.Config.Retryer == nil && (r.Operation.Name == opModifyNetworkInterfaceAttribute || r.Operation.Name == opAssignPrivateIpAddresses) {
maxRetries := client.DefaultRetryerMaxNumRetries
if m := r.Config.MaxRetries; m != nil && *m != aws.UseServiceDefaultRetries {
maxRetries = *m
}
r.Retryer = client.DefaultRetryer{
NumMaxRetries: client.DefaultRetryerMaxNumRetries,
NumMaxRetries: maxRetries,
MinRetryDelay: customRetryerMinRetryDelay,
MinThrottleDelay: customRetryerMinRetryDelay,
MaxRetryDelay: customRetryerMaxRetryDelay,

View File

@ -228,6 +228,10 @@ type EC2API interface {
CreateCapacityReservationWithContext(aws.Context, *ec2.CreateCapacityReservationInput, ...request.Option) (*ec2.CreateCapacityReservationOutput, error)
CreateCapacityReservationRequest(*ec2.CreateCapacityReservationInput) (*request.Request, *ec2.CreateCapacityReservationOutput)
CreateCarrierGateway(*ec2.CreateCarrierGatewayInput) (*ec2.CreateCarrierGatewayOutput, error)
CreateCarrierGatewayWithContext(aws.Context, *ec2.CreateCarrierGatewayInput, ...request.Option) (*ec2.CreateCarrierGatewayOutput, error)
CreateCarrierGatewayRequest(*ec2.CreateCarrierGatewayInput) (*request.Request, *ec2.CreateCarrierGatewayOutput)
CreateClientVpnEndpoint(*ec2.CreateClientVpnEndpointInput) (*ec2.CreateClientVpnEndpointOutput, error)
CreateClientVpnEndpointWithContext(aws.Context, *ec2.CreateClientVpnEndpointInput, ...request.Option) (*ec2.CreateClientVpnEndpointOutput, error)
CreateClientVpnEndpointRequest(*ec2.CreateClientVpnEndpointInput) (*request.Request, *ec2.CreateClientVpnEndpointOutput)
@ -392,6 +396,10 @@ type EC2API interface {
CreateTransitGatewayPeeringAttachmentWithContext(aws.Context, *ec2.CreateTransitGatewayPeeringAttachmentInput, ...request.Option) (*ec2.CreateTransitGatewayPeeringAttachmentOutput, error)
CreateTransitGatewayPeeringAttachmentRequest(*ec2.CreateTransitGatewayPeeringAttachmentInput) (*request.Request, *ec2.CreateTransitGatewayPeeringAttachmentOutput)
CreateTransitGatewayPrefixListReference(*ec2.CreateTransitGatewayPrefixListReferenceInput) (*ec2.CreateTransitGatewayPrefixListReferenceOutput, error)
CreateTransitGatewayPrefixListReferenceWithContext(aws.Context, *ec2.CreateTransitGatewayPrefixListReferenceInput, ...request.Option) (*ec2.CreateTransitGatewayPrefixListReferenceOutput, error)
CreateTransitGatewayPrefixListReferenceRequest(*ec2.CreateTransitGatewayPrefixListReferenceInput) (*request.Request, *ec2.CreateTransitGatewayPrefixListReferenceOutput)
CreateTransitGatewayRoute(*ec2.CreateTransitGatewayRouteInput) (*ec2.CreateTransitGatewayRouteOutput, error)
CreateTransitGatewayRouteWithContext(aws.Context, *ec2.CreateTransitGatewayRouteInput, ...request.Option) (*ec2.CreateTransitGatewayRouteOutput, error)
CreateTransitGatewayRouteRequest(*ec2.CreateTransitGatewayRouteInput) (*request.Request, *ec2.CreateTransitGatewayRouteOutput)
@ -440,6 +448,10 @@ type EC2API interface {
CreateVpnGatewayWithContext(aws.Context, *ec2.CreateVpnGatewayInput, ...request.Option) (*ec2.CreateVpnGatewayOutput, error)
CreateVpnGatewayRequest(*ec2.CreateVpnGatewayInput) (*request.Request, *ec2.CreateVpnGatewayOutput)
DeleteCarrierGateway(*ec2.DeleteCarrierGatewayInput) (*ec2.DeleteCarrierGatewayOutput, error)
DeleteCarrierGatewayWithContext(aws.Context, *ec2.DeleteCarrierGatewayInput, ...request.Option) (*ec2.DeleteCarrierGatewayOutput, error)
DeleteCarrierGatewayRequest(*ec2.DeleteCarrierGatewayInput) (*request.Request, *ec2.DeleteCarrierGatewayOutput)
DeleteClientVpnEndpoint(*ec2.DeleteClientVpnEndpointInput) (*ec2.DeleteClientVpnEndpointOutput, error)
DeleteClientVpnEndpointWithContext(aws.Context, *ec2.DeleteClientVpnEndpointInput, ...request.Option) (*ec2.DeleteClientVpnEndpointOutput, error)
DeleteClientVpnEndpointRequest(*ec2.DeleteClientVpnEndpointInput) (*request.Request, *ec2.DeleteClientVpnEndpointOutput)
@ -584,6 +596,10 @@ type EC2API interface {
DeleteTransitGatewayPeeringAttachmentWithContext(aws.Context, *ec2.DeleteTransitGatewayPeeringAttachmentInput, ...request.Option) (*ec2.DeleteTransitGatewayPeeringAttachmentOutput, error)
DeleteTransitGatewayPeeringAttachmentRequest(*ec2.DeleteTransitGatewayPeeringAttachmentInput) (*request.Request, *ec2.DeleteTransitGatewayPeeringAttachmentOutput)
DeleteTransitGatewayPrefixListReference(*ec2.DeleteTransitGatewayPrefixListReferenceInput) (*ec2.DeleteTransitGatewayPrefixListReferenceOutput, error)
DeleteTransitGatewayPrefixListReferenceWithContext(aws.Context, *ec2.DeleteTransitGatewayPrefixListReferenceInput, ...request.Option) (*ec2.DeleteTransitGatewayPrefixListReferenceOutput, error)
DeleteTransitGatewayPrefixListReferenceRequest(*ec2.DeleteTransitGatewayPrefixListReferenceInput) (*request.Request, *ec2.DeleteTransitGatewayPrefixListReferenceOutput)
DeleteTransitGatewayRoute(*ec2.DeleteTransitGatewayRouteInput) (*ec2.DeleteTransitGatewayRouteOutput, error)
DeleteTransitGatewayRouteWithContext(aws.Context, *ec2.DeleteTransitGatewayRouteInput, ...request.Option) (*ec2.DeleteTransitGatewayRouteOutput, error)
DeleteTransitGatewayRouteRequest(*ec2.DeleteTransitGatewayRouteInput) (*request.Request, *ec2.DeleteTransitGatewayRouteOutput)
@ -686,6 +702,13 @@ type EC2API interface {
DescribeCapacityReservationsPages(*ec2.DescribeCapacityReservationsInput, func(*ec2.DescribeCapacityReservationsOutput, bool) bool) error
DescribeCapacityReservationsPagesWithContext(aws.Context, *ec2.DescribeCapacityReservationsInput, func(*ec2.DescribeCapacityReservationsOutput, bool) bool, ...request.Option) error
DescribeCarrierGateways(*ec2.DescribeCarrierGatewaysInput) (*ec2.DescribeCarrierGatewaysOutput, error)
DescribeCarrierGatewaysWithContext(aws.Context, *ec2.DescribeCarrierGatewaysInput, ...request.Option) (*ec2.DescribeCarrierGatewaysOutput, error)
DescribeCarrierGatewaysRequest(*ec2.DescribeCarrierGatewaysInput) (*request.Request, *ec2.DescribeCarrierGatewaysOutput)
DescribeCarrierGatewaysPages(*ec2.DescribeCarrierGatewaysInput, func(*ec2.DescribeCarrierGatewaysOutput, bool) bool) error
DescribeCarrierGatewaysPagesWithContext(aws.Context, *ec2.DescribeCarrierGatewaysInput, func(*ec2.DescribeCarrierGatewaysOutput, bool) bool, ...request.Option) error
DescribeClassicLinkInstances(*ec2.DescribeClassicLinkInstancesInput) (*ec2.DescribeClassicLinkInstancesOutput, error)
DescribeClassicLinkInstancesWithContext(aws.Context, *ec2.DescribeClassicLinkInstancesInput, ...request.Option) (*ec2.DescribeClassicLinkInstancesOutput, error)
DescribeClassicLinkInstancesRequest(*ec2.DescribeClassicLinkInstancesInput) (*request.Request, *ec2.DescribeClassicLinkInstancesOutput)
@ -1500,6 +1523,13 @@ type EC2API interface {
GetEbsEncryptionByDefaultWithContext(aws.Context, *ec2.GetEbsEncryptionByDefaultInput, ...request.Option) (*ec2.GetEbsEncryptionByDefaultOutput, error)
GetEbsEncryptionByDefaultRequest(*ec2.GetEbsEncryptionByDefaultInput) (*request.Request, *ec2.GetEbsEncryptionByDefaultOutput)
GetGroupsForCapacityReservation(*ec2.GetGroupsForCapacityReservationInput) (*ec2.GetGroupsForCapacityReservationOutput, error)
GetGroupsForCapacityReservationWithContext(aws.Context, *ec2.GetGroupsForCapacityReservationInput, ...request.Option) (*ec2.GetGroupsForCapacityReservationOutput, error)
GetGroupsForCapacityReservationRequest(*ec2.GetGroupsForCapacityReservationInput) (*request.Request, *ec2.GetGroupsForCapacityReservationOutput)
GetGroupsForCapacityReservationPages(*ec2.GetGroupsForCapacityReservationInput, func(*ec2.GetGroupsForCapacityReservationOutput, bool) bool) error
GetGroupsForCapacityReservationPagesWithContext(aws.Context, *ec2.GetGroupsForCapacityReservationInput, func(*ec2.GetGroupsForCapacityReservationOutput, bool) bool, ...request.Option) error
GetHostReservationPurchasePreview(*ec2.GetHostReservationPurchasePreviewInput) (*ec2.GetHostReservationPurchasePreviewOutput, error)
GetHostReservationPurchasePreviewWithContext(aws.Context, *ec2.GetHostReservationPurchasePreviewInput, ...request.Option) (*ec2.GetHostReservationPurchasePreviewOutput, error)
GetHostReservationPurchasePreviewRequest(*ec2.GetHostReservationPurchasePreviewInput) (*request.Request, *ec2.GetHostReservationPurchasePreviewOutput)
@ -1544,6 +1574,13 @@ type EC2API interface {
GetTransitGatewayMulticastDomainAssociationsPages(*ec2.GetTransitGatewayMulticastDomainAssociationsInput, func(*ec2.GetTransitGatewayMulticastDomainAssociationsOutput, bool) bool) error
GetTransitGatewayMulticastDomainAssociationsPagesWithContext(aws.Context, *ec2.GetTransitGatewayMulticastDomainAssociationsInput, func(*ec2.GetTransitGatewayMulticastDomainAssociationsOutput, bool) bool, ...request.Option) error
GetTransitGatewayPrefixListReferences(*ec2.GetTransitGatewayPrefixListReferencesInput) (*ec2.GetTransitGatewayPrefixListReferencesOutput, error)
GetTransitGatewayPrefixListReferencesWithContext(aws.Context, *ec2.GetTransitGatewayPrefixListReferencesInput, ...request.Option) (*ec2.GetTransitGatewayPrefixListReferencesOutput, error)
GetTransitGatewayPrefixListReferencesRequest(*ec2.GetTransitGatewayPrefixListReferencesInput) (*request.Request, *ec2.GetTransitGatewayPrefixListReferencesOutput)
GetTransitGatewayPrefixListReferencesPages(*ec2.GetTransitGatewayPrefixListReferencesInput, func(*ec2.GetTransitGatewayPrefixListReferencesOutput, bool) bool) error
GetTransitGatewayPrefixListReferencesPagesWithContext(aws.Context, *ec2.GetTransitGatewayPrefixListReferencesInput, func(*ec2.GetTransitGatewayPrefixListReferencesOutput, bool) bool, ...request.Option) error
GetTransitGatewayRouteTableAssociations(*ec2.GetTransitGatewayRouteTableAssociationsInput) (*ec2.GetTransitGatewayRouteTableAssociationsOutput, error)
GetTransitGatewayRouteTableAssociationsWithContext(aws.Context, *ec2.GetTransitGatewayRouteTableAssociationsInput, ...request.Option) (*ec2.GetTransitGatewayRouteTableAssociationsOutput, error)
GetTransitGatewayRouteTableAssociationsRequest(*ec2.GetTransitGatewayRouteTableAssociationsInput) (*request.Request, *ec2.GetTransitGatewayRouteTableAssociationsOutput)
@ -1690,6 +1727,14 @@ type EC2API interface {
ModifyTrafficMirrorSessionWithContext(aws.Context, *ec2.ModifyTrafficMirrorSessionInput, ...request.Option) (*ec2.ModifyTrafficMirrorSessionOutput, error)
ModifyTrafficMirrorSessionRequest(*ec2.ModifyTrafficMirrorSessionInput) (*request.Request, *ec2.ModifyTrafficMirrorSessionOutput)
ModifyTransitGateway(*ec2.ModifyTransitGatewayInput) (*ec2.ModifyTransitGatewayOutput, error)
ModifyTransitGatewayWithContext(aws.Context, *ec2.ModifyTransitGatewayInput, ...request.Option) (*ec2.ModifyTransitGatewayOutput, error)
ModifyTransitGatewayRequest(*ec2.ModifyTransitGatewayInput) (*request.Request, *ec2.ModifyTransitGatewayOutput)
ModifyTransitGatewayPrefixListReference(*ec2.ModifyTransitGatewayPrefixListReferenceInput) (*ec2.ModifyTransitGatewayPrefixListReferenceOutput, error)
ModifyTransitGatewayPrefixListReferenceWithContext(aws.Context, *ec2.ModifyTransitGatewayPrefixListReferenceInput, ...request.Option) (*ec2.ModifyTransitGatewayPrefixListReferenceOutput, error)
ModifyTransitGatewayPrefixListReferenceRequest(*ec2.ModifyTransitGatewayPrefixListReferenceInput) (*request.Request, *ec2.ModifyTransitGatewayPrefixListReferenceOutput)
ModifyTransitGatewayVpcAttachment(*ec2.ModifyTransitGatewayVpcAttachmentInput) (*ec2.ModifyTransitGatewayVpcAttachmentOutput, error)
ModifyTransitGatewayVpcAttachmentWithContext(aws.Context, *ec2.ModifyTransitGatewayVpcAttachmentInput, ...request.Option) (*ec2.ModifyTransitGatewayVpcAttachmentOutput, error)
ModifyTransitGatewayVpcAttachmentRequest(*ec2.ModifyTransitGatewayVpcAttachmentInput) (*request.Request, *ec2.ModifyTransitGatewayVpcAttachmentOutput)
@ -1734,6 +1779,10 @@ type EC2API interface {
ModifyVpnConnectionWithContext(aws.Context, *ec2.ModifyVpnConnectionInput, ...request.Option) (*ec2.ModifyVpnConnectionOutput, error)
ModifyVpnConnectionRequest(*ec2.ModifyVpnConnectionInput) (*request.Request, *ec2.ModifyVpnConnectionOutput)
ModifyVpnConnectionOptions(*ec2.ModifyVpnConnectionOptionsInput) (*ec2.ModifyVpnConnectionOptionsOutput, error)
ModifyVpnConnectionOptionsWithContext(aws.Context, *ec2.ModifyVpnConnectionOptionsInput, ...request.Option) (*ec2.ModifyVpnConnectionOptionsOutput, error)
ModifyVpnConnectionOptionsRequest(*ec2.ModifyVpnConnectionOptionsInput) (*request.Request, *ec2.ModifyVpnConnectionOptionsOutput)
ModifyVpnTunnelCertificate(*ec2.ModifyVpnTunnelCertificateInput) (*ec2.ModifyVpnTunnelCertificateOutput, error)
ModifyVpnTunnelCertificateWithContext(aws.Context, *ec2.ModifyVpnTunnelCertificateInput, ...request.Option) (*ec2.ModifyVpnTunnelCertificateOutput, error)
ModifyVpnTunnelCertificateRequest(*ec2.ModifyVpnTunnelCertificateInput) (*request.Request, *ec2.ModifyVpnTunnelCertificateOutput)

View File

@ -64,7 +64,7 @@ func (c *ELB) AddTagsRequest(input *AddTagsInput) (req *request.Request, output
// Each tag consists of a key and an optional value. If a tag with the same
// key is already associated with the load balancer, AddTags updates its value.
//
// For more information, see Tag Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html)
// For more information, see Tag Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -155,7 +155,7 @@ func (c *ELB) ApplySecurityGroupsToLoadBalancerRequest(input *ApplySecurityGroup
// private cloud (VPC). The specified security groups override the previously
// associated security groups.
//
// For more information, see Security Groups for Load Balancers in a VPC (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-groups.html#elb-vpc-security-groups)
// For more information, see Security Groups for Load Balancers in a VPC (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-groups.html#elb-vpc-security-groups)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -246,7 +246,7 @@ func (c *ELB) AttachLoadBalancerToSubnetsRequest(input *AttachLoadBalancerToSubn
//
// The load balancer evenly distributes requests across all registered subnets.
// For more information, see Add or Remove Subnets for Your Load Balancer in
// a VPC (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-manage-subnets.html)
// a VPC (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-manage-subnets.html)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -339,7 +339,7 @@ func (c *ELB) ConfigureHealthCheckRequest(input *ConfigureHealthCheckInput) (req
// of your EC2 instances.
//
// For more information, see Configure Health Checks for Your Load Balancer
// (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-healthchecks.html)
// (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-healthchecks.html)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -433,7 +433,7 @@ func (c *ELB) CreateAppCookieStickinessPolicyRequest(input *CreateAppCookieStick
// If the application cookie is explicitly removed or expires, the session stops
// being sticky until a new application cookie is issued.
//
// For more information, see Application-Controlled Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application)
// For more information, see Application-Controlled Session Stickiness (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -538,7 +538,7 @@ func (c *ELB) CreateLBCookieStickinessPolicyRequest(input *CreateLBCookieStickin
// the same user to that server. The validity of the cookie is based on the
// cookie expiration time, which is specified in the policy configuration.
//
// For more information, see Duration-Based Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-duration)
// For more information, see Duration-Based Session Stickiness (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-duration)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -638,7 +638,7 @@ func (c *ELB) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *re
//
// You can create up to 20 load balancers per region per account. You can request
// an increase for the number of load balancers for your account. For more information,
// see Limits for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-limits.html)
// see Limits for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-limits.html)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -762,7 +762,7 @@ func (c *ELB) CreateLoadBalancerListenersRequest(input *CreateLoadBalancerListen
// the properties of the new listener must match the properties of the existing
// listener.
//
// For more information, see Listeners for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html)
// For more information, see Listeners for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -1209,7 +1209,7 @@ func (c *ELB) DeregisterInstancesFromLoadBalancerRequest(input *DeregisterInstan
// You can use DescribeLoadBalancers to verify that the instance is deregistered
// from the load balancer.
//
// For more information, see Register or De-Register EC2 Instances (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-deregister-register-instances.html)
// For more information, see Register or De-Register EC2 Instances (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-deregister-register-instances.html)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -1295,7 +1295,7 @@ func (c *ELB) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput) (r
// Describes the current Elastic Load Balancing resource limits for your AWS
// account.
//
// For more information, see Limits for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-limits.html)
// For more information, see Limits for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-limits.html)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -2037,7 +2037,7 @@ func (c *ELB) DisableAvailabilityZonesForLoadBalancerRequest(input *DisableAvail
// the OutOfService state. Then, the load balancer attempts to equally balance
// the traffic among its remaining Availability Zones.
//
// For more information, see Add or Remove Availability Zones (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html)
// For more information, see Add or Remove Availability Zones (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -2127,7 +2127,7 @@ func (c *ELB) EnableAvailabilityZonesForLoadBalancerRequest(input *EnableAvailab
//
// The load balancer evenly distributes requests across all its registered Availability
// Zones that contain instances. For more information, see Add or Remove Availability
// Zones (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html)
// Zones (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -2216,13 +2216,13 @@ func (c *ELB) ModifyLoadBalancerAttributesRequest(input *ModifyLoadBalancerAttri
//
// For more information, see the following in the Classic Load Balancers Guide:
//
// * Cross-Zone Load Balancing (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html)
// * Cross-Zone Load Balancing (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html)
//
// * Connection Draining (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html)
// * Connection Draining (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html)
//
// * Access Logs (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/access-log-collection.html)
// * Access Logs (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/access-log-collection.html)
//
// * Idle Connection Timeout (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html)
// * Idle Connection Timeout (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.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
@ -2328,7 +2328,7 @@ func (c *ELB) RegisterInstancesWithLoadBalancerRequest(input *RegisterInstancesW
//
// To deregister instances from a load balancer, use DeregisterInstancesFromLoadBalancer.
//
// For more information, see Register or De-Register EC2 Instances (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-deregister-register-instances.html)
// For more information, see Register or De-Register EC2 Instances (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-deregister-register-instances.html)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -2497,7 +2497,7 @@ func (c *ELB) SetLoadBalancerListenerSSLCertificateRequest(input *SetLoadBalance
// the same load balancer and port.
//
// For more information about updating your SSL certificate, see Replace the
// SSL Certificate for Your Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-update-ssl-cert.html)
// SSL Certificate for Your Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-update-ssl-cert.html)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -2605,9 +2605,9 @@ func (c *ELB) SetLoadBalancerPoliciesForBackendServerRequest(input *SetLoadBalan
// that the policy is associated with the EC2 instance.
//
// For more information about enabling back-end instance authentication, see
// Configure Back-end Instance Authentication (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-create-https-ssl-load-balancer.html#configure_backendauth_clt)
// Configure Back-end Instance Authentication (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-create-https-ssl-load-balancer.html#configure_backendauth_clt)
// in the Classic Load Balancers Guide. For more information about Proxy Protocol,
// see Configure Proxy Protocol Support (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-proxy-protocol.html)
// see Configure Proxy Protocol Support (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-proxy-protocol.html)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -2700,9 +2700,9 @@ func (c *ELB) SetLoadBalancerPoliciesOfListenerRequest(input *SetLoadBalancerPol
// To enable back-end server authentication, use SetLoadBalancerPoliciesForBackendServer.
//
// For more information about setting policies, see Update the SSL Negotiation
// Configuration (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/ssl-config-update.html),
// Duration-Based Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-duration),
// and Application-Controlled Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application)
// Configuration (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/ssl-config-update.html),
// Duration-Based Session Stickiness (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-duration),
// and Application-Controlled Session Stickiness (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application)
// in the Classic Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -2899,14 +2899,20 @@ func (s AddTagsOutput) GoString() string {
return s.String()
}
// This data type is reserved.
// Information about additional load balancer attributes.
type AdditionalAttribute struct {
_ struct{} `type:"structure"`
// This parameter is reserved.
// The name of the attribute.
//
// The following attribute is supported.
//
// * elb.http.desyncmitigationmode - Determines how the load balancer handles
// requests that might pose a security risk to your application. The possible
// values are monitor, defensive, and strictest. The default is defensive.
Key *string `type:"string"`
// This parameter is reserved.
// This value of the attribute.
Value *string `type:"string"`
}
@ -3509,7 +3515,7 @@ type CreateLoadBalancerInput struct {
// The listeners.
//
// For more information, see Listeners for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html)
// For more information, see Listeners for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html)
// in the Classic Load Balancers Guide.
//
// Listeners is a required field
@ -3529,7 +3535,7 @@ type CreateLoadBalancerInput struct {
// By default, Elastic Load Balancing creates an Internet-facing load balancer
// with a DNS name that resolves to public IP addresses. For more information
// about Internet-facing and Internal load balancers, see Load Balancer Scheme
// (http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme)
// (https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme)
// in the Elastic Load Balancing User Guide.
//
// Specify internal to create a load balancer with a DNS name that resolves
@ -3546,7 +3552,7 @@ type CreateLoadBalancerInput struct {
// A list of tags to assign to the load balancer.
//
// For more information about tagging your load balancer, see Tag Your Classic
// Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html)
// Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html)
// in the Classic Load Balancers Guide.
Tags []*Tag `min:"1" type:"list"`
}
@ -5166,7 +5172,7 @@ func (s *Limit) SetName(v string) *Limit {
// Information about a listener.
//
// For information about the protocols and the ports supported by Elastic Load
// Balancing, see Listeners for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html)
// Balancing, see Listeners for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html)
// in the Classic Load Balancers Guide.
type Listener struct {
_ struct{} `type:"structure"`
@ -5179,8 +5185,9 @@ type Listener struct {
// The protocol to use for routing traffic to instances: HTTP, HTTPS, TCP, or
// SSL.
//
// If the front-end protocol is HTTP, HTTPS, TCP, or SSL, InstanceProtocol must
// be at the same protocol.
// If the front-end protocol is TCP or SSL, the back-end protocol must be TCP
// or SSL. If the front-end protocol is HTTP or HTTPS, the back-end protocol
// must be HTTP or HTTPS.
//
// If there is another listener with the same InstancePort whose InstanceProtocol
// is secure, (HTTPS or SSL), the listener's InstanceProtocol must also be secure.
@ -5308,17 +5315,17 @@ type LoadBalancerAttributes struct {
// If enabled, the load balancer captures detailed information of all requests
// and delivers the information to the Amazon S3 bucket that you specify.
//
// For more information, see Enable Access Logs (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html)
// For more information, see Enable Access Logs (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html)
// in the Classic Load Balancers Guide.
AccessLog *AccessLog `type:"structure"`
// This parameter is reserved.
// Any additional attributes.
AdditionalAttributes []*AdditionalAttribute `type:"list"`
// If enabled, the load balancer allows existing requests to complete before
// the load balancer shifts traffic away from a deregistered or unhealthy instance.
//
// For more information, see Configure Connection Draining (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html)
// For more information, see Configure Connection Draining (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html)
// in the Classic Load Balancers Guide.
ConnectionDraining *ConnectionDraining `type:"structure"`
@ -5327,14 +5334,14 @@ type LoadBalancerAttributes struct {
//
// By default, Elastic Load Balancing maintains a 60-second idle connection
// timeout for both front-end and back-end connections of your load balancer.
// For more information, see Configure Idle Connection Timeout (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html)
// For more information, see Configure Idle Connection Timeout (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html)
// in the Classic Load Balancers Guide.
ConnectionSettings *ConnectionSettings `type:"structure"`
// If enabled, the load balancer routes the request traffic evenly across all
// instances regardless of the Availability Zones.
//
// For more information, see Configure Cross-Zone Load Balancing (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html)
// For more information, see Configure Cross-Zone Load Balancing (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html)
// in the Classic Load Balancers Guide.
CrossZoneLoadBalancing *CrossZoneLoadBalancing `type:"structure"`
}
@ -5421,7 +5428,7 @@ type LoadBalancerDescription struct {
// The DNS name of the load balancer.
//
// For more information, see Configure a Custom Domain Name (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/using-domain-names-with-elb.html)
// For more information, see Configure a Custom Domain Name (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/using-domain-names-with-elb.html)
// in the Classic Load Balancers Guide.
CanonicalHostedZoneName *string `type:"string"`

View File

@ -15,7 +15,7 @@
// Elastic Load Balancing supports three types of load balancers: Application
// Load Balancers, Network Load Balancers, and Classic Load Balancers. You can
// select a load balancer based on your application needs. For more information,
// see the Elastic Load Balancing User Guide (http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/).
// see the Elastic Load Balancing User Guide (https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/).
//
// This reference covers the 2012-06-01 API, which supports Classic Load Balancers.
// The 2015-12-01 API supports Application Load Balancers and Network Load Balancers.

View File

@ -155,8 +155,8 @@ func (c *ELBV2) AddTagsRequest(input *AddTagsInput) (req *request.Request, outpu
// AddTags API operation for Elastic Load Balancing.
//
// Adds the specified tags to the specified Elastic Load Balancing resource.
// You can tag your Application Load Balancers, Network Load Balancers, and
// your target groups.
// You can tag your Application Load Balancers, Network Load Balancers, target
// groups, listeners, and rules.
//
// Each tag consists of a key and an optional value. If a resource already has
// a tag with the same key, AddTags updates its value.
@ -328,6 +328,9 @@ func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request.
// * ErrCodeALPNPolicyNotSupportedException "ALPNPolicyNotFound"
// The specified ALPN policy is not supported.
//
// * ErrCodeTooManyTagsException "TooManyTags"
// You've reached the limit on the number of tags per load balancer.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListener
func (c *ELBV2) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) {
req, out := c.CreateListenerRequest(input)
@ -533,6 +536,7 @@ func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request,
// Creates a rule for the specified listener. The listener must be associated
// with an Application Load Balancer.
//
// Each rule consists of a priority, one or more actions, and one or more conditions.
// Rules are evaluated in priority order, from the lowest value to the highest
// value. When the conditions for a rule are met, its actions are performed.
// If the conditions for no rules are met, the actions for the default rule
@ -596,6 +600,9 @@ func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request,
// across all listeners. If a target group is used by multiple actions for a
// load balancer, it is counted as only one use.
//
// * ErrCodeTooManyTagsException "TooManyTags"
// You've reached the limit on the number of tags per load balancer.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateRule
func (c *ELBV2) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) {
req, out := c.CreateRuleRequest(input)
@ -700,6 +707,9 @@ func (c *ELBV2) CreateTargetGroupRequest(input *CreateTargetGroupInput) (req *re
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
// The requested configuration is not valid.
//
// * ErrCodeTooManyTagsException "TooManyTags"
// You've reached the limit on the number of tags per load balancer.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroup
func (c *ELBV2) CreateTargetGroup(input *CreateTargetGroupInput) (*CreateTargetGroupOutput, error) {
req, out := c.CreateTargetGroupRequest(input)
@ -947,6 +957,8 @@ func (c *ELBV2) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request,
//
// Deletes the specified rule.
//
// You can't delete the default rule.
//
// 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.
@ -1904,9 +1916,9 @@ func (c *ELBV2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Requ
// DescribeTags API operation for Elastic Load Balancing.
//
// Describes the tags for the specified resources. You can describe the tags
// for one or more Application Load Balancers, Network Load Balancers, and target
// groups.
// Describes the tags for the specified Elastic Load Balancing resources. You
// can describe the tags for one or more Application Load Balancers, Network
// Load Balancers, target groups, listeners, or rules.
//
// 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
@ -3019,7 +3031,9 @@ func (c *ELBV2) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request,
// RemoveTags API operation for Elastic Load Balancing.
//
// Removes the specified tags from the specified Elastic Load Balancing resource.
// Removes the specified tags from the specified Elastic Load Balancing resources.
// You can remove the tags for one or more Application Load Balancers, Network
// Load Balancers, target groups, listeners, or rules.
//
// To list the current tags for your resources, use DescribeTags.
//
@ -3432,6 +3446,9 @@ func (c *ELBV2) SetSubnetsWithContext(ctx aws.Context, input *SetSubnetsInput, o
}
// Information about an action.
//
// Each rule must include exactly one of the following types of actions: forward,
// fixed-response, or redirect, and it must be the last action to be performed.
type Action struct {
_ struct{} `type:"structure"`
@ -3455,9 +3472,7 @@ type Action struct {
ForwardConfig *ForwardActionConfig `type:"structure"`
// The order for the action. This value is required for rules with multiple
// actions. The action with the lowest value for order is performed first. The
// last action to be performed must be one of the following types of actions:
// a forward, fixed-response, or redirect.
// actions. The action with the lowest value for order is performed first.
Order *int64 `min:"1" type:"integer"`
// [Application Load Balancer] Information for creating a redirect action. Specify
@ -4042,6 +4057,9 @@ type AvailabilityZone struct {
// a private IP address from the IPv4 range of the subnet.
LoadBalancerAddresses []*LoadBalancerAddress `type:"list"`
// [Application Load Balancers on Outposts] The ID of the Outpost.
OutpostId *string `type:"string"`
// The ID of the subnet. You can specify one subnet per Availability Zone.
SubnetId *string `type:"string"`
@ -4065,6 +4083,12 @@ func (s *AvailabilityZone) SetLoadBalancerAddresses(v []*LoadBalancerAddress) *A
return s
}
// SetOutpostId sets the OutpostId field's value.
func (s *AvailabilityZone) SetOutpostId(v string) *AvailabilityZone {
s.OutpostId = &v
return s
}
// SetSubnetId sets the SubnetId field's value.
func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone {
s.SubnetId = &v
@ -4238,6 +4262,9 @@ type CreateListenerInput struct {
// in the Application Load Balancers Guide and Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies)
// in the Network Load Balancers Guide.
SslPolicy *string `type:"string"`
// The tags to assign to the listener.
Tags []*Tag `min:"1" type:"list"`
}
// String returns the string representation
@ -4268,6 +4295,9 @@ func (s *CreateListenerInput) Validate() error {
if s.Protocol == nil {
invalidParams.Add(request.NewErrParamRequired("Protocol"))
}
if s.Tags != nil && len(s.Tags) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
}
if s.DefaultActions != nil {
for i, v := range s.DefaultActions {
if v == nil {
@ -4278,6 +4308,16 @@ func (s *CreateListenerInput) Validate() error {
}
}
}
if s.Tags != nil {
for i, v := range s.Tags {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
@ -4327,6 +4367,12 @@ func (s *CreateListenerInput) SetSslPolicy(v string) *CreateListenerInput {
return s
}
// SetTags sets the Tags field's value.
func (s *CreateListenerInput) SetTags(v []*Tag) *CreateListenerInput {
s.Tags = v
return s
}
type CreateListenerOutput struct {
_ struct{} `type:"structure"`
@ -4353,6 +4399,10 @@ func (s *CreateListenerOutput) SetListeners(v []*Listener) *CreateListenerOutput
type CreateLoadBalancerInput struct {
_ struct{} `type:"structure"`
// [Application Load Balancers on Outposts] The ID of the customer-owned address
// pool (CoIP pool).
CustomerOwnedIpv4Pool *string `type:"string"`
// [Application Load Balancers] The type of IP addresses used by the subnets
// for your load balancer. The possible values are ipv4 (for IPv4 addresses)
// and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must
@ -4391,6 +4441,11 @@ type CreateLoadBalancerInput struct {
// [Application Load Balancers] You must specify subnets from at least two Availability
// Zones. You cannot specify Elastic IP addresses for your subnets.
//
// [Application Load Balancers on Outposts] You must specify one Outpost subnet.
//
// [Application Load Balancers on Local Zones] You can specify subnets from
// one or more Local Zones.
//
// [Network Load Balancers] You can specify subnets from one or more Availability
// Zones. You can specify one Elastic IP address per subnet if you need static
// IP addresses for your internet-facing load balancer. For internal load balancers,
@ -4404,11 +4459,16 @@ type CreateLoadBalancerInput struct {
// [Application Load Balancers] You must specify subnets from at least two Availability
// Zones.
//
// [Application Load Balancers on Outposts] You must specify one Outpost subnet.
//
// [Application Load Balancers on Local Zones] You can specify subnets from
// one or more Local Zones.
//
// [Network Load Balancers] You can specify subnets from one or more Availability
// Zones.
Subnets []*string `type:"list"`
// One or more tags to assign to the load balancer.
// The tags to assign to the load balancer.
Tags []*Tag `min:"1" type:"list"`
// The type of load balancer. The default is application.
@ -4451,6 +4511,12 @@ func (s *CreateLoadBalancerInput) Validate() error {
return nil
}
// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
func (s *CreateLoadBalancerInput) SetCustomerOwnedIpv4Pool(v string) *CreateLoadBalancerInput {
s.CustomerOwnedIpv4Pool = &v
return s
}
// SetIpAddressType sets the IpAddressType field's value.
func (s *CreateLoadBalancerInput) SetIpAddressType(v string) *CreateLoadBalancerInput {
s.IpAddressType = &v
@ -4549,9 +4615,10 @@ type CreateRuleInput struct {
// Actions is a required field
Actions []*Action `type:"list" required:"true"`
// The conditions. Each rule can include zero or one of the following conditions:
// http-request-method, host-header, path-pattern, and source-ip, and zero or
// more of the following conditions: http-header and query-string.
// The conditions. Each rule can optionally include up to one of each of the
// following conditions: http-request-method, host-header, path-pattern, and
// source-ip. Each rule can also optionally include one or more of each of the
// following conditions: http-header and query-string.
//
// Conditions is a required field
Conditions []*RuleCondition `type:"list" required:"true"`
@ -4565,6 +4632,9 @@ type CreateRuleInput struct {
//
// Priority is a required field
Priority *int64 `min:"1" type:"integer" required:"true"`
// The tags to assign to the rule.
Tags []*Tag `min:"1" type:"list"`
}
// String returns the string representation
@ -4595,6 +4665,9 @@ func (s *CreateRuleInput) Validate() error {
if s.Priority != nil && *s.Priority < 1 {
invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
}
if s.Tags != nil && len(s.Tags) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
}
if s.Actions != nil {
for i, v := range s.Actions {
if v == nil {
@ -4605,6 +4678,16 @@ func (s *CreateRuleInput) Validate() error {
}
}
}
if s.Tags != nil {
for i, v := range s.Tags {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
@ -4636,6 +4719,12 @@ func (s *CreateRuleInput) SetPriority(v int64) *CreateRuleInput {
return s
}
// SetTags sets the Tags field's value.
func (s *CreateRuleInput) SetTags(v []*Tag) *CreateRuleInput {
s.Tags = v
return s
}
type CreateRuleOutput struct {
_ struct{} `type:"structure"`
@ -4729,13 +4818,15 @@ type CreateTargetGroupInput struct {
// function, this parameter does not apply.
Protocol *string `type:"string" enum:"ProtocolEnum"`
// The tags to assign to the target group.
Tags []*Tag `min:"1" type:"list"`
// The type of target that you must specify when registering targets with this
// target group. You can't specify targets for a target group using more than
// one target type.
//
// * instance - Targets are specified by instance ID. This is the default
// value. If the target group protocol is UDP or TCP_UDP, the target type
// must be instance.
// value.
//
// * ip - Targets are specified by IP address. You can specify IP addresses
// from the subnets of the virtual private cloud (VPC) for the target group,
@ -4789,6 +4880,9 @@ func (s *CreateTargetGroupInput) Validate() error {
if s.Port != nil && *s.Port < 1 {
invalidParams.Add(request.NewErrParamMinValue("Port", 1))
}
if s.Tags != nil && len(s.Tags) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
}
if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 {
invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2))
}
@ -4797,6 +4891,16 @@ func (s *CreateTargetGroupInput) Validate() error {
invalidParams.AddNested("Matcher", err.(request.ErrInvalidParams))
}
}
if s.Tags != nil {
for i, v := range s.Tags {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
@ -4870,6 +4974,12 @@ func (s *CreateTargetGroupInput) SetProtocol(v string) *CreateTargetGroupInput {
return s
}
// SetTags sets the Tags field's value.
func (s *CreateTargetGroupInput) SetTags(v []*Tag) *CreateTargetGroupInput {
s.Tags = v
return s
}
// SetTargetType sets the TargetType field's value.
func (s *CreateTargetGroupInput) SetTargetType(v string) *CreateTargetGroupInput {
s.TargetType = &v
@ -6478,7 +6588,7 @@ func (s *Listener) SetSslPolicy(v string) *Listener {
type LoadBalancer struct {
_ struct{} `type:"structure"`
// The Availability Zones for the load balancer.
// The subnets for the load balancer.
AvailabilityZones []*AvailabilityZone `type:"list"`
// The ID of the Amazon Route 53 hosted zone associated with the load balancer.
@ -6487,6 +6597,10 @@ type LoadBalancer struct {
// The date and time the load balancer was created.
CreatedTime *time.Time `type:"timestamp"`
// [Application Load Balancers on Outposts] The ID of the customer-owned address
// pool.
CustomerOwnedIpv4Pool *string `type:"string"`
// The public DNS name of the load balancer.
DNSName *string `type:"string"`
@ -6553,6 +6667,12 @@ func (s *LoadBalancer) SetCreatedTime(v time.Time) *LoadBalancer {
return s
}
// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
func (s *LoadBalancer) SetCustomerOwnedIpv4Pool(v string) *LoadBalancer {
s.CustomerOwnedIpv4Pool = &v
return s
}
// SetDNSName sets the DNSName field's value.
func (s *LoadBalancer) SetDNSName(v string) *LoadBalancer {
s.DNSName = &v
@ -6678,6 +6798,11 @@ type LoadBalancerAttribute struct {
// * idle_timeout.timeout_seconds - The idle timeout value, in seconds. The
// valid range is 1-4000 seconds. The default is 60 seconds.
//
// * routing.http.desync_mitigation_mode - Determines how the load balancer
// handles requests that might pose a security risk to your application.
// The possible values are monitor, defensive, and strictest. The default
// is defensive.
//
// * routing.http.drop_invalid_header_fields.enabled - Indicates whether
// HTTP headers with invalid header fields are removed by the load balancer
// (true) or routed to targets (false). The default is false.
@ -7286,7 +7411,9 @@ type ModifyTargetGroupInput struct {
HealthyThresholdCount *int64 `min:"2" type:"integer"`
// [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful
// response from a target.
// response from a target. The possible values are from 200 to 499. You can
// specify multiple values (for example, "200,202") or a range of values (for
// example, "200-299"). The default is 200.
//
// With Network Load Balancers, you can't modify this setting.
Matcher *Matcher `type:"structure"`
@ -7925,6 +8052,11 @@ func (s *Rule) SetRuleArn(v string) *Rule {
}
// Information about a condition for a rule.
//
// Each rule can optionally include up to one of each of the following conditions:
// http-request-method, host-header, path-pattern, and source-ip. Each rule
// can also optionally include one or more of each of the following conditions:
// http-header and query-string.
type RuleCondition struct {
_ struct{} `type:"structure"`
@ -7961,13 +8093,14 @@ type RuleCondition struct {
// Information for a source IP condition. Specify only when Field is source-ip.
SourceIpConfig *SourceIpConditionConfig `type:"structure"`
// The condition value. You can use Values if the rule contains only host-header
// and path-pattern conditions. Otherwise, you can use HostHeaderConfig for
// host-header conditions and PathPatternConfig for path-pattern conditions.
// The condition value. Specify only when Field is host-header or path-pattern.
// Alternatively, to specify multiple host names or multiple path patterns,
// use HostHeaderConfig or PathPatternConfig.
//
// If Field is host-header, you can specify a single host name (for example,
// my.example.com). A host name is case insensitive, can be up to 128 characters
// in length, and can contain any of the following characters.
// If Field is host-header and you are not using HostHeaderConfig, you can specify
// a single host name (for example, my.example.com) in Values. A host name is
// case insensitive, can be up to 128 characters in length, and can contain
// any of the following characters.
//
// * A-Z, a-z, 0-9
//
@ -7977,9 +8110,10 @@ type RuleCondition struct {
//
// * ? (matches exactly 1 character)
//
// If Field is path-pattern, you can specify a single path pattern (for example,
// /img/*). A path pattern is case-sensitive, can be up to 128 characters in
// length, and can contain any of the following characters.
// If Field is path-pattern and you are not using PathPatternConfig, you can
// specify a single path pattern (for example, /img/*) in Values. A path pattern
// is case-sensitive, can be up to 128 characters in length, and can contain
// any of the following characters.
//
// * A-Z, a-z, 0-9
//
@ -8391,7 +8525,7 @@ func (s *SetSubnetsInput) SetSubnets(v []*string) *SetSubnetsInput {
type SetSubnetsOutput struct {
_ struct{} `type:"structure"`
// Information about the subnet and Availability Zone.
// Information about the subnets.
AvailabilityZones []*AvailabilityZone `type:"list"`
}
@ -8892,8 +9026,8 @@ type TargetGroupAttribute struct {
// * slow_start.duration_seconds - The time period, in seconds, during which
// a newly registered target receives an increasing share of the traffic
// to the target group. After this time period ends, the target receives
// its full share of traffic. The range is 30-900 seconds (15 minutes). Slow
// start mode is disabled by default.
// its full share of traffic. The range is 30-900 seconds (15 minutes). The
// default is 0 seconds (disabled).
//
// * stickiness.lb_cookie.duration_seconds - The time period, in seconds,
// during which requests from a client should be routed to the same target.
@ -9168,6 +9302,17 @@ const (
ActionTypeEnumFixedResponse = "fixed-response"
)
// ActionTypeEnum_Values returns all elements of the ActionTypeEnum enum
func ActionTypeEnum_Values() []string {
return []string{
ActionTypeEnumForward,
ActionTypeEnumAuthenticateOidc,
ActionTypeEnumAuthenticateCognito,
ActionTypeEnumRedirect,
ActionTypeEnumFixedResponse,
}
}
const (
// AuthenticateCognitoActionConditionalBehaviorEnumDeny is a AuthenticateCognitoActionConditionalBehaviorEnum enum value
AuthenticateCognitoActionConditionalBehaviorEnumDeny = "deny"
@ -9179,6 +9324,15 @@ const (
AuthenticateCognitoActionConditionalBehaviorEnumAuthenticate = "authenticate"
)
// AuthenticateCognitoActionConditionalBehaviorEnum_Values returns all elements of the AuthenticateCognitoActionConditionalBehaviorEnum enum
func AuthenticateCognitoActionConditionalBehaviorEnum_Values() []string {
return []string{
AuthenticateCognitoActionConditionalBehaviorEnumDeny,
AuthenticateCognitoActionConditionalBehaviorEnumAllow,
AuthenticateCognitoActionConditionalBehaviorEnumAuthenticate,
}
}
const (
// AuthenticateOidcActionConditionalBehaviorEnumDeny is a AuthenticateOidcActionConditionalBehaviorEnum enum value
AuthenticateOidcActionConditionalBehaviorEnumDeny = "deny"
@ -9190,6 +9344,15 @@ const (
AuthenticateOidcActionConditionalBehaviorEnumAuthenticate = "authenticate"
)
// AuthenticateOidcActionConditionalBehaviorEnum_Values returns all elements of the AuthenticateOidcActionConditionalBehaviorEnum enum
func AuthenticateOidcActionConditionalBehaviorEnum_Values() []string {
return []string{
AuthenticateOidcActionConditionalBehaviorEnumDeny,
AuthenticateOidcActionConditionalBehaviorEnumAllow,
AuthenticateOidcActionConditionalBehaviorEnumAuthenticate,
}
}
const (
// IpAddressTypeIpv4 is a IpAddressType enum value
IpAddressTypeIpv4 = "ipv4"
@ -9198,6 +9361,14 @@ const (
IpAddressTypeDualstack = "dualstack"
)
// IpAddressType_Values returns all elements of the IpAddressType enum
func IpAddressType_Values() []string {
return []string{
IpAddressTypeIpv4,
IpAddressTypeDualstack,
}
}
const (
// LoadBalancerSchemeEnumInternetFacing is a LoadBalancerSchemeEnum enum value
LoadBalancerSchemeEnumInternetFacing = "internet-facing"
@ -9206,6 +9377,14 @@ const (
LoadBalancerSchemeEnumInternal = "internal"
)
// LoadBalancerSchemeEnum_Values returns all elements of the LoadBalancerSchemeEnum enum
func LoadBalancerSchemeEnum_Values() []string {
return []string{
LoadBalancerSchemeEnumInternetFacing,
LoadBalancerSchemeEnumInternal,
}
}
const (
// LoadBalancerStateEnumActive is a LoadBalancerStateEnum enum value
LoadBalancerStateEnumActive = "active"
@ -9220,6 +9399,16 @@ const (
LoadBalancerStateEnumFailed = "failed"
)
// LoadBalancerStateEnum_Values returns all elements of the LoadBalancerStateEnum enum
func LoadBalancerStateEnum_Values() []string {
return []string{
LoadBalancerStateEnumActive,
LoadBalancerStateEnumProvisioning,
LoadBalancerStateEnumActiveImpaired,
LoadBalancerStateEnumFailed,
}
}
const (
// LoadBalancerTypeEnumApplication is a LoadBalancerTypeEnum enum value
LoadBalancerTypeEnumApplication = "application"
@ -9228,6 +9417,14 @@ const (
LoadBalancerTypeEnumNetwork = "network"
)
// LoadBalancerTypeEnum_Values returns all elements of the LoadBalancerTypeEnum enum
func LoadBalancerTypeEnum_Values() []string {
return []string{
LoadBalancerTypeEnumApplication,
LoadBalancerTypeEnumNetwork,
}
}
const (
// ProtocolEnumHttp is a ProtocolEnum enum value
ProtocolEnumHttp = "HTTP"
@ -9248,6 +9445,18 @@ const (
ProtocolEnumTcpUdp = "TCP_UDP"
)
// ProtocolEnum_Values returns all elements of the ProtocolEnum enum
func ProtocolEnum_Values() []string {
return []string{
ProtocolEnumHttp,
ProtocolEnumHttps,
ProtocolEnumTcp,
ProtocolEnumTls,
ProtocolEnumUdp,
ProtocolEnumTcpUdp,
}
}
const (
// RedirectActionStatusCodeEnumHttp301 is a RedirectActionStatusCodeEnum enum value
RedirectActionStatusCodeEnumHttp301 = "HTTP_301"
@ -9256,6 +9465,14 @@ const (
RedirectActionStatusCodeEnumHttp302 = "HTTP_302"
)
// RedirectActionStatusCodeEnum_Values returns all elements of the RedirectActionStatusCodeEnum enum
func RedirectActionStatusCodeEnum_Values() []string {
return []string{
RedirectActionStatusCodeEnumHttp301,
RedirectActionStatusCodeEnumHttp302,
}
}
const (
// TargetHealthReasonEnumElbRegistrationInProgress is a TargetHealthReasonEnum enum value
TargetHealthReasonEnumElbRegistrationInProgress = "Elb.RegistrationInProgress"
@ -9294,6 +9511,24 @@ const (
TargetHealthReasonEnumElbInternalError = "Elb.InternalError"
)
// TargetHealthReasonEnum_Values returns all elements of the TargetHealthReasonEnum enum
func TargetHealthReasonEnum_Values() []string {
return []string{
TargetHealthReasonEnumElbRegistrationInProgress,
TargetHealthReasonEnumElbInitialHealthChecking,
TargetHealthReasonEnumTargetResponseCodeMismatch,
TargetHealthReasonEnumTargetTimeout,
TargetHealthReasonEnumTargetFailedHealthChecks,
TargetHealthReasonEnumTargetNotRegistered,
TargetHealthReasonEnumTargetNotInUse,
TargetHealthReasonEnumTargetDeregistrationInProgress,
TargetHealthReasonEnumTargetInvalidState,
TargetHealthReasonEnumTargetIpUnusable,
TargetHealthReasonEnumTargetHealthCheckDisabled,
TargetHealthReasonEnumElbInternalError,
}
}
const (
// TargetHealthStateEnumInitial is a TargetHealthStateEnum enum value
TargetHealthStateEnumInitial = "initial"
@ -9314,6 +9549,18 @@ const (
TargetHealthStateEnumUnavailable = "unavailable"
)
// TargetHealthStateEnum_Values returns all elements of the TargetHealthStateEnum enum
func TargetHealthStateEnum_Values() []string {
return []string{
TargetHealthStateEnumInitial,
TargetHealthStateEnumHealthy,
TargetHealthStateEnumUnhealthy,
TargetHealthStateEnumUnused,
TargetHealthStateEnumDraining,
TargetHealthStateEnumUnavailable,
}
}
const (
// TargetTypeEnumInstance is a TargetTypeEnum enum value
TargetTypeEnumInstance = "instance"
@ -9324,3 +9571,12 @@ const (
// TargetTypeEnumLambda is a TargetTypeEnum enum value
TargetTypeEnumLambda = "lambda"
)
// TargetTypeEnum_Values returns all elements of the TargetTypeEnum enum
func TargetTypeEnum_Values() []string {
return []string{
TargetTypeEnumInstance,
TargetTypeEnumIp,
TargetTypeEnumLambda,
}
}

View File

@ -33274,6 +33274,14 @@ const (
AccessAdvisorUsageGranularityTypeActionLevel = "ACTION_LEVEL"
)
// AccessAdvisorUsageGranularityType_Values returns all elements of the AccessAdvisorUsageGranularityType enum
func AccessAdvisorUsageGranularityType_Values() []string {
return []string{
AccessAdvisorUsageGranularityTypeServiceLevel,
AccessAdvisorUsageGranularityTypeActionLevel,
}
}
const (
// AssignmentStatusTypeAssigned is a AssignmentStatusType enum value
AssignmentStatusTypeAssigned = "Assigned"
@ -33285,6 +33293,15 @@ const (
AssignmentStatusTypeAny = "Any"
)
// AssignmentStatusType_Values returns all elements of the AssignmentStatusType enum
func AssignmentStatusType_Values() []string {
return []string{
AssignmentStatusTypeAssigned,
AssignmentStatusTypeUnassigned,
AssignmentStatusTypeAny,
}
}
const (
// ContextKeyTypeEnumString is a ContextKeyTypeEnum enum value
ContextKeyTypeEnumString = "string"
@ -33323,6 +33340,24 @@ const (
ContextKeyTypeEnumDateList = "dateList"
)
// ContextKeyTypeEnum_Values returns all elements of the ContextKeyTypeEnum enum
func ContextKeyTypeEnum_Values() []string {
return []string{
ContextKeyTypeEnumString,
ContextKeyTypeEnumStringList,
ContextKeyTypeEnumNumeric,
ContextKeyTypeEnumNumericList,
ContextKeyTypeEnumBoolean,
ContextKeyTypeEnumBooleanList,
ContextKeyTypeEnumIp,
ContextKeyTypeEnumIpList,
ContextKeyTypeEnumBinary,
ContextKeyTypeEnumBinaryList,
ContextKeyTypeEnumDate,
ContextKeyTypeEnumDateList,
}
}
const (
// DeletionTaskStatusTypeSucceeded is a DeletionTaskStatusType enum value
DeletionTaskStatusTypeSucceeded = "SUCCEEDED"
@ -33337,6 +33372,16 @@ const (
DeletionTaskStatusTypeNotStarted = "NOT_STARTED"
)
// DeletionTaskStatusType_Values returns all elements of the DeletionTaskStatusType enum
func DeletionTaskStatusType_Values() []string {
return []string{
DeletionTaskStatusTypeSucceeded,
DeletionTaskStatusTypeInProgress,
DeletionTaskStatusTypeFailed,
DeletionTaskStatusTypeNotStarted,
}
}
const (
// EncodingTypeSsh is a EncodingType enum value
EncodingTypeSsh = "SSH"
@ -33345,6 +33390,14 @@ const (
EncodingTypePem = "PEM"
)
// EncodingType_Values returns all elements of the EncodingType enum
func EncodingType_Values() []string {
return []string{
EncodingTypeSsh,
EncodingTypePem,
}
}
const (
// EntityTypeUser is a EntityType enum value
EntityTypeUser = "User"
@ -33362,6 +33415,17 @@ const (
EntityTypeAwsmanagedPolicy = "AWSManagedPolicy"
)
// EntityType_Values returns all elements of the EntityType enum
func EntityType_Values() []string {
return []string{
EntityTypeUser,
EntityTypeRole,
EntityTypeGroup,
EntityTypeLocalManagedPolicy,
EntityTypeAwsmanagedPolicy,
}
}
const (
// GlobalEndpointTokenVersionV1token is a GlobalEndpointTokenVersion enum value
GlobalEndpointTokenVersionV1token = "v1Token"
@ -33370,6 +33434,14 @@ const (
GlobalEndpointTokenVersionV2token = "v2Token"
)
// GlobalEndpointTokenVersion_Values returns all elements of the GlobalEndpointTokenVersion enum
func GlobalEndpointTokenVersion_Values() []string {
return []string{
GlobalEndpointTokenVersionV1token,
GlobalEndpointTokenVersionV2token,
}
}
const (
// JobStatusTypeInProgress is a JobStatusType enum value
JobStatusTypeInProgress = "IN_PROGRESS"
@ -33381,11 +33453,27 @@ const (
JobStatusTypeFailed = "FAILED"
)
// JobStatusType_Values returns all elements of the JobStatusType enum
func JobStatusType_Values() []string {
return []string{
JobStatusTypeInProgress,
JobStatusTypeCompleted,
JobStatusTypeFailed,
}
}
const (
// PermissionsBoundaryAttachmentTypePermissionsBoundaryPolicy is a PermissionsBoundaryAttachmentType enum value
PermissionsBoundaryAttachmentTypePermissionsBoundaryPolicy = "PermissionsBoundaryPolicy"
)
// PermissionsBoundaryAttachmentType_Values returns all elements of the PermissionsBoundaryAttachmentType enum
func PermissionsBoundaryAttachmentType_Values() []string {
return []string{
PermissionsBoundaryAttachmentTypePermissionsBoundaryPolicy,
}
}
const (
// PolicyEvaluationDecisionTypeAllowed is a PolicyEvaluationDecisionType enum value
PolicyEvaluationDecisionTypeAllowed = "allowed"
@ -33397,6 +33485,15 @@ const (
PolicyEvaluationDecisionTypeImplicitDeny = "implicitDeny"
)
// PolicyEvaluationDecisionType_Values returns all elements of the PolicyEvaluationDecisionType enum
func PolicyEvaluationDecisionType_Values() []string {
return []string{
PolicyEvaluationDecisionTypeAllowed,
PolicyEvaluationDecisionTypeExplicitDeny,
PolicyEvaluationDecisionTypeImplicitDeny,
}
}
const (
// PolicyOwnerEntityTypeUser is a PolicyOwnerEntityType enum value
PolicyOwnerEntityTypeUser = "USER"
@ -33408,6 +33505,15 @@ const (
PolicyOwnerEntityTypeGroup = "GROUP"
)
// PolicyOwnerEntityType_Values returns all elements of the PolicyOwnerEntityType enum
func PolicyOwnerEntityType_Values() []string {
return []string{
PolicyOwnerEntityTypeUser,
PolicyOwnerEntityTypeRole,
PolicyOwnerEntityTypeGroup,
}
}
const (
// PolicyScopeTypeAll is a PolicyScopeType enum value
PolicyScopeTypeAll = "All"
@ -33419,6 +33525,15 @@ const (
PolicyScopeTypeLocal = "Local"
)
// PolicyScopeType_Values returns all elements of the PolicyScopeType enum
func PolicyScopeType_Values() []string {
return []string{
PolicyScopeTypeAll,
PolicyScopeTypeAws,
PolicyScopeTypeLocal,
}
}
const (
// PolicySourceTypeUser is a PolicySourceType enum value
PolicySourceTypeUser = "user"
@ -33442,6 +33557,19 @@ const (
PolicySourceTypeNone = "none"
)
// PolicySourceType_Values returns all elements of the PolicySourceType enum
func PolicySourceType_Values() []string {
return []string{
PolicySourceTypeUser,
PolicySourceTypeGroup,
PolicySourceTypeRole,
PolicySourceTypeAwsManaged,
PolicySourceTypeUserManaged,
PolicySourceTypeResource,
PolicySourceTypeNone,
}
}
const (
// PolicyTypeInline is a PolicyType enum value
PolicyTypeInline = "INLINE"
@ -33450,6 +33578,14 @@ const (
PolicyTypeManaged = "MANAGED"
)
// PolicyType_Values returns all elements of the PolicyType enum
func PolicyType_Values() []string {
return []string{
PolicyTypeInline,
PolicyTypeManaged,
}
}
// The policy usage type that indicates whether the policy is used as a permissions
// policy or as the permissions boundary for an entity.
//
@ -33464,11 +33600,26 @@ const (
PolicyUsageTypePermissionsBoundary = "PermissionsBoundary"
)
// PolicyUsageType_Values returns all elements of the PolicyUsageType enum
func PolicyUsageType_Values() []string {
return []string{
PolicyUsageTypePermissionsPolicy,
PolicyUsageTypePermissionsBoundary,
}
}
const (
// ReportFormatTypeTextCsv is a ReportFormatType enum value
ReportFormatTypeTextCsv = "text/csv"
)
// ReportFormatType_Values returns all elements of the ReportFormatType enum
func ReportFormatType_Values() []string {
return []string{
ReportFormatTypeTextCsv,
}
}
const (
// ReportStateTypeStarted is a ReportStateType enum value
ReportStateTypeStarted = "STARTED"
@ -33480,6 +33631,15 @@ const (
ReportStateTypeComplete = "COMPLETE"
)
// ReportStateType_Values returns all elements of the ReportStateType enum
func ReportStateType_Values() []string {
return []string{
ReportStateTypeStarted,
ReportStateTypeInprogress,
ReportStateTypeComplete,
}
}
const (
// SortKeyTypeServiceNamespaceAscending is a SortKeyType enum value
SortKeyTypeServiceNamespaceAscending = "SERVICE_NAMESPACE_ASCENDING"
@ -33494,6 +33654,16 @@ const (
SortKeyTypeLastAuthenticatedTimeDescending = "LAST_AUTHENTICATED_TIME_DESCENDING"
)
// SortKeyType_Values returns all elements of the SortKeyType enum
func SortKeyType_Values() []string {
return []string{
SortKeyTypeServiceNamespaceAscending,
SortKeyTypeServiceNamespaceDescending,
SortKeyTypeLastAuthenticatedTimeAscending,
SortKeyTypeLastAuthenticatedTimeDescending,
}
}
const (
// StatusTypeActive is a StatusType enum value
StatusTypeActive = "Active"
@ -33502,6 +33672,14 @@ const (
StatusTypeInactive = "Inactive"
)
// StatusType_Values returns all elements of the StatusType enum
func StatusType_Values() []string {
return []string{
StatusTypeActive,
StatusTypeInactive,
}
}
const (
// SummaryKeyTypeUsers is a SummaryKeyType enum value
SummaryKeyTypeUsers = "Users"
@ -33581,3 +33759,35 @@ const (
// SummaryKeyTypeGlobalEndpointTokenVersion is a SummaryKeyType enum value
SummaryKeyTypeGlobalEndpointTokenVersion = "GlobalEndpointTokenVersion"
)
// SummaryKeyType_Values returns all elements of the SummaryKeyType enum
func SummaryKeyType_Values() []string {
return []string{
SummaryKeyTypeUsers,
SummaryKeyTypeUsersQuota,
SummaryKeyTypeGroups,
SummaryKeyTypeGroupsQuota,
SummaryKeyTypeServerCertificates,
SummaryKeyTypeServerCertificatesQuota,
SummaryKeyTypeUserPolicySizeQuota,
SummaryKeyTypeGroupPolicySizeQuota,
SummaryKeyTypeGroupsPerUserQuota,
SummaryKeyTypeSigningCertificatesPerUserQuota,
SummaryKeyTypeAccessKeysPerUserQuota,
SummaryKeyTypeMfadevices,
SummaryKeyTypeMfadevicesInUse,
SummaryKeyTypeAccountMfaenabled,
SummaryKeyTypeAccountAccessKeysPresent,
SummaryKeyTypeAccountSigningCertificatesPresent,
SummaryKeyTypeAttachedPoliciesPerGroupQuota,
SummaryKeyTypeAttachedPoliciesPerRoleQuota,
SummaryKeyTypeAttachedPoliciesPerUserQuota,
SummaryKeyTypePolicies,
SummaryKeyTypePoliciesQuota,
SummaryKeyTypePolicySizeQuota,
SummaryKeyTypePolicyVersionsInUse,
SummaryKeyTypePolicyVersionsInUseQuota,
SummaryKeyTypeVersionsPerPolicyQuota,
SummaryKeyTypeGlobalEndpointTokenVersion,
}
}

View File

@ -14540,6 +14540,15 @@ const (
AlgorithmSpecRsaesOaepSha256 = "RSAES_OAEP_SHA_256"
)
// AlgorithmSpec_Values returns all elements of the AlgorithmSpec enum
func AlgorithmSpec_Values() []string {
return []string{
AlgorithmSpecRsaesPkcs1V15,
AlgorithmSpecRsaesOaepSha1,
AlgorithmSpecRsaesOaepSha256,
}
}
const (
// ConnectionErrorCodeTypeInvalidCredentials is a ConnectionErrorCodeType enum value
ConnectionErrorCodeTypeInvalidCredentials = "INVALID_CREDENTIALS"
@ -14569,6 +14578,21 @@ const (
ConnectionErrorCodeTypeSubnetNotFound = "SUBNET_NOT_FOUND"
)
// ConnectionErrorCodeType_Values returns all elements of the ConnectionErrorCodeType enum
func ConnectionErrorCodeType_Values() []string {
return []string{
ConnectionErrorCodeTypeInvalidCredentials,
ConnectionErrorCodeTypeClusterNotFound,
ConnectionErrorCodeTypeNetworkErrors,
ConnectionErrorCodeTypeInternalError,
ConnectionErrorCodeTypeInsufficientCloudhsmHsms,
ConnectionErrorCodeTypeUserLockedOut,
ConnectionErrorCodeTypeUserNotFound,
ConnectionErrorCodeTypeUserLoggedIn,
ConnectionErrorCodeTypeSubnetNotFound,
}
}
const (
// ConnectionStateTypeConnected is a ConnectionStateType enum value
ConnectionStateTypeConnected = "CONNECTED"
@ -14586,6 +14610,17 @@ const (
ConnectionStateTypeDisconnecting = "DISCONNECTING"
)
// ConnectionStateType_Values returns all elements of the ConnectionStateType enum
func ConnectionStateType_Values() []string {
return []string{
ConnectionStateTypeConnected,
ConnectionStateTypeConnecting,
ConnectionStateTypeFailed,
ConnectionStateTypeDisconnected,
ConnectionStateTypeDisconnecting,
}
}
const (
// CustomerMasterKeySpecRsa2048 is a CustomerMasterKeySpec enum value
CustomerMasterKeySpecRsa2048 = "RSA_2048"
@ -14612,6 +14647,20 @@ const (
CustomerMasterKeySpecSymmetricDefault = "SYMMETRIC_DEFAULT"
)
// CustomerMasterKeySpec_Values returns all elements of the CustomerMasterKeySpec enum
func CustomerMasterKeySpec_Values() []string {
return []string{
CustomerMasterKeySpecRsa2048,
CustomerMasterKeySpecRsa3072,
CustomerMasterKeySpecRsa4096,
CustomerMasterKeySpecEccNistP256,
CustomerMasterKeySpecEccNistP384,
CustomerMasterKeySpecEccNistP521,
CustomerMasterKeySpecEccSecgP256k1,
CustomerMasterKeySpecSymmetricDefault,
}
}
const (
// DataKeyPairSpecRsa2048 is a DataKeyPairSpec enum value
DataKeyPairSpecRsa2048 = "RSA_2048"
@ -14635,6 +14684,19 @@ const (
DataKeyPairSpecEccSecgP256k1 = "ECC_SECG_P256K1"
)
// DataKeyPairSpec_Values returns all elements of the DataKeyPairSpec enum
func DataKeyPairSpec_Values() []string {
return []string{
DataKeyPairSpecRsa2048,
DataKeyPairSpecRsa3072,
DataKeyPairSpecRsa4096,
DataKeyPairSpecEccNistP256,
DataKeyPairSpecEccNistP384,
DataKeyPairSpecEccNistP521,
DataKeyPairSpecEccSecgP256k1,
}
}
const (
// DataKeySpecAes256 is a DataKeySpec enum value
DataKeySpecAes256 = "AES_256"
@ -14643,6 +14705,14 @@ const (
DataKeySpecAes128 = "AES_128"
)
// DataKeySpec_Values returns all elements of the DataKeySpec enum
func DataKeySpec_Values() []string {
return []string{
DataKeySpecAes256,
DataKeySpecAes128,
}
}
const (
// EncryptionAlgorithmSpecSymmetricDefault is a EncryptionAlgorithmSpec enum value
EncryptionAlgorithmSpecSymmetricDefault = "SYMMETRIC_DEFAULT"
@ -14654,6 +14724,15 @@ const (
EncryptionAlgorithmSpecRsaesOaepSha256 = "RSAES_OAEP_SHA_256"
)
// EncryptionAlgorithmSpec_Values returns all elements of the EncryptionAlgorithmSpec enum
func EncryptionAlgorithmSpec_Values() []string {
return []string{
EncryptionAlgorithmSpecSymmetricDefault,
EncryptionAlgorithmSpecRsaesOaepSha1,
EncryptionAlgorithmSpecRsaesOaepSha256,
}
}
const (
// ExpirationModelTypeKeyMaterialExpires is a ExpirationModelType enum value
ExpirationModelTypeKeyMaterialExpires = "KEY_MATERIAL_EXPIRES"
@ -14662,6 +14741,14 @@ const (
ExpirationModelTypeKeyMaterialDoesNotExpire = "KEY_MATERIAL_DOES_NOT_EXPIRE"
)
// ExpirationModelType_Values returns all elements of the ExpirationModelType enum
func ExpirationModelType_Values() []string {
return []string{
ExpirationModelTypeKeyMaterialExpires,
ExpirationModelTypeKeyMaterialDoesNotExpire,
}
}
const (
// GrantOperationDecrypt is a GrantOperation enum value
GrantOperationDecrypt = "Decrypt"
@ -14706,6 +14793,26 @@ const (
GrantOperationGenerateDataKeyPairWithoutPlaintext = "GenerateDataKeyPairWithoutPlaintext"
)
// GrantOperation_Values returns all elements of the GrantOperation enum
func GrantOperation_Values() []string {
return []string{
GrantOperationDecrypt,
GrantOperationEncrypt,
GrantOperationGenerateDataKey,
GrantOperationGenerateDataKeyWithoutPlaintext,
GrantOperationReEncryptFrom,
GrantOperationReEncryptTo,
GrantOperationSign,
GrantOperationVerify,
GrantOperationGetPublicKey,
GrantOperationCreateGrant,
GrantOperationRetireGrant,
GrantOperationDescribeKey,
GrantOperationGenerateDataKeyPair,
GrantOperationGenerateDataKeyPairWithoutPlaintext,
}
}
const (
// KeyManagerTypeAws is a KeyManagerType enum value
KeyManagerTypeAws = "AWS"
@ -14714,6 +14821,14 @@ const (
KeyManagerTypeCustomer = "CUSTOMER"
)
// KeyManagerType_Values returns all elements of the KeyManagerType enum
func KeyManagerType_Values() []string {
return []string{
KeyManagerTypeAws,
KeyManagerTypeCustomer,
}
}
const (
// KeyStateEnabled is a KeyState enum value
KeyStateEnabled = "Enabled"
@ -14731,6 +14846,17 @@ const (
KeyStateUnavailable = "Unavailable"
)
// KeyState_Values returns all elements of the KeyState enum
func KeyState_Values() []string {
return []string{
KeyStateEnabled,
KeyStateDisabled,
KeyStatePendingDeletion,
KeyStatePendingImport,
KeyStateUnavailable,
}
}
const (
// KeyUsageTypeSignVerify is a KeyUsageType enum value
KeyUsageTypeSignVerify = "SIGN_VERIFY"
@ -14739,6 +14865,14 @@ const (
KeyUsageTypeEncryptDecrypt = "ENCRYPT_DECRYPT"
)
// KeyUsageType_Values returns all elements of the KeyUsageType enum
func KeyUsageType_Values() []string {
return []string{
KeyUsageTypeSignVerify,
KeyUsageTypeEncryptDecrypt,
}
}
const (
// MessageTypeRaw is a MessageType enum value
MessageTypeRaw = "RAW"
@ -14747,6 +14881,14 @@ const (
MessageTypeDigest = "DIGEST"
)
// MessageType_Values returns all elements of the MessageType enum
func MessageType_Values() []string {
return []string{
MessageTypeRaw,
MessageTypeDigest,
}
}
const (
// OriginTypeAwsKms is a OriginType enum value
OriginTypeAwsKms = "AWS_KMS"
@ -14758,6 +14900,15 @@ const (
OriginTypeAwsCloudhsm = "AWS_CLOUDHSM"
)
// OriginType_Values returns all elements of the OriginType enum
func OriginType_Values() []string {
return []string{
OriginTypeAwsKms,
OriginTypeExternal,
OriginTypeAwsCloudhsm,
}
}
const (
// SigningAlgorithmSpecRsassaPssSha256 is a SigningAlgorithmSpec enum value
SigningAlgorithmSpecRsassaPssSha256 = "RSASSA_PSS_SHA_256"
@ -14787,7 +14938,29 @@ const (
SigningAlgorithmSpecEcdsaSha512 = "ECDSA_SHA_512"
)
// SigningAlgorithmSpec_Values returns all elements of the SigningAlgorithmSpec enum
func SigningAlgorithmSpec_Values() []string {
return []string{
SigningAlgorithmSpecRsassaPssSha256,
SigningAlgorithmSpecRsassaPssSha384,
SigningAlgorithmSpecRsassaPssSha512,
SigningAlgorithmSpecRsassaPkcs1V15Sha256,
SigningAlgorithmSpecRsassaPkcs1V15Sha384,
SigningAlgorithmSpecRsassaPkcs1V15Sha512,
SigningAlgorithmSpecEcdsaSha256,
SigningAlgorithmSpecEcdsaSha384,
SigningAlgorithmSpecEcdsaSha512,
}
}
const (
// WrappingKeySpecRsa2048 is a WrappingKeySpec enum value
WrappingKeySpecRsa2048 = "RSA_2048"
)
// WrappingKeySpec_Values returns all elements of the WrappingKeySpec enum
func WrappingKeySpec_Values() []string {
return []string{
WrappingKeySpecRsa2048,
}
}

View File

@ -60,22 +60,13 @@ func (c *Route53) AssociateVPCWithHostedZoneRequest(input *AssociateVPCWithHoste
// Associates an Amazon VPC with a private hosted zone.
//
// To perform the association, the VPC and the private hosted zone must already
// exist. Also, you can't convert a public hosted zone into a private hosted
// zone.
// exist. You can't convert a public hosted zone into a private hosted zone.
//
// If you want to associate a VPC that was created by one AWS account with a
// private hosted zone that was created by a different account, do one of the
// following:
//
// * Use the AWS account that created the private hosted zone to submit a
// CreateVPCAssociationAuthorization (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateVPCAssociationAuthorization.html)
// request. Then use the account that created the VPC to submit an AssociateVPCWithHostedZone
// request.
//
// * If a subnet in the VPC was shared with another account, you can use
// the account that the subnet was shared with to submit an AssociateVPCWithHostedZone
// request. For more information about sharing subnets, see Working with
// Shared VPCs (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html).
// If you want to associate a VPC that was created by using one AWS account
// with a private hosted zone that was created by using a different account,
// the AWS account that created the private hosted zone must first submit a
// CreateVPCAssociationAuthorization request. Then the account that created
// the VPC must submit an AssociateVPCWithHostedZone request.
//
// 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
@ -2012,6 +2003,19 @@ func (c *Route53) DeleteTrafficPolicyRequest(input *DeleteTrafficPolicyInput) (r
//
// Deletes a traffic policy.
//
// When you delete a traffic policy, Route 53 sets a flag on the policy to indicate
// that it has been deleted. However, Route 53 never fully deletes the traffic
// policy. Note the following:
//
// * Deleted traffic policies aren't listed if you run ListTrafficPolicies
// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListTrafficPolicies.html).
//
// * There's no way to get a list of deleted policies.
//
// * If you retain the ID of the policy, you can get information about the
// policy, including the traffic policy document, by running GetTrafficPolicy
// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetTrafficPolicy.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.
@ -3605,6 +3609,9 @@ func (c *Route53) GetTrafficPolicyRequest(input *GetTrafficPolicyInput) (req *re
//
// Gets information about a specific traffic policy version.
//
// For information about how of deleting a traffic policy affects the response
// from GetTrafficPolicy, see DeleteTrafficPolicy (https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteTrafficPolicy.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.
@ -5087,6 +5094,9 @@ func (c *Route53) ListTrafficPoliciesRequest(input *ListTrafficPoliciesInput) (r
// associated with the current AWS account. Policies are listed in the order
// that they were created in.
//
// For information about how of deleting a traffic policy affects the response
// from ListTrafficPolicies, see DeleteTrafficPolicy (https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteTrafficPolicy.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.
@ -11492,8 +11502,8 @@ type ListHostedZonesByVPCInput struct {
// (Optional) The maximum number of hosted zones that you want Amazon Route
// 53 to return. If the specified VPC is associated with more than MaxItems
// hosted zones, the response includes a NextToken element. NextToken contains
// the hosted zone ID of the first hosted zone that Route 53 will return if
// you submit another request.
// an encrypted token that identifies the first hosted zone that Route 53 will
// return if you submit another request.
MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
// If the previous response included a NextToken element, the specified VPC
@ -15452,6 +15462,17 @@ const (
AccountLimitTypeMaxTrafficPoliciesByOwner = "MAX_TRAFFIC_POLICIES_BY_OWNER"
)
// AccountLimitType_Values returns all elements of the AccountLimitType enum
func AccountLimitType_Values() []string {
return []string{
AccountLimitTypeMaxHealthChecksByOwner,
AccountLimitTypeMaxHostedZonesByOwner,
AccountLimitTypeMaxTrafficPolicyInstancesByOwner,
AccountLimitTypeMaxReusableDelegationSetsByOwner,
AccountLimitTypeMaxTrafficPoliciesByOwner,
}
}
const (
// ChangeActionCreate is a ChangeAction enum value
ChangeActionCreate = "CREATE"
@ -15463,6 +15484,15 @@ const (
ChangeActionUpsert = "UPSERT"
)
// ChangeAction_Values returns all elements of the ChangeAction enum
func ChangeAction_Values() []string {
return []string{
ChangeActionCreate,
ChangeActionDelete,
ChangeActionUpsert,
}
}
const (
// ChangeStatusPending is a ChangeStatus enum value
ChangeStatusPending = "PENDING"
@ -15471,6 +15501,14 @@ const (
ChangeStatusInsync = "INSYNC"
)
// ChangeStatus_Values returns all elements of the ChangeStatus enum
func ChangeStatus_Values() []string {
return []string{
ChangeStatusPending,
ChangeStatusInsync,
}
}
const (
// CloudWatchRegionUsEast1 is a CloudWatchRegion enum value
CloudWatchRegionUsEast1 = "us-east-1"
@ -15554,6 +15592,39 @@ const (
CloudWatchRegionUsIsobEast1 = "us-isob-east-1"
)
// CloudWatchRegion_Values returns all elements of the CloudWatchRegion enum
func CloudWatchRegion_Values() []string {
return []string{
CloudWatchRegionUsEast1,
CloudWatchRegionUsEast2,
CloudWatchRegionUsWest1,
CloudWatchRegionUsWest2,
CloudWatchRegionCaCentral1,
CloudWatchRegionEuCentral1,
CloudWatchRegionEuWest1,
CloudWatchRegionEuWest2,
CloudWatchRegionEuWest3,
CloudWatchRegionApEast1,
CloudWatchRegionMeSouth1,
CloudWatchRegionApSouth1,
CloudWatchRegionApSoutheast1,
CloudWatchRegionApSoutheast2,
CloudWatchRegionApNortheast1,
CloudWatchRegionApNortheast2,
CloudWatchRegionApNortheast3,
CloudWatchRegionEuNorth1,
CloudWatchRegionSaEast1,
CloudWatchRegionCnNorthwest1,
CloudWatchRegionCnNorth1,
CloudWatchRegionAfSouth1,
CloudWatchRegionEuSouth1,
CloudWatchRegionUsGovWest1,
CloudWatchRegionUsGovEast1,
CloudWatchRegionUsIsoEast1,
CloudWatchRegionUsIsobEast1,
}
}
const (
// ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value
ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
@ -15568,6 +15639,16 @@ const (
ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
)
// ComparisonOperator_Values returns all elements of the ComparisonOperator enum
func ComparisonOperator_Values() []string {
return []string{
ComparisonOperatorGreaterThanOrEqualToThreshold,
ComparisonOperatorGreaterThanThreshold,
ComparisonOperatorLessThanThreshold,
ComparisonOperatorLessThanOrEqualToThreshold,
}
}
const (
// HealthCheckRegionUsEast1 is a HealthCheckRegion enum value
HealthCheckRegionUsEast1 = "us-east-1"
@ -15594,6 +15675,20 @@ const (
HealthCheckRegionSaEast1 = "sa-east-1"
)
// HealthCheckRegion_Values returns all elements of the HealthCheckRegion enum
func HealthCheckRegion_Values() []string {
return []string{
HealthCheckRegionUsEast1,
HealthCheckRegionUsWest1,
HealthCheckRegionUsWest2,
HealthCheckRegionEuWest1,
HealthCheckRegionApSoutheast1,
HealthCheckRegionApSoutheast2,
HealthCheckRegionApNortheast1,
HealthCheckRegionSaEast1,
}
}
const (
// HealthCheckTypeHttp is a HealthCheckType enum value
HealthCheckTypeHttp = "HTTP"
@ -15617,6 +15712,19 @@ const (
HealthCheckTypeCloudwatchMetric = "CLOUDWATCH_METRIC"
)
// HealthCheckType_Values returns all elements of the HealthCheckType enum
func HealthCheckType_Values() []string {
return []string{
HealthCheckTypeHttp,
HealthCheckTypeHttps,
HealthCheckTypeHttpStrMatch,
HealthCheckTypeHttpsStrMatch,
HealthCheckTypeTcp,
HealthCheckTypeCalculated,
HealthCheckTypeCloudwatchMetric,
}
}
const (
// HostedZoneLimitTypeMaxRrsetsByZone is a HostedZoneLimitType enum value
HostedZoneLimitTypeMaxRrsetsByZone = "MAX_RRSETS_BY_ZONE"
@ -15625,6 +15733,14 @@ const (
HostedZoneLimitTypeMaxVpcsAssociatedByZone = "MAX_VPCS_ASSOCIATED_BY_ZONE"
)
// HostedZoneLimitType_Values returns all elements of the HostedZoneLimitType enum
func HostedZoneLimitType_Values() []string {
return []string{
HostedZoneLimitTypeMaxRrsetsByZone,
HostedZoneLimitTypeMaxVpcsAssociatedByZone,
}
}
const (
// InsufficientDataHealthStatusHealthy is a InsufficientDataHealthStatus enum value
InsufficientDataHealthStatusHealthy = "Healthy"
@ -15636,6 +15752,15 @@ const (
InsufficientDataHealthStatusLastKnownStatus = "LastKnownStatus"
)
// InsufficientDataHealthStatus_Values returns all elements of the InsufficientDataHealthStatus enum
func InsufficientDataHealthStatus_Values() []string {
return []string{
InsufficientDataHealthStatusHealthy,
InsufficientDataHealthStatusUnhealthy,
InsufficientDataHealthStatusLastKnownStatus,
}
}
const (
// RRTypeSoa is a RRType enum value
RRTypeSoa = "SOA"
@ -15674,6 +15799,24 @@ const (
RRTypeCaa = "CAA"
)
// RRType_Values returns all elements of the RRType enum
func RRType_Values() []string {
return []string{
RRTypeSoa,
RRTypeA,
RRTypeTxt,
RRTypeNs,
RRTypeCname,
RRTypeMx,
RRTypeNaptr,
RRTypePtr,
RRTypeSrv,
RRTypeSpf,
RRTypeAaaa,
RRTypeCaa,
}
}
const (
// ResettableElementNameFullyQualifiedDomainName is a ResettableElementName enum value
ResettableElementNameFullyQualifiedDomainName = "FullyQualifiedDomainName"
@ -15688,6 +15831,16 @@ const (
ResettableElementNameChildHealthChecks = "ChildHealthChecks"
)
// ResettableElementName_Values returns all elements of the ResettableElementName enum
func ResettableElementName_Values() []string {
return []string{
ResettableElementNameFullyQualifiedDomainName,
ResettableElementNameRegions,
ResettableElementNameResourcePath,
ResettableElementNameChildHealthChecks,
}
}
const (
// ResourceRecordSetFailoverPrimary is a ResourceRecordSetFailover enum value
ResourceRecordSetFailoverPrimary = "PRIMARY"
@ -15696,6 +15849,14 @@ const (
ResourceRecordSetFailoverSecondary = "SECONDARY"
)
// ResourceRecordSetFailover_Values returns all elements of the ResourceRecordSetFailover enum
func ResourceRecordSetFailover_Values() []string {
return []string{
ResourceRecordSetFailoverPrimary,
ResourceRecordSetFailoverSecondary,
}
}
const (
// ResourceRecordSetRegionUsEast1 is a ResourceRecordSetRegion enum value
ResourceRecordSetRegionUsEast1 = "us-east-1"
@ -15767,11 +15928,47 @@ const (
ResourceRecordSetRegionEuSouth1 = "eu-south-1"
)
// ResourceRecordSetRegion_Values returns all elements of the ResourceRecordSetRegion enum
func ResourceRecordSetRegion_Values() []string {
return []string{
ResourceRecordSetRegionUsEast1,
ResourceRecordSetRegionUsEast2,
ResourceRecordSetRegionUsWest1,
ResourceRecordSetRegionUsWest2,
ResourceRecordSetRegionCaCentral1,
ResourceRecordSetRegionEuWest1,
ResourceRecordSetRegionEuWest2,
ResourceRecordSetRegionEuWest3,
ResourceRecordSetRegionEuCentral1,
ResourceRecordSetRegionApSoutheast1,
ResourceRecordSetRegionApSoutheast2,
ResourceRecordSetRegionApNortheast1,
ResourceRecordSetRegionApNortheast2,
ResourceRecordSetRegionApNortheast3,
ResourceRecordSetRegionEuNorth1,
ResourceRecordSetRegionSaEast1,
ResourceRecordSetRegionCnNorth1,
ResourceRecordSetRegionCnNorthwest1,
ResourceRecordSetRegionApEast1,
ResourceRecordSetRegionMeSouth1,
ResourceRecordSetRegionApSouth1,
ResourceRecordSetRegionAfSouth1,
ResourceRecordSetRegionEuSouth1,
}
}
const (
// ReusableDelegationSetLimitTypeMaxZonesByReusableDelegationSet is a ReusableDelegationSetLimitType enum value
ReusableDelegationSetLimitTypeMaxZonesByReusableDelegationSet = "MAX_ZONES_BY_REUSABLE_DELEGATION_SET"
)
// ReusableDelegationSetLimitType_Values returns all elements of the ReusableDelegationSetLimitType enum
func ReusableDelegationSetLimitType_Values() []string {
return []string{
ReusableDelegationSetLimitTypeMaxZonesByReusableDelegationSet,
}
}
const (
// StatisticAverage is a Statistic enum value
StatisticAverage = "Average"
@ -15789,6 +15986,17 @@ const (
StatisticMinimum = "Minimum"
)
// Statistic_Values returns all elements of the Statistic enum
func Statistic_Values() []string {
return []string{
StatisticAverage,
StatisticSum,
StatisticSampleCount,
StatisticMaximum,
StatisticMinimum,
}
}
const (
// TagResourceTypeHealthcheck is a TagResourceType enum value
TagResourceTypeHealthcheck = "healthcheck"
@ -15797,6 +16005,14 @@ const (
TagResourceTypeHostedzone = "hostedzone"
)
// TagResourceType_Values returns all elements of the TagResourceType enum
func TagResourceType_Values() []string {
return []string{
TagResourceTypeHealthcheck,
TagResourceTypeHostedzone,
}
}
const (
// VPCRegionUsEast1 is a VPCRegion enum value
VPCRegionUsEast1 = "us-east-1"
@ -15876,3 +16092,35 @@ const (
// VPCRegionEuSouth1 is a VPCRegion enum value
VPCRegionEuSouth1 = "eu-south-1"
)
// VPCRegion_Values returns all elements of the VPCRegion enum
func VPCRegion_Values() []string {
return []string{
VPCRegionUsEast1,
VPCRegionUsEast2,
VPCRegionUsWest1,
VPCRegionUsWest2,
VPCRegionEuWest1,
VPCRegionEuWest2,
VPCRegionEuWest3,
VPCRegionEuCentral1,
VPCRegionApEast1,
VPCRegionMeSouth1,
VPCRegionUsGovWest1,
VPCRegionUsGovEast1,
VPCRegionUsIsoEast1,
VPCRegionUsIsobEast1,
VPCRegionApSoutheast1,
VPCRegionApSoutheast2,
VPCRegionApSouth1,
VPCRegionApNortheast1,
VPCRegionApNortheast2,
VPCRegionApNortheast3,
VPCRegionEuNorth1,
VPCRegionSaEast1,
VPCRegionCaCentral1,
VPCRegionCnNorth1,
VPCRegionAfSouth1,
VPCRegionEuSouth1,
}
}

View File

@ -10,7 +10,7 @@ go_library(
"doc.go",
"doc_custom.go",
"endpoint.go",
"endpoint_errors.go",
"endpoint_builder.go",
"errors.go",
"host_style_bucket.go",
"platform_handlers.go",
@ -34,7 +34,9 @@ go_library(
"//vendor/github.com/aws/aws-sdk-go/aws/endpoints:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/aws/request:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/aws/signer/v4:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/internal/s3err:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/internal/s3shared:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/internal/s3shared/arn:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/internal/s3shared/s3err:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/internal/sdkio:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/private/checksum:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/private/protocol:go_default_library",
@ -43,6 +45,5 @@ go_library(
"//vendor/github.com/aws/aws-sdk-go/private/protocol/rest:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/private/protocol/restxml:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil:go_default_library",
"//vendor/github.com/aws/aws-sdk-go/service/s3/internal/arn:go_default_library",
],
)

File diff suppressed because it is too large Load Diff

View File

@ -3,8 +3,8 @@ package s3
import (
"github.com/aws/aws-sdk-go/aws/client"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/internal/s3err"
"github.com/aws/aws-sdk-go/service/s3/internal/arn"
"github.com/aws/aws-sdk-go/internal/s3shared/arn"
"github.com/aws/aws-sdk-go/internal/s3shared/s3err"
)
func init() {
@ -69,6 +69,8 @@ type copySourceSSECustomerKeyGetter interface {
getCopySourceSSECustomerKey() string
}
// endpointARNGetter is an accessor interface to grab the
// the field corresponding to an endpoint ARN input.
type endpointARNGetter interface {
getEndpointARN() (arn.Resource, error)
hasEndpointARN() bool

View File

@ -104,19 +104,6 @@
// content from S3. The Encryption and Decryption clients can be used concurrently
// once the client is created.
//
// sess := session.Must(session.NewSession())
//
// // Create the decryption client.
// svc := s3crypto.NewDecryptionClient(sess)
//
// // The object will be downloaded from S3 and decrypted locally. By metadata
// // about the object's encryption will instruct the decryption client how
// // decrypt the content of the object. By default KMS is used for keys.
// result, err := svc.GetObject(&s3.GetObjectInput {
// Bucket: aws.String(myBucket),
// Key: aws.String(myKey),
// })
//
// See the s3crypto package documentation for more information.
// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3crypto/
//

View File

@ -6,11 +6,9 @@ import (
"github.com/aws/aws-sdk-go/aws"
awsarn "github.com/aws/aws-sdk-go/aws/arn"
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/endpoints"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/private/protocol"
"github.com/aws/aws-sdk-go/service/s3/internal/arn"
"github.com/aws/aws-sdk-go/internal/s3shared"
"github.com/aws/aws-sdk-go/internal/s3shared/arn"
)
// Used by shapes with members decorated as endpoint ARN.
@ -22,12 +20,66 @@ func accessPointResourceParser(a awsarn.ARN) (arn.Resource, error) {
resParts := arn.SplitResource(a.Resource)
switch resParts[0] {
case "accesspoint":
if a.Service != "s3" {
return arn.AccessPointARN{}, arn.InvalidARNError{ARN: a, Reason: "service is not s3"}
}
return arn.ParseAccessPointResource(a, resParts[1:])
case "outpost":
if a.Service != "s3-outposts" {
return arn.OutpostAccessPointARN{}, arn.InvalidARNError{ARN: a, Reason: "service is not s3-outposts"}
}
return parseOutpostAccessPointResource(a, resParts[1:])
default:
return nil, arn.InvalidARNError{ARN: a, Reason: "unknown resource type"}
}
}
// parseOutpostAccessPointResource attempts to parse the ARNs resource as an
// outpost access-point resource.
//
// Supported Outpost AccessPoint ARN format:
// - ARN format: arn:{partition}:s3-outposts:{region}:{accountId}:outpost/{outpostId}/accesspoint/{accesspointName}
// - example: arn:aws:s3-outposts:us-west-2:012345678901:outpost/op-1234567890123456/accesspoint/myaccesspoint
//
func parseOutpostAccessPointResource(a awsarn.ARN, resParts []string) (arn.OutpostAccessPointARN, error) {
// outpost accesspoint arn is only valid if service is s3-outposts
if a.Service != "s3-outposts" {
return arn.OutpostAccessPointARN{}, arn.InvalidARNError{ARN: a, Reason: "service is not s3-outposts"}
}
if len(resParts) == 0 {
return arn.OutpostAccessPointARN{}, arn.InvalidARNError{ARN: a, Reason: "outpost resource-id not set"}
}
if len(resParts) < 3 {
return arn.OutpostAccessPointARN{}, arn.InvalidARNError{
ARN: a, Reason: "access-point resource not set in Outpost ARN",
}
}
resID := strings.TrimSpace(resParts[0])
if len(resID) == 0 {
return arn.OutpostAccessPointARN{}, arn.InvalidARNError{ARN: a, Reason: "outpost resource-id not set"}
}
var outpostAccessPointARN = arn.OutpostAccessPointARN{}
switch resParts[1] {
case "accesspoint":
accessPointARN, err := arn.ParseAccessPointResource(a, resParts[2:])
if err != nil {
return arn.OutpostAccessPointARN{}, err
}
// set access-point arn
outpostAccessPointARN.AccessPointARN = accessPointARN
default:
return arn.OutpostAccessPointARN{}, arn.InvalidARNError{ARN: a, Reason: "access-point resource not set in Outpost ARN"}
}
// set outpost id
outpostAccessPointARN.OutpostID = resID
return outpostAccessPointARN, nil
}
func endpointHandler(req *request.Request) {
endpoint, ok := req.Params.(endpointARNGetter)
if !ok || !endpoint.hasEndpointARN() {
@ -37,29 +89,29 @@ func endpointHandler(req *request.Request) {
resource, err := endpoint.getEndpointARN()
if err != nil {
req.Error = newInvalidARNError(nil, err)
req.Error = s3shared.NewInvalidARNError(nil, err)
return
}
resReq := resourceRequest{
resReq := s3shared.ResourceRequest{
Resource: resource,
Request: req,
}
if resReq.IsCrossPartition() {
req.Error = newClientPartitionMismatchError(resource,
req.Error = s3shared.NewClientPartitionMismatchError(resource,
req.ClientInfo.PartitionID, aws.StringValue(req.Config.Region), nil)
return
}
if !resReq.AllowCrossRegion() && resReq.IsCrossRegion() {
req.Error = newClientRegionMismatchError(resource,
req.Error = s3shared.NewClientRegionMismatchError(resource,
req.ClientInfo.PartitionID, aws.StringValue(req.Config.Region), nil)
return
}
if resReq.HasCustomEndpoint() {
req.Error = newInvalidARNWithCustomEndpointError(resource, nil)
req.Error = s3shared.NewInvalidARNWithCustomEndpointError(resource, nil)
return
}
@ -69,47 +121,22 @@ func endpointHandler(req *request.Request) {
if err != nil {
req.Error = err
}
case arn.OutpostAccessPointARN:
// outposts does not support FIPS regions
if resReq.ResourceConfiguredForFIPS() {
req.Error = s3shared.NewInvalidARNWithFIPSError(resource, nil)
return
}
err = updateRequestOutpostAccessPointEndpoint(req, tv)
if err != nil {
req.Error = err
}
default:
req.Error = newInvalidARNError(resource, nil)
req.Error = s3shared.NewInvalidARNError(resource, nil)
}
}
type resourceRequest struct {
Resource arn.Resource
Request *request.Request
}
func (r resourceRequest) ARN() awsarn.ARN {
return r.Resource.GetARN()
}
func (r resourceRequest) AllowCrossRegion() bool {
return aws.BoolValue(r.Request.Config.S3UseARNRegion)
}
func (r resourceRequest) UseFIPS() bool {
return isFIPS(aws.StringValue(r.Request.Config.Region))
}
func (r resourceRequest) IsCrossPartition() bool {
return r.Request.ClientInfo.PartitionID != r.Resource.GetARN().Partition
}
func (r resourceRequest) IsCrossRegion() bool {
return isCrossRegion(r.Request, r.Resource.GetARN().Region)
}
func (r resourceRequest) HasCustomEndpoint() bool {
return len(aws.StringValue(r.Request.Config.Endpoint)) > 0
}
func isFIPS(clientRegion string) bool {
return strings.HasPrefix(clientRegion, "fips-") || strings.HasSuffix(clientRegion, "-fips")
}
func isCrossRegion(req *request.Request, otherRegion string) bool {
return req.ClientInfo.SigningRegion != otherRegion
}
func updateBucketEndpointFromParams(r *request.Request) {
bucket, ok := bucketNameFromReqParams(r.Params)
if !ok {
@ -124,7 +151,7 @@ func updateBucketEndpointFromParams(r *request.Request) {
func updateRequestAccessPointEndpoint(req *request.Request, accessPoint arn.AccessPointARN) error {
// Accelerate not supported
if aws.BoolValue(req.Config.S3UseAccelerate) {
return newClientConfiguredForAccelerateError(accessPoint,
return s3shared.NewClientConfiguredForAccelerateError(accessPoint,
req.ClientInfo.PartitionID, aws.StringValue(req.Config.Region), nil)
}
@ -132,7 +159,7 @@ func updateRequestAccessPointEndpoint(req *request.Request, accessPoint arn.Acce
// are not supported.
req.Config.DisableEndpointHostPrefix = aws.Bool(false)
if err := accessPointEndpointBuilder(accessPoint).Build(req); err != nil {
if err := accessPointEndpointBuilder(accessPoint).build(req); err != nil {
return err
}
@ -141,93 +168,34 @@ func updateRequestAccessPointEndpoint(req *request.Request, accessPoint arn.Acce
return nil
}
func updateRequestOutpostAccessPointEndpoint(req *request.Request, accessPoint arn.OutpostAccessPointARN) error {
// Accelerate not supported
if aws.BoolValue(req.Config.S3UseAccelerate) {
return s3shared.NewClientConfiguredForAccelerateError(accessPoint,
req.ClientInfo.PartitionID, aws.StringValue(req.Config.Region), nil)
}
// Dualstack not supported
if aws.BoolValue(req.Config.UseDualStack) {
return s3shared.NewClientConfiguredForDualStackError(accessPoint,
req.ClientInfo.PartitionID, aws.StringValue(req.Config.Region), nil)
}
// Ignore the disable host prefix for access points since custom endpoints
// are not supported.
req.Config.DisableEndpointHostPrefix = aws.Bool(false)
if err := outpostAccessPointEndpointBuilder(accessPoint).build(req); err != nil {
return err
}
removeBucketFromPath(req.HTTPRequest.URL)
return nil
}
func removeBucketFromPath(u *url.URL) {
u.Path = strings.Replace(u.Path, "/{Bucket}", "", -1)
if u.Path == "" {
u.Path = "/"
}
}
type accessPointEndpointBuilder arn.AccessPointARN
const (
accessPointPrefixLabel = "accesspoint"
accountIDPrefixLabel = "accountID"
accesPointPrefixTemplate = "{" + accessPointPrefixLabel + "}-{" + accountIDPrefixLabel + "}."
)
func (a accessPointEndpointBuilder) Build(req *request.Request) error {
resolveRegion := arn.AccessPointARN(a).Region
cfgRegion := aws.StringValue(req.Config.Region)
if isFIPS(cfgRegion) {
if aws.BoolValue(req.Config.S3UseARNRegion) && isCrossRegion(req, resolveRegion) {
// FIPS with cross region is not supported, the SDK must fail
// because there is no well defined method for SDK to construct a
// correct FIPS endpoint.
return newClientConfiguredForCrossRegionFIPSError(arn.AccessPointARN(a),
req.ClientInfo.PartitionID, cfgRegion, nil)
}
resolveRegion = cfgRegion
}
endpoint, err := resolveRegionalEndpoint(req, resolveRegion)
if err != nil {
return newFailedToResolveEndpointError(arn.AccessPointARN(a),
req.ClientInfo.PartitionID, cfgRegion, err)
}
if err = updateRequestEndpoint(req, endpoint.URL); err != nil {
return err
}
const serviceEndpointLabel = "s3-accesspoint"
// dualstack provided by endpoint resolver
cfgHost := req.HTTPRequest.URL.Host
if strings.HasPrefix(cfgHost, "s3") {
req.HTTPRequest.URL.Host = serviceEndpointLabel + cfgHost[2:]
}
protocol.HostPrefixBuilder{
Prefix: accesPointPrefixTemplate,
LabelsFn: a.hostPrefixLabelValues,
}.Build(req)
req.ClientInfo.SigningName = endpoint.SigningName
req.ClientInfo.SigningRegion = endpoint.SigningRegion
err = protocol.ValidateEndpointHost(req.Operation.Name, req.HTTPRequest.URL.Host)
if err != nil {
return newInvalidARNError(arn.AccessPointARN(a), err)
}
return nil
}
func (a accessPointEndpointBuilder) hostPrefixLabelValues() map[string]string {
return map[string]string{
accessPointPrefixLabel: arn.AccessPointARN(a).AccessPointName,
accountIDPrefixLabel: arn.AccessPointARN(a).AccountID,
}
}
func resolveRegionalEndpoint(r *request.Request, region string) (endpoints.ResolvedEndpoint, error) {
return r.Config.EndpointResolver.EndpointFor(EndpointsID, region, func(opts *endpoints.Options) {
opts.DisableSSL = aws.BoolValue(r.Config.DisableSSL)
opts.UseDualStack = aws.BoolValue(r.Config.UseDualStack)
opts.S3UsEast1RegionalEndpoint = endpoints.RegionalS3UsEast1Endpoint
})
}
func updateRequestEndpoint(r *request.Request, endpoint string) (err error) {
endpoint = endpoints.AddScheme(endpoint, aws.BoolValue(r.Config.DisableSSL))
r.HTTPRequest.URL, err = url.Parse(endpoint + r.Operation.HTTPPath)
if err != nil {
return awserr.New(request.ErrCodeSerialization,
"failed to parse endpoint URL", err)
}
return nil
}

View File

@ -0,0 +1,177 @@
package s3
import (
"net/url"
"strings"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/endpoints"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/internal/s3shared"
"github.com/aws/aws-sdk-go/internal/s3shared/arn"
"github.com/aws/aws-sdk-go/private/protocol"
)
const (
accessPointPrefixLabel = "accesspoint"
accountIDPrefixLabel = "accountID"
accessPointPrefixTemplate = "{" + accessPointPrefixLabel + "}-{" + accountIDPrefixLabel + "}."
outpostPrefixLabel = "outpost"
outpostAccessPointPrefixTemplate = accessPointPrefixTemplate + "{" + outpostPrefixLabel + "}."
)
// accessPointEndpointBuilder represents the endpoint builder for access point arn
type accessPointEndpointBuilder arn.AccessPointARN
// build builds the endpoint for corresponding access point arn
//
// For building an endpoint from access point arn, format used is:
// - Access point endpoint format : {accesspointName}-{accountId}.s3-accesspoint.{region}.{dnsSuffix}
// - example : myaccesspoint-012345678901.s3-accesspoint.us-west-2.amazonaws.com
//
// Access Point Endpoint requests are signed using "s3" as signing name.
//
func (a accessPointEndpointBuilder) build(req *request.Request) error {
resolveService := arn.AccessPointARN(a).Service
resolveRegion := arn.AccessPointARN(a).Region
cfgRegion := aws.StringValue(req.Config.Region)
if s3shared.IsFIPS(cfgRegion) {
if aws.BoolValue(req.Config.S3UseARNRegion) && s3shared.IsCrossRegion(req, resolveRegion) {
// FIPS with cross region is not supported, the SDK must fail
// because there is no well defined method for SDK to construct a
// correct FIPS endpoint.
return s3shared.NewClientConfiguredForCrossRegionFIPSError(arn.AccessPointARN(a),
req.ClientInfo.PartitionID, cfgRegion, nil)
}
resolveRegion = cfgRegion
}
endpoint, err := resolveRegionalEndpoint(req, resolveRegion, resolveService)
if err != nil {
return s3shared.NewFailedToResolveEndpointError(arn.AccessPointARN(a),
req.ClientInfo.PartitionID, cfgRegion, err)
}
if err = updateRequestEndpoint(req, endpoint.URL); err != nil {
return err
}
const serviceEndpointLabel = "s3-accesspoint"
// dual stack provided by endpoint resolver
cfgHost := req.HTTPRequest.URL.Host
if strings.HasPrefix(cfgHost, "s3") {
req.HTTPRequest.URL.Host = serviceEndpointLabel + cfgHost[2:]
}
protocol.HostPrefixBuilder{
Prefix: accessPointPrefixTemplate,
LabelsFn: a.hostPrefixLabelValues,
}.Build(req)
// signer redirection
redirectSigner(req, endpoint.SigningName, endpoint.SigningRegion)
err = protocol.ValidateEndpointHost(req.Operation.Name, req.HTTPRequest.URL.Host)
if err != nil {
return s3shared.NewInvalidARNError(arn.AccessPointARN(a), err)
}
return nil
}
func (a accessPointEndpointBuilder) hostPrefixLabelValues() map[string]string {
return map[string]string{
accessPointPrefixLabel: arn.AccessPointARN(a).AccessPointName,
accountIDPrefixLabel: arn.AccessPointARN(a).AccountID,
}
}
// outpostAccessPointEndpointBuilder represents the Endpoint builder for outpost access point arn.
type outpostAccessPointEndpointBuilder arn.OutpostAccessPointARN
// build builds an endpoint corresponding to the outpost access point arn.
//
// For building an endpoint from outpost access point arn, format used is:
// - Outpost access point endpoint format : {accesspointName}-{accountId}.{outpostId}.s3-outposts.{region}.{dnsSuffix}
// - example : myaccesspoint-012345678901.op-01234567890123456.s3-outposts.us-west-2.amazonaws.com
//
// Outpost AccessPoint Endpoint request are signed using "s3-outposts" as signing name.
//
func (o outpostAccessPointEndpointBuilder) build(req *request.Request) error {
resolveRegion := o.Region
resolveService := o.Service
endpointsID := resolveService
if resolveService == "s3-outposts" {
endpointsID = "s3"
}
endpoint, err := resolveRegionalEndpoint(req, resolveRegion, endpointsID)
if err != nil {
return s3shared.NewFailedToResolveEndpointError(o,
req.ClientInfo.PartitionID, resolveRegion, err)
}
if err = updateRequestEndpoint(req, endpoint.URL); err != nil {
return err
}
// add url host as s3-outposts
cfgHost := req.HTTPRequest.URL.Host
if strings.HasPrefix(cfgHost, endpointsID) {
req.HTTPRequest.URL.Host = resolveService + cfgHost[len(endpointsID):]
}
protocol.HostPrefixBuilder{
Prefix: outpostAccessPointPrefixTemplate,
LabelsFn: o.hostPrefixLabelValues,
}.Build(req)
// set the signing region, name to resolved names from ARN
redirectSigner(req, resolveService, resolveRegion)
err = protocol.ValidateEndpointHost(req.Operation.Name, req.HTTPRequest.URL.Host)
if err != nil {
return s3shared.NewInvalidARNError(o, err)
}
return nil
}
func (o outpostAccessPointEndpointBuilder) hostPrefixLabelValues() map[string]string {
return map[string]string{
accessPointPrefixLabel: o.AccessPointName,
accountIDPrefixLabel: o.AccountID,
outpostPrefixLabel: o.OutpostID,
}
}
func resolveRegionalEndpoint(r *request.Request, region string, endpointsID string) (endpoints.ResolvedEndpoint, error) {
return r.Config.EndpointResolver.EndpointFor(endpointsID, region, func(opts *endpoints.Options) {
opts.DisableSSL = aws.BoolValue(r.Config.DisableSSL)
opts.UseDualStack = aws.BoolValue(r.Config.UseDualStack)
opts.S3UsEast1RegionalEndpoint = endpoints.RegionalS3UsEast1Endpoint
})
}
func updateRequestEndpoint(r *request.Request, endpoint string) (err error) {
endpoint = endpoints.AddScheme(endpoint, aws.BoolValue(r.Config.DisableSSL))
r.HTTPRequest.URL, err = url.Parse(endpoint + r.Operation.HTTPPath)
if err != nil {
return awserr.New(request.ErrCodeSerialization,
"failed to parse endpoint URL", err)
}
return nil
}
// redirectSigner sets signing name, signing region for a request
func redirectSigner(req *request.Request, signingName string, signingRegion string) {
req.ClientInfo.SigningName = signingName
req.ClientInfo.SigningRegion = signingRegion
}

View File

@ -1,151 +0,0 @@
package s3
import (
"fmt"
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/service/s3/internal/arn"
)
const (
invalidARNErrorErrCode = "InvalidARNError"
configurationErrorErrCode = "ConfigurationError"
)
type invalidARNError struct {
message string
resource arn.Resource
origErr error
}
func (e invalidARNError) Error() string {
var extra string
if e.resource != nil {
extra = "ARN: " + e.resource.String()
}
return awserr.SprintError(e.Code(), e.Message(), extra, e.origErr)
}
func (e invalidARNError) Code() string {
return invalidARNErrorErrCode
}
func (e invalidARNError) Message() string {
return e.message
}
func (e invalidARNError) OrigErr() error {
return e.origErr
}
func newInvalidARNError(resource arn.Resource, err error) invalidARNError {
return invalidARNError{
message: "invalid ARN",
origErr: err,
resource: resource,
}
}
func newInvalidARNWithCustomEndpointError(resource arn.Resource, err error) invalidARNError {
return invalidARNError{
message: "resource ARN not supported with custom client endpoints",
origErr: err,
resource: resource,
}
}
// ARN not supported for the target partition
func newInvalidARNWithUnsupportedPartitionError(resource arn.Resource, err error) invalidARNError {
return invalidARNError{
message: "resource ARN not supported for the target ARN partition",
origErr: err,
resource: resource,
}
}
type configurationError struct {
message string
resource arn.Resource
clientPartitionID string
clientRegion string
origErr error
}
func (e configurationError) Error() string {
extra := fmt.Sprintf("ARN: %s, client partition: %s, client region: %s",
e.resource, e.clientPartitionID, e.clientRegion)
return awserr.SprintError(e.Code(), e.Message(), extra, e.origErr)
}
func (e configurationError) Code() string {
return configurationErrorErrCode
}
func (e configurationError) Message() string {
return e.message
}
func (e configurationError) OrigErr() error {
return e.origErr
}
func newClientPartitionMismatchError(resource arn.Resource, clientPartitionID, clientRegion string, err error) configurationError {
return configurationError{
message: "client partition does not match provided ARN partition",
origErr: err,
resource: resource,
clientPartitionID: clientPartitionID,
clientRegion: clientRegion,
}
}
func newClientRegionMismatchError(resource arn.Resource, clientPartitionID, clientRegion string, err error) configurationError {
return configurationError{
message: "client region does not match provided ARN region",
origErr: err,
resource: resource,
clientPartitionID: clientPartitionID,
clientRegion: clientRegion,
}
}
func newFailedToResolveEndpointError(resource arn.Resource, clientPartitionID, clientRegion string, err error) configurationError {
return configurationError{
message: "endpoint resolver failed to find an endpoint for the provided ARN region",
origErr: err,
resource: resource,
clientPartitionID: clientPartitionID,
clientRegion: clientRegion,
}
}
func newClientConfiguredForFIPSError(resource arn.Resource, clientPartitionID, clientRegion string, err error) configurationError {
return configurationError{
message: "client configured for fips but cross-region resource ARN provided",
origErr: err,
resource: resource,
clientPartitionID: clientPartitionID,
clientRegion: clientRegion,
}
}
func newClientConfiguredForAccelerateError(resource arn.Resource, clientPartitionID, clientRegion string, err error) configurationError {
return configurationError{
message: "client configured for S3 Accelerate but is supported with resource ARN",
origErr: err,
resource: resource,
clientPartitionID: clientPartitionID,
clientRegion: clientRegion,
}
}
func newClientConfiguredForCrossRegionFIPSError(resource arn.Resource, clientPartitionID, clientRegion string, err error) configurationError {
return configurationError{
message: "client configured for FIPS with cross-region enabled but is supported with cross-region resource ARN",
origErr: err,
resource: resource,
clientPartitionID: clientPartitionID,
clientRegion: clientRegion,
}
}

View File

@ -8,7 +8,7 @@ const (
// "BucketAlreadyExists".
//
// The requested bucket name is not available. The bucket namespace is shared
// by all users of the system. Please select a different name and try again.
// by all users of the system. Select a different name and try again.
ErrCodeBucketAlreadyExists = "BucketAlreadyExists"
// ErrCodeBucketAlreadyOwnedByYou for service response error code

View File

@ -1,13 +0,0 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = [
"accesspoint_arn.go",
"arn.go",
],
importmap = "k8s.io/kops/vendor/github.com/aws/aws-sdk-go/service/s3/internal/arn",
importpath = "github.com/aws/aws-sdk-go/service/s3/internal/arn",
visibility = ["//vendor/github.com/aws/aws-sdk-go/service/s3:__subpackages__"],
deps = ["//vendor/github.com/aws/aws-sdk-go/aws/arn:go_default_library"],
)

View File

@ -69,7 +69,7 @@ func computeKeyMD5(keyHeader, keyMD5Header, key string, r *http.Request) {
return
}
// In backwards compatiable, the header's value is not base64 encoded,
// In backwards compatible, the header's value is not base64 encoded,
// and needs to be encoded and updated by the SDK's customizations.
b64Key := base64.StdEncoding.EncodeToString([]byte(key))
r.Header.Set(keyHeader, b64Key)

View File

@ -207,6 +207,10 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
// and Deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
// in the IAM User Guide.
//
// * ErrCodeExpiredTokenException "ExpiredTokenException"
// The web identity token that was passed is expired or is not valid. Get a
// new identity token from the identity provider and then retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole
func (c *STS) AssumeRole(input *AssumeRoleInput) (*AssumeRoleOutput, error) {
req, out := c.AssumeRoleRequest(input)
@ -626,7 +630,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
// * Using Web Identity Federation API Operations for Mobile Apps (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual.html)
// and Federation Through a Web-based Identity Provider (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity).
//
// * Web Identity Federation Playground (https://web-identity-federation-playground.s3.amazonaws.com/index.html).
// * Web Identity Federation Playground (https://aws.amazon.com/blogs/aws/the-aws-web-identity-federation-playground/).
// Walk through the process of authenticating through Login with Amazon,
// Facebook, or Google, getting temporary security credentials, and then
// using those credentials to make a request to AWS.
@ -1788,7 +1792,7 @@ type AssumeRoleWithSAMLInput struct {
// in the IAM User Guide.
//
// SAMLAssertion is a required field
SAMLAssertion *string `min:"4" type:"string" required:"true" sensitive:"true"`
SAMLAssertion *string `min:"4" type:"string" required:"true"`
}
// String returns the string representation
@ -2100,7 +2104,7 @@ type AssumeRoleWithWebIdentityInput struct {
// the application makes an AssumeRoleWithWebIdentity call.
//
// WebIdentityToken is a required field
WebIdentityToken *string `min:"4" type:"string" required:"true" sensitive:"true"`
WebIdentityToken *string `min:"4" type:"string" required:"true"`
}
// String returns the string representation

View File

@ -3,87 +3,11 @@
// Package sts provides the client and types for making API
// requests to AWS Security Token Service.
//
// The AWS Security Token Service (STS) is a web service that enables you to
// request temporary, limited-privilege credentials for AWS Identity and Access
// Management (IAM) users or for users that you authenticate (federated users).
// This guide provides descriptions of the STS API. For more detailed information
// about using this service, go to Temporary Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html).
//
// For information about setting up signatures and authorization through the
// API, go to Signing AWS API Requests (https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)
// in the AWS General Reference. For general information about the Query API,
// go to Making Query Requests (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
// in Using IAM. For information about using security tokens with other AWS
// products, go to AWS Services That Work with IAM (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)
// in the IAM User Guide.
//
// If you're new to AWS and need additional technical information about a specific
// AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/
// (http://aws.amazon.com/documentation/).
//
// Endpoints
//
// By default, AWS Security Token Service (STS) is available as a global service,
// and all AWS STS requests go to a single endpoint at https://sts.amazonaws.com.
// Global requests map to the US East (N. Virginia) region. AWS recommends using
// Regional AWS STS endpoints instead of the global endpoint to reduce latency,
// build in redundancy, and increase session token validity. For more information,
// see Managing AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
// in the IAM User Guide.
//
// Most AWS Regions are enabled for operations in all AWS services by default.
// Those Regions are automatically activated for use with AWS STS. Some Regions,
// such as Asia Pacific (Hong Kong), must be manually enabled. To learn more
// about enabling and disabling AWS Regions, see Managing AWS Regions (https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)
// in the AWS General Reference. When you enable these AWS Regions, they are
// automatically activated for use with AWS STS. You cannot activate the STS
// endpoint for a Region that is disabled. Tokens that are valid in all AWS
// Regions are longer than tokens that are valid in Regions that are enabled
// by default. Changing this setting might affect existing systems where you
// temporarily store tokens. For more information, see Managing Global Endpoint
// Session Tokens (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#sts-regions-manage-tokens)
// in the IAM User Guide.
//
// After you activate a Region for use with AWS STS, you can direct AWS STS
// API calls to that Region. AWS STS recommends that you provide both the Region
// and endpoint when you make calls to a Regional endpoint. You can provide
// the Region alone for manually enabled Regions, such as Asia Pacific (Hong
// Kong). In this case, the calls are directed to the STS Regional endpoint.
// However, if you provide the Region alone for Regions enabled by default,
// the calls are directed to the global endpoint of https://sts.amazonaws.com.
//
// To view the list of AWS STS endpoints and whether they are active by default,
// see Writing Code to Use AWS STS Regions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#id_credentials_temp_enable-regions_writing_code)
// in the IAM User Guide.
//
// Recording API requests
//
// STS supports AWS CloudTrail, which is a service that records AWS calls for
// your AWS account and delivers log files to an Amazon S3 bucket. By using
// information collected by CloudTrail, you can determine what requests were
// successfully made to STS, who made the request, when it was made, and so
// on.
//
// If you activate AWS STS endpoints in Regions other than the default global
// endpoint, then you must also turn on CloudTrail logging in those Regions.
// This is necessary to record any AWS STS API calls that are made in those
// Regions. For more information, see Turning On CloudTrail in Additional Regions
// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/aggregating_logs_regions_turn_on_ct.html)
// in the AWS CloudTrail User Guide.
//
// AWS Security Token Service (STS) is a global service with a single endpoint
// at https://sts.amazonaws.com. Calls to this endpoint are logged as calls
// to a global service. However, because this endpoint is physically located
// in the US East (N. Virginia) Region, your logs list us-east-1 as the event
// Region. CloudTrail does not write these logs to the US East (Ohio) Region
// unless you choose to include global service logs in that Region. CloudTrail
// writes calls to all Regional endpoints to their respective Regions. For example,
// calls to sts.us-east-2.amazonaws.com are published to the US East (Ohio)
// Region and calls to sts.eu-central-1.amazonaws.com are published to the EU
// (Frankfurt) Region.
//
// To learn more about CloudTrail, including how to turn it on and find your
// log files, see the AWS CloudTrail User Guide (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html).
// AWS Security Token Service (STS) enables you to request temporary, limited-privilege
// credentials for AWS Identity and Access Management (IAM) users or for users
// that you authenticate (federated users). This guide provides descriptions
// of the STS API. For more information about using this service, see Temporary
// Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html).
//
// See https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15 for more information on this service.
//

View File

@ -12,6 +12,17 @@ go:
- 1.11.x
- 1.12.x
- 1.13.x
- 1.14.x
- 1.15.x
- tip
install: go get -v -t ./...
script: make test
allow_failures:
- go: tip
script: make build
matrix:
include:
- language: go
go: 1.15.x
script: make test

View File

@ -1,6 +1,8 @@
CMD = jpgo
SRC_PKGS=./ ./cmd/... ./fuzz/...
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " test to run all the tests"
@ -9,21 +11,22 @@ help:
generate:
go generate ./...
go generate ${SRC_PKGS}
build:
rm -f $(CMD)
go build ./...
go build ${SRC_PKGS}
rm -f cmd/$(CMD)/$(CMD) && cd cmd/$(CMD)/ && go build ./...
mv cmd/$(CMD)/$(CMD) .
test:
go test -v ./...
test: test-internal-testify
echo "making tests ${SRC_PKGS}"
go test -v ${SRC_PKGS}
check:
go vet ./...
@echo "golint ./..."
@lint=`golint ./...`; \
go vet ${SRC_PKGS}
@echo "golint ${SRC_PKGS}"
@lint=`golint ${SRC_PKGS}`; \
lint=`echo "$$lint" | grep -v "astnodetype_string.go" | grep -v "toktype_string.go"`; \
echo "$$lint"; \
if [ "$$lint" != "" ]; then exit 1; fi
@ -42,3 +45,7 @@ bench:
pprof-cpu:
go tool pprof ./go-jmespath.test ./cpu.out
test-internal-testify:
cd internal/testify && go test ./...

View File

@ -2,4 +2,4 @@ module github.com/jmespath/go-jmespath
go 1.14
require github.com/stretchr/testify v1.5.1
require github.com/jmespath/go-jmespath/internal/testify v1.5.1

View File

@ -1,11 +1,11 @@
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

9
vendor/modules.txt vendored
View File

@ -66,7 +66,7 @@ github.com/aws/amazon-ec2-instance-selector/v2/pkg/bytequantity
github.com/aws/amazon-ec2-instance-selector/v2/pkg/cli
github.com/aws/amazon-ec2-instance-selector/v2/pkg/selector
github.com/aws/amazon-ec2-instance-selector/v2/pkg/selector/outputs
# github.com/aws/aws-sdk-go v1.33.13
# github.com/aws/aws-sdk-go v1.35.10
## explicit
github.com/aws/aws-sdk-go/aws
github.com/aws/aws-sdk-go/aws/arn
@ -89,7 +89,9 @@ github.com/aws/aws-sdk-go/aws/session
github.com/aws/aws-sdk-go/aws/signer/v4
github.com/aws/aws-sdk-go/internal/context
github.com/aws/aws-sdk-go/internal/ini
github.com/aws/aws-sdk-go/internal/s3err
github.com/aws/aws-sdk-go/internal/s3shared
github.com/aws/aws-sdk-go/internal/s3shared/arn
github.com/aws/aws-sdk-go/internal/s3shared/s3err
github.com/aws/aws-sdk-go/internal/sdkio
github.com/aws/aws-sdk-go/internal/sdkmath
github.com/aws/aws-sdk-go/internal/sdkrand
@ -124,7 +126,6 @@ github.com/aws/aws-sdk-go/service/kms
github.com/aws/aws-sdk-go/service/route53
github.com/aws/aws-sdk-go/service/route53/route53iface
github.com/aws/aws-sdk-go/service/s3
github.com/aws/aws-sdk-go/service/s3/internal/arn
github.com/aws/aws-sdk-go/service/sts
github.com/aws/aws-sdk-go/service/sts/stsiface
# github.com/bazelbuild/bazel-gazelle v0.19.1
@ -409,7 +410,7 @@ github.com/inconshreveable/mousetrap
## explicit
github.com/jacksontj/memberlistmesh
github.com/jacksontj/memberlistmesh/clusterpb
# github.com/jmespath/go-jmespath v0.3.0
# github.com/jmespath/go-jmespath v0.4.0
github.com/jmespath/go-jmespath
# github.com/jpillora/backoff v0.0.0-20170918002102-8eab2debe79d
## explicit