Merge pull request #9639 from rifelpet/route-table-tag-on-create

Use "tag on create" for AWS Route Tables
This commit is contained in:
Kubernetes Prow Robot 2020-07-27 17:23:08 -07:00 committed by GitHub
commit f8f9eb1ffb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 506 additions and 96 deletions

2
go.mod
View File

@ -56,7 +56,7 @@ require (
github.com/Microsoft/go-winio v0.4.14 // indirect github.com/Microsoft/go-winio v0.4.14 // indirect
github.com/aliyun/alibaba-cloud-sdk-go v1.61.264 github.com/aliyun/alibaba-cloud-sdk-go v1.61.264
github.com/aokoli/goutils v1.0.1 // indirect github.com/aokoli/goutils v1.0.1 // indirect
github.com/aws/aws-sdk-go v1.32.13 github.com/aws/aws-sdk-go v1.33.13
github.com/bazelbuild/bazel-gazelle v0.19.1 github.com/bazelbuild/bazel-gazelle v0.19.1
github.com/blang/semver/v4 v4.0.0 github.com/blang/semver/v4 v4.0.0
github.com/chai2010/gettext-go v0.0.0-20170215093142-bf70f2a70fb1 // indirect github.com/chai2010/gettext-go v0.0.0-20170215093142-bf70f2a70fb1 // indirect

4
go.sum
View File

@ -77,8 +77,8 @@ github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:l
github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7/go.mod h1:LWMyo4iOLWXHGdBki7NIht1kHru/0wM179h+d3g8ATM= github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7/go.mod h1:LWMyo4iOLWXHGdBki7NIht1kHru/0wM179h+d3g8ATM=
github.com/aws/aws-sdk-go v1.16.26/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.16.26/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
github.com/aws/aws-sdk-go v1.28.2/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.28.2/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
github.com/aws/aws-sdk-go v1.32.13 h1:zzyXF7SUxJcJa3hTcYCl1/Ey+kh2N8TjK5tWnL0wieo= github.com/aws/aws-sdk-go v1.33.13 h1:3+AsCrxxnhiUQEhWV+j3kEs7aBCIn2qkDjA+elpxYPU=
github.com/aws/aws-sdk-go v1.32.13/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.33.13/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
github.com/bazelbuild/bazel-gazelle v0.18.2/go.mod h1:D0ehMSbS+vesFsLGiD6JXu3mVEzOlfUl8wNnq+x/9p0= 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-0.20191105222053-70208cbdc798/go.mod h1:rPwzNHUqEzngx1iVBfO/2X2npKaT3tqPqqHW6rVsn/A=
github.com/bazelbuild/bazel-gazelle v0.19.1 h1:TSCGVqpHStCj1MTszuDfZt6Z2Ca8ekq2oWiqcHKVEAE= github.com/bazelbuild/bazel-gazelle v0.19.1 h1:TSCGVqpHStCj1MTszuDfZt6Z2Ca8ekq2oWiqcHKVEAE=

View File

@ -174,7 +174,8 @@ func (_ *RouteTable) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *RouteTable)
klog.V(2).Infof("Creating RouteTable with VPC: %q", *vpcID) klog.V(2).Infof("Creating RouteTable with VPC: %q", *vpcID)
request := &ec2.CreateRouteTableInput{ request := &ec2.CreateRouteTableInput{
VpcId: vpcID, VpcId: vpcID,
TagSpecifications: awsup.EC2TagSpecification(ec2.ResourceTypeRouteTable, e.Tags),
} }
response, err := t.Cloud.EC2().CreateRouteTable(request) response, err := t.Cloud.EC2().CreateRouteTable(request)

View File

@ -43,7 +43,7 @@ type Config struct {
// An optional endpoint URL (hostname only or fully qualified URI) // An optional endpoint URL (hostname only or fully qualified URI)
// that overrides the default generated endpoint for a client. Set this // that overrides the default generated endpoint for a client. Set this
// to `nil` to use the default generated endpoint. // to `nil` or the value to `""` to use the default generated endpoint.
// //
// Note: You must still provide a `Region` value when specifying an // Note: You must still provide a `Region` value when specifying an
// endpoint for a client. // endpoint for a client.
@ -138,7 +138,7 @@ type Config struct {
// `ExpectContinueTimeout` for information on adjusting the continue wait // `ExpectContinueTimeout` for information on adjusting the continue wait
// timeout. https://golang.org/pkg/net/http/#Transport // timeout. https://golang.org/pkg/net/http/#Transport
// //
// You should use this flag to disble 100-Continue if you experience issues // You should use this flag to disable 100-Continue if you experience issues
// with proxies or third party S3 compatible services. // with proxies or third party S3 compatible services.
S3Disable100Continue *bool S3Disable100Continue *bool
@ -183,7 +183,7 @@ type Config struct {
// //
// Example: // Example:
// sess := session.Must(session.NewSession(aws.NewConfig() // sess := session.Must(session.NewSession(aws.NewConfig()
// .WithEC2MetadataDiableTimeoutOverride(true))) // .WithEC2MetadataDisableTimeoutOverride(true)))
// //
// svc := s3.New(sess) // svc := s3.New(sess)
// //
@ -194,7 +194,7 @@ type Config struct {
// both IPv4 and IPv6 addressing. // both IPv4 and IPv6 addressing.
// //
// Setting this for a service which does not support dual stack will fail // Setting this for a service which does not support dual stack will fail
// to make requets. It is not recommended to set this value on the session // to make requests. It is not recommended to set this value on the session
// as it will apply to all service clients created with the session. Even // as it will apply to all service clients created with the session. Even
// services which don't support dual stack endpoints. // services which don't support dual stack endpoints.
// //

View File

@ -225,6 +225,8 @@ var ValidateEndpointHandler = request.NamedHandler{Name: "core.ValidateEndpointH
if r.ClientInfo.SigningRegion == "" && aws.StringValue(r.Config.Region) == "" { if r.ClientInfo.SigningRegion == "" && aws.StringValue(r.Config.Region) == "" {
r.Error = aws.ErrMissingRegion r.Error = aws.ErrMissingRegion
} else if r.ClientInfo.Endpoint == "" { } else if r.ClientInfo.Endpoint == "" {
// Was any endpoint provided by the user, or one was derived by the
// SDK's endpoint resolver?
r.Error = aws.ErrMissingEndpoint r.Error = aws.ErrMissingEndpoint
} }
}} }}

View File

@ -662,6 +662,7 @@ var awsPartition = partition{
Endpoints: endpoints{ Endpoints: endpoints{
"ap-northeast-1": endpoint{}, "ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{}, "ap-northeast-2": endpoint{},
"ap-south-1": endpoint{},
"ap-southeast-1": endpoint{}, "ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{}, "ap-southeast-2": endpoint{},
"eu-central-1": endpoint{}, "eu-central-1": endpoint{},
@ -684,11 +685,16 @@ var awsPartition = partition{
"ap-south-1": endpoint{}, "ap-south-1": endpoint{},
"ap-southeast-1": endpoint{}, "ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{}, "ap-southeast-2": endpoint{},
"ca-central-1": endpoint{},
"eu-central-1": endpoint{}, "eu-central-1": endpoint{},
"eu-north-1": endpoint{},
"eu-west-1": endpoint{}, "eu-west-1": endpoint{},
"eu-west-2": endpoint{}, "eu-west-2": endpoint{},
"eu-west-3": endpoint{},
"sa-east-1": endpoint{},
"us-east-1": endpoint{}, "us-east-1": endpoint{},
"us-east-2": endpoint{}, "us-east-2": endpoint{},
"us-west-1": endpoint{},
"us-west-2": endpoint{}, "us-west-2": endpoint{},
}, },
}, },
@ -2533,6 +2539,7 @@ var awsPartition = partition{
"firehose": service{ "firehose": service{
Endpoints: endpoints{ Endpoints: endpoints{
"af-south-1": endpoint{},
"ap-east-1": endpoint{}, "ap-east-1": endpoint{},
"ap-northeast-1": endpoint{}, "ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{}, "ap-northeast-2": endpoint{},
@ -2542,6 +2549,7 @@ var awsPartition = partition{
"ca-central-1": endpoint{}, "ca-central-1": endpoint{},
"eu-central-1": endpoint{}, "eu-central-1": endpoint{},
"eu-north-1": endpoint{}, "eu-north-1": endpoint{},
"eu-south-1": endpoint{},
"eu-west-1": endpoint{}, "eu-west-1": endpoint{},
"eu-west-2": endpoint{}, "eu-west-2": endpoint{},
"eu-west-3": endpoint{}, "eu-west-3": endpoint{},
@ -2582,6 +2590,7 @@ var awsPartition = partition{
Protocols: []string{"https"}, Protocols: []string{"https"},
}, },
Endpoints: endpoints{ Endpoints: endpoints{
"ap-east-1": endpoint{},
"ap-northeast-1": endpoint{}, "ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{}, "ap-northeast-2": endpoint{},
"ap-south-1": endpoint{}, "ap-south-1": endpoint{},
@ -2683,11 +2692,12 @@ var awsPartition = partition{
Region: "us-west-2", Region: "us-west-2",
}, },
}, },
"sa-east-1": endpoint{}, "me-south-1": endpoint{},
"us-east-1": endpoint{}, "sa-east-1": endpoint{},
"us-east-2": endpoint{}, "us-east-1": endpoint{},
"us-west-1": endpoint{}, "us-east-2": endpoint{},
"us-west-2": endpoint{}, "us-west-1": endpoint{},
"us-west-2": endpoint{},
}, },
}, },
"forecast": service{ "forecast": service{
@ -3061,6 +3071,7 @@ var awsPartition = partition{
Endpoints: endpoints{ Endpoints: endpoints{
"ap-northeast-1": endpoint{}, "ap-northeast-1": endpoint{},
"ap-southeast-2": endpoint{},
"eu-central-1": endpoint{}, "eu-central-1": endpoint{},
"eu-west-1": endpoint{}, "eu-west-1": endpoint{},
"us-east-1": endpoint{}, "us-east-1": endpoint{},
@ -3537,6 +3548,52 @@ var awsPartition = partition{
"us-west-2": endpoint{}, "us-west-2": endpoint{},
}, },
}, },
"macie2": service{
Endpoints: endpoints{
"ap-east-1": endpoint{},
"ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{},
"ap-south-1": endpoint{},
"ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{},
"ca-central-1": endpoint{},
"eu-central-1": endpoint{},
"eu-north-1": endpoint{},
"eu-west-1": endpoint{},
"eu-west-2": endpoint{},
"eu-west-3": endpoint{},
"fips-us-east-1": endpoint{
Hostname: "macie2-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
"fips-us-east-2": endpoint{
Hostname: "macie2-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
},
"fips-us-west-1": endpoint{
Hostname: "macie2-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
},
"fips-us-west-2": endpoint{
Hostname: "macie2-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
},
"sa-east-1": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
"us-west-1": endpoint{},
"us-west-2": endpoint{},
},
},
"managedblockchain": service{ "managedblockchain": service{
Endpoints: endpoints{ Endpoints: endpoints{
@ -3934,6 +3991,12 @@ var awsPartition = partition{
Region: "us-east-2", Region: "us-east-2",
}, },
}, },
"us-west-1": endpoint{
Hostname: "rds.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
},
"us-west-2": endpoint{ "us-west-2": endpoint{
Hostname: "rds.us-west-2.amazonaws.com", Hostname: "rds.us-west-2.amazonaws.com",
CredentialScope: credentialScope{ CredentialScope: credentialScope{
@ -4067,6 +4130,7 @@ var awsPartition = partition{
"ca-central-1": endpoint{}, "ca-central-1": endpoint{},
"eu-central-1": endpoint{}, "eu-central-1": endpoint{},
"eu-north-1": endpoint{}, "eu-north-1": endpoint{},
"eu-south-1": endpoint{},
"eu-west-1": endpoint{}, "eu-west-1": endpoint{},
"eu-west-2": endpoint{}, "eu-west-2": endpoint{},
"eu-west-3": endpoint{}, "eu-west-3": endpoint{},
@ -4280,6 +4344,7 @@ var awsPartition = partition{
"ram": service{ "ram": service{
Endpoints: endpoints{ Endpoints: endpoints{
"af-south-1": endpoint{},
"ap-east-1": endpoint{}, "ap-east-1": endpoint{},
"ap-northeast-1": endpoint{}, "ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{}, "ap-northeast-2": endpoint{},
@ -4289,6 +4354,7 @@ var awsPartition = partition{
"ca-central-1": endpoint{}, "ca-central-1": endpoint{},
"eu-central-1": endpoint{}, "eu-central-1": endpoint{},
"eu-north-1": endpoint{}, "eu-north-1": endpoint{},
"eu-south-1": endpoint{},
"eu-west-1": endpoint{}, "eu-west-1": endpoint{},
"eu-west-2": endpoint{}, "eu-west-2": endpoint{},
"eu-west-3": endpoint{}, "eu-west-3": endpoint{},
@ -4423,10 +4489,34 @@ var awsPartition = partition{
"eu-central-1": endpoint{}, "eu-central-1": endpoint{},
"eu-west-1": endpoint{}, "eu-west-1": endpoint{},
"eu-west-2": endpoint{}, "eu-west-2": endpoint{},
"us-east-1": endpoint{}, "rekognition-fips.us-east-1": endpoint{
"us-east-2": endpoint{}, Hostname: "rekognition-fips.us-east-1.amazonaws.com",
"us-west-1": endpoint{}, CredentialScope: credentialScope{
"us-west-2": endpoint{}, Region: "us-east-1",
},
},
"rekognition-fips.us-east-2": endpoint{
Hostname: "rekognition-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
},
"rekognition-fips.us-west-1": endpoint{
Hostname: "rekognition-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
},
"rekognition-fips.us-west-2": endpoint{
Hostname: "rekognition-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
"us-west-1": endpoint{},
"us-west-2": endpoint{},
}, },
}, },
"resource-groups": service{ "resource-groups": service{
@ -4514,6 +4604,7 @@ var awsPartition = partition{
Protocols: []string{"https"}, Protocols: []string{"https"},
}, },
Endpoints: endpoints{ Endpoints: endpoints{
"af-south-1": endpoint{},
"ap-east-1": endpoint{}, "ap-east-1": endpoint{},
"ap-northeast-1": endpoint{}, "ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{}, "ap-northeast-2": endpoint{},
@ -4523,6 +4614,7 @@ var awsPartition = partition{
"ca-central-1": endpoint{}, "ca-central-1": endpoint{},
"eu-central-1": endpoint{}, "eu-central-1": endpoint{},
"eu-north-1": endpoint{}, "eu-north-1": endpoint{},
"eu-south-1": endpoint{},
"eu-west-1": endpoint{}, "eu-west-1": endpoint{},
"eu-west-2": endpoint{}, "eu-west-2": endpoint{},
"eu-west-3": endpoint{}, "eu-west-3": endpoint{},
@ -6329,6 +6421,19 @@ var awscnPartition = partition{
}, },
}, },
}, },
"ce": service{
PartitionEndpoint: "aws-cn-global",
IsRegionalized: boxedFalse,
Endpoints: endpoints{
"aws-cn-global": endpoint{
Hostname: "ce.cn-northwest-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
},
},
},
},
"cloudformation": service{ "cloudformation": service{
Endpoints: endpoints{ Endpoints: endpoints{
@ -6391,6 +6496,12 @@ var awscnPartition = partition{
"cn-northwest-1": endpoint{}, "cn-northwest-1": endpoint{},
}, },
}, },
"cur": service{
Endpoints: endpoints{
"cn-northwest-1": endpoint{},
},
},
"dax": service{ "dax": service{
Endpoints: endpoints{ Endpoints: endpoints{
@ -6811,13 +6922,20 @@ var awscnPartition = partition{
"snowball": service{ "snowball": service{
Endpoints: endpoints{ Endpoints: endpoints{
"cn-north-1": endpoint{}, "cn-north-1": endpoint{},
"cn-northwest-1": endpoint{},
"fips-cn-north-1": endpoint{ "fips-cn-north-1": endpoint{
Hostname: "snowball-fips.cn-north-1.amazonaws.com.cn", Hostname: "snowball-fips.cn-north-1.amazonaws.com.cn",
CredentialScope: credentialScope{ CredentialScope: credentialScope{
Region: "cn-north-1", Region: "cn-north-1",
}, },
}, },
"fips-cn-northwest-1": endpoint{
Hostname: "snowball-fips.cn-northwest-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
},
},
}, },
}, },
"sns": service{ "sns": service{
@ -7308,6 +7426,12 @@ var awsusgovPartition = partition{
"comprehendmedical": service{ "comprehendmedical": service{
Endpoints: endpoints{ Endpoints: endpoints{
"fips-us-gov-west-1": endpoint{
Hostname: "comprehendmedical-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
"us-gov-west-1": endpoint{}, "us-gov-west-1": endpoint{},
}, },
}, },
@ -8013,6 +8137,12 @@ var awsusgovPartition = partition{
"rekognition": service{ "rekognition": service{
Endpoints: endpoints{ Endpoints: endpoints{
"rekognition-fips.us-gov-west-1": endpoint{
Hostname: "rekognition-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
"us-gov-west-1": endpoint{}, "us-gov-west-1": endpoint{},
}, },
}, },
@ -8854,6 +8984,20 @@ var awsisoPartition = partition{
"us-iso-east-1": endpoint{}, "us-iso-east-1": endpoint{},
}, },
}, },
"transcribe": service{
Defaults: endpoint{
Protocols: []string{"https"},
},
Endpoints: endpoints{
"us-iso-east-1": endpoint{},
},
},
"transcribestreaming": service{
Endpoints: endpoints{
"us-iso-east-1": endpoint{},
},
},
"workspaces": service{ "workspaces": service{
Endpoints: endpoints{ Endpoints: endpoints{

View File

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

View File

@ -69,10 +69,23 @@ func (r *EventReader) ReadEvent() (event interface{}, err error) {
case ErrorMessageType: case ErrorMessageType:
return nil, r.unmarshalErrorMessage(msg) return nil, r.unmarshalErrorMessage(msg)
default: default:
return nil, fmt.Errorf("unknown eventstream message type, %v", typ) return nil, &UnknownMessageTypeError{
Type: typ, Message: msg.Clone(),
}
} }
} }
// UnknownMessageTypeError provides an error when a message is received from
// the stream, but the reader is unable to determine what kind of message it is.
type UnknownMessageTypeError struct {
Type string
Message eventstream.Message
}
func (e *UnknownMessageTypeError) Error() string {
return "unknown eventstream message type, " + e.Type
}
func (r *EventReader) unmarshalEventMessage( func (r *EventReader) unmarshalEventMessage(
msg eventstream.Message, msg eventstream.Message,
) (event interface{}, err error) { ) (event interface{}, err error) {

View File

@ -52,6 +52,15 @@ func (hs *Headers) Del(name string) {
} }
} }
// Clone returns a deep copy of the headers
func (hs Headers) Clone() Headers {
o := make(Headers, 0, len(hs))
for _, h := range hs {
o.Set(h.Name, h.Value)
}
return o
}
func decodeHeaders(r io.Reader) (Headers, error) { func decodeHeaders(r io.Reader) (Headers, error) {
hs := Headers{} hs := Headers{}

View File

@ -57,6 +57,20 @@ func (m *Message) rawMessage() (rawMessage, error) {
return raw, nil return raw, nil
} }
// Clone returns a deep copy of the message.
func (m Message) Clone() Message {
var payload []byte
if m.Payload != nil {
payload = make([]byte, len(m.Payload))
copy(payload, m.Payload)
}
return Message{
Headers: m.Headers.Clone(),
Payload: payload,
}
}
type messagePrelude struct { type messagePrelude struct {
Length uint32 Length uint32
HeadersLen uint32 HeadersLen uint32

View File

@ -6100,7 +6100,7 @@ func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSub
// //
// Creates a data feed for Spot Instances, enabling you to view Spot Instance // Creates a data feed for Spot Instances, enabling you to view Spot Instance
// usage logs. You can create one data feed per AWS account. For more information, // usage logs. You can create one data feed per AWS account. For more information,
// see Spot Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) // see Spot Instance data feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
// in the Amazon EC2 User Guide for Linux Instances. // in the Amazon EC2 User Guide for Linux Instances.
// //
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -17464,7 +17464,9 @@ func (c *EC2) DescribeLaunchTemplateVersionsRequest(input *DescribeLaunchTemplat
// DescribeLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud. // DescribeLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
// //
// Describes one or more versions of a specified launch template. You can describe // Describes one or more versions of a specified launch template. You can describe
// all versions, individual versions, or a range of versions. // all versions, individual versions, or a range of versions. You can also describe
// all the latest versions or all the default versions of all the launch templates
// in your account.
// //
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
@ -21302,7 +21304,7 @@ func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafee
// DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud. // DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
// //
// Describes the data feed for Spot Instances. For more information, see Spot // Describes the data feed for Spot Instances. For more information, see Spot
// Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) // Instance data feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
// in the Amazon EC2 User Guide for Linux Instances. // in the Amazon EC2 User Guide for Linux Instances.
// //
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -21820,7 +21822,7 @@ func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInp
// DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud. // DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
// //
// Describes the Spot price history. For more information, see Spot Instance // Describes the Spot price history. For more information, see Spot Instance
// Pricing History (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html) // pricing history (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
// in the Amazon EC2 User Guide for Linux Instances. // in the Amazon EC2 User Guide for Linux Instances.
// //
// When you specify a start and end time, this operation returns the prices // When you specify a start and end time, this operation returns the prices
@ -28649,6 +28651,12 @@ func (c *EC2) GetLaunchTemplateDataRequest(input *GetLaunchTemplateDataInput) (r
// Retrieves the configuration data of the specified instance. You can use this // Retrieves the configuration data of the specified instance. You can use this
// data to create a launch template. // data to create a launch template.
// //
// This action calls on other describe actions to get instance information.
// Depending on your instance configuration, you may need to allow the following
// actions in your IAM policy: DescribeSpotInstanceRequests, DescribeInstanceCreditSpecifications,
// DescribeVolumes, DescribeInstanceAttribute, and DescribeElasticGpus. Or,
// you can allow describe* depending on your instance requirements.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -30156,7 +30164,7 @@ func (c *EC2) ModifyAvailabilityZoneGroupRequest(input *ModifyAvailabilityZoneGr
// //
// Enables or disables an Availability Zone group for your account. // Enables or disables an Availability Zone group for your account.
// //
// Use describe-availability-zones (https://docs.aws.amazon.com/AWSEC2ApiDocReef/build/server-root/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) // Use DescribeAvailabilityZones (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html)
// to view the value for GroupName. // to view the value for GroupName.
// //
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -34085,7 +34093,7 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ
// //
// Registers an AMI. When you're creating an AMI, this is the final step you // Registers an AMI. When you're creating an AMI, this is the final step you
// must complete before you can launch an instance from the AMI. For more information // must complete before you can launch an instance from the AMI. For more information
// about creating AMIs, see Creating Your Own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html) // about creating AMIs, see Creating your own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
// in the Amazon Elastic Compute Cloud User Guide. // in the Amazon Elastic Compute Cloud User Guide.
// //
// For Amazon EBS-backed instances, CreateImage creates and registers the AMI // For Amazon EBS-backed instances, CreateImage creates and registers the AMI
@ -34093,12 +34101,12 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ
// //
// You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from
// a snapshot of a root device volume. You specify the snapshot using the block // a snapshot of a root device volume. You specify the snapshot using the block
// device mapping. For more information, see Launching a Linux Instance from // device mapping. For more information, see Launching a Linux instance from
// a Backup (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html) // a backup (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html)
// in the Amazon Elastic Compute Cloud User Guide. // in the Amazon Elastic Compute Cloud User Guide.
// //
// You can't register an image where a secondary (non-root) snapshot has AWS // If any snapshots have AWS Marketplace product codes, they are copied to the
// Marketplace product codes. // new AMI.
// //
// Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) // Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL)
// and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code // and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code
@ -34119,7 +34127,7 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ
// a Reserved Instance without the matching billing product code, the Reserved // a Reserved Instance without the matching billing product code, the Reserved
// Instance will not be applied to the On-Demand Instance. For information about // Instance will not be applied to the On-Demand Instance. For information about
// how to obtain the platform details and billing information of an AMI, see // how to obtain the platform details and billing information of an AMI, see
// Obtaining Billing Information (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html) // Obtaining billing information (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html)
// in the Amazon Elastic Compute Cloud User Guide. // in the Amazon Elastic Compute Cloud User Guide.
// //
// If needed, you can deregister an AMI at any time. Any modifications you make // If needed, you can deregister an AMI at any time. Any modifications you make
@ -35497,7 +35505,7 @@ func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *reques
// the fleet. You cannot tag other resource types in a Spot Fleet request because // the fleet. You cannot tag other resource types in a Spot Fleet request because
// only the spot-fleet-request and instance resource types are supported. // only the spot-fleet-request and instance resource types are supported.
// //
// For more information, see Spot Fleet Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html) // For more information, see Spot Fleet requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
// in the Amazon EC2 User Guide for Linux Instances. // in the Amazon EC2 User Guide for Linux Instances.
// //
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -35574,7 +35582,7 @@ func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req
// //
// Creates a Spot Instance request. // Creates a Spot Instance request.
// //
// For more information, see Spot Instance Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) // For more information, see Spot Instance requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
// in the Amazon EC2 User Guide for Linux Instances. // in the Amazon EC2 User Guide for Linux Instances.
// //
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -38824,9 +38832,11 @@ type AllocateAddressInput struct {
// address from the address pool. // address from the address pool.
CustomerOwnedIpv4Pool *string `type:"string"` CustomerOwnedIpv4Pool *string `type:"string"`
// Set to vpc to allocate the address for use with instances in a VPC. // Indicates whether the Elastic IP address is for use with instances in a VPC
// or instances in EC2-Classic.
// //
// Default: The address is for use with instances in EC2-Classic. // Default: If the Region supports EC2-Classic, the default is standard. Otherwise,
// the default is vpc.
Domain *string `type:"string" enum:"DomainType"` Domain *string `type:"string" enum:"DomainType"`
// Checks whether you have the required permissions for the action, without // Checks whether you have the required permissions for the action, without
@ -38915,8 +38925,8 @@ type AllocateAddressOutput struct {
// The ID of the customer-owned address pool. // The ID of the customer-owned address pool.
CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"` CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
// Indicates whether this Elastic IP address is for use with instances in EC2-Classic // Indicates whether the Elastic IP address is for use with instances in a VPC
// (standard) or instances in a VPC (vpc). // (vpc) or instances in EC2-Classic (standard).
Domain *string `locationName:"domain" type:"string" enum:"DomainType"` Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
// The location from which the IP address is advertised. // The location from which the IP address is advertised.
@ -40994,11 +41004,13 @@ type AuthorizeClientVpnIngressInput struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
// The ID of the group to grant access to, for example, the Active Directory // The ID of the group to grant access to, for example, the Active Directory
// group or identity provider (IdP) group. // group or identity provider (IdP) group. Required if AuthorizeAllGroups is
// false or not specified.
AccessGroupId *string `type:"string"` AccessGroupId *string `type:"string"`
// Indicates whether to grant access to all clients. Use true to grant all clients // Indicates whether to grant access to all clients. Specify true to grant all
// who successfully establish a VPN connection access to the network. // clients who successfully establish a VPN connection access to the network.
// Must be set to true if AccessGroupId is not specified.
AuthorizeAllGroups *bool `type:"boolean"` AuthorizeAllGroups *bool `type:"boolean"`
// Unique, case-sensitive identifier that you provide to ensure the idempotency // Unique, case-sensitive identifier that you provide to ensure the idempotency
@ -41406,7 +41418,7 @@ func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
return s.String() return s.String()
} }
// Describes an Availability Zone or Local Zone. // Describes a Zone.
type AvailabilityZone struct { type AvailabilityZone struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -41415,7 +41427,7 @@ type AvailabilityZone struct {
// For Local Zones, the name of the associated group, for example us-west-2-lax-1. // For Local Zones, the name of the associated group, for example us-west-2-lax-1.
GroupName *string `locationName:"groupName" type:"string"` GroupName *string `locationName:"groupName" type:"string"`
// Any messages about the Availability Zone or Local Zone. // Any messages about the Zone.
Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"` Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
// The name of the location from which the address is advertised. // The name of the location from which the address is advertised.
@ -41427,17 +41439,28 @@ type AvailabilityZone struct {
// are opted-in, and not-opted-in. // are opted-in, and not-opted-in.
OptInStatus *string `locationName:"optInStatus" type:"string" enum:"AvailabilityZoneOptInStatus"` OptInStatus *string `locationName:"optInStatus" type:"string" enum:"AvailabilityZoneOptInStatus"`
// The ID of the zone that handles some of the Local Zone control plane operations,
// such as API calls.
ParentZoneId *string `locationName:"parentZoneId" type:"string"`
// The name of the zone that handles some of the Local Zone control plane operations,
// such as API calls.
ParentZoneName *string `locationName:"parentZoneName" type:"string"`
// The name of the Region. // The name of the Region.
RegionName *string `locationName:"regionName" type:"string"` RegionName *string `locationName:"regionName" type:"string"`
// The state of the Availability Zone or Local Zone. // The state of the Zone.
State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"` State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
// The ID of the Availability Zone or Local Zone. // The ID of the Zone.
ZoneId *string `locationName:"zoneId" type:"string"` ZoneId *string `locationName:"zoneId" type:"string"`
// The name of the Availability Zone or Local Zone. // The name of the Zone.
ZoneName *string `locationName:"zoneName" type:"string"` ZoneName *string `locationName:"zoneName" type:"string"`
// The type of zone. The valid values are availability-zone and local-zone.
ZoneType *string `locationName:"zoneType" type:"string"`
} }
// String returns the string representation // String returns the string representation
@ -41474,6 +41497,18 @@ func (s *AvailabilityZone) SetOptInStatus(v string) *AvailabilityZone {
return s return s
} }
// SetParentZoneId sets the ParentZoneId field's value.
func (s *AvailabilityZone) SetParentZoneId(v string) *AvailabilityZone {
s.ParentZoneId = &v
return s
}
// SetParentZoneName sets the ParentZoneName field's value.
func (s *AvailabilityZone) SetParentZoneName(v string) *AvailabilityZone {
s.ParentZoneName = &v
return s
}
// SetRegionName sets the RegionName field's value. // SetRegionName sets the RegionName field's value.
func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone { func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
s.RegionName = &v s.RegionName = &v
@ -41498,11 +41533,17 @@ func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
return s return s
} }
// Describes a message about an Availability Zone or Local Zone. // SetZoneType sets the ZoneType field's value.
func (s *AvailabilityZone) SetZoneType(v string) *AvailabilityZone {
s.ZoneType = &v
return s
}
// Describes a message about a Zone.
type AvailabilityZoneMessage struct { type AvailabilityZoneMessage struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
// The message about the Availability Zone or Local Zone. // The message about the Zone.
Message *string `locationName:"message" type:"string"` Message *string `locationName:"message" type:"string"`
} }
@ -42995,6 +43036,8 @@ type CapacityReservationSpecification struct {
// //
// * none - The instance avoids running in a Capacity Reservation even if // * none - The instance avoids running in a Capacity Reservation even if
// one is available. The instance runs as an On-Demand Instance. // one is available. The instance runs as an On-Demand Instance.
//
// When CapacityReservationPreference is not specified, it defaults to open.
CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"` CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
// Information about the target Capacity Reservation. // Information about the target Capacity Reservation.
@ -44199,6 +44242,9 @@ type CoipPool struct {
// The ID of the local gateway route table. // The ID of the local gateway route table.
LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"` LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
// The ARN of the address pool.
PoolArn *string `locationName:"poolArn" min:"1" type:"string"`
// The address ranges of the address pool. // The address ranges of the address pool.
PoolCidrs []*string `locationName:"poolCidrSet" locationNameList:"item" type:"list"` PoolCidrs []*string `locationName:"poolCidrSet" locationNameList:"item" type:"list"`
@ -44225,6 +44271,12 @@ func (s *CoipPool) SetLocalGatewayRouteTableId(v string) *CoipPool {
return s return s
} }
// SetPoolArn sets the PoolArn field's value.
func (s *CoipPool) SetPoolArn(v string) *CoipPool {
s.PoolArn = &v
return s
}
// SetPoolCidrs sets the PoolCidrs field's value. // SetPoolCidrs sets the PoolCidrs field's value.
func (s *CoipPool) SetPoolCidrs(v []*string) *CoipPool { func (s *CoipPool) SetPoolCidrs(v []*string) *CoipPool {
s.PoolCidrs = v s.PoolCidrs = v
@ -44345,7 +44397,8 @@ func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstance
type ConnectionLogOptions struct { type ConnectionLogOptions struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
// The name of the CloudWatch Logs log group. // The name of the CloudWatch Logs log group. Required if connection logging
// is enabled.
CloudwatchLogGroup *string `type:"string"` CloudwatchLogGroup *string `type:"string"`
// The name of the CloudWatch Logs log stream to which the connection data is // The name of the CloudWatch Logs log stream to which the connection data is
@ -48967,6 +49020,9 @@ type CreateRouteTableInput struct {
// it is UnauthorizedOperation. // it is UnauthorizedOperation.
DryRun *bool `locationName:"dryRun" type:"boolean"` DryRun *bool `locationName:"dryRun" type:"boolean"`
// The tags to assign to the route table.
TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
// The ID of the VPC. // The ID of the VPC.
// //
// VpcId is a required field // VpcId is a required field
@ -49002,6 +49058,12 @@ func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
return s return s
} }
// SetTagSpecifications sets the TagSpecifications field's value.
func (s *CreateRouteTableInput) SetTagSpecifications(v []*TagSpecification) *CreateRouteTableInput {
s.TagSpecifications = v
return s
}
// SetVpcId sets the VpcId field's value. // SetVpcId sets the VpcId field's value.
func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput { func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
s.VpcId = &v s.VpcId = &v
@ -51702,6 +51764,9 @@ type CreateVpcPeeringConnectionInput struct {
// You must specify this parameter in the request. // You must specify this parameter in the request.
PeerVpcId *string `locationName:"peerVpcId" type:"string"` PeerVpcId *string `locationName:"peerVpcId" type:"string"`
// The tags to assign to the peering connection.
TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
// The ID of the requester VPC. You must specify this parameter in the request. // The ID of the requester VPC. You must specify this parameter in the request.
VpcId *string `locationName:"vpcId" type:"string"` VpcId *string `locationName:"vpcId" type:"string"`
} }
@ -51740,6 +51805,12 @@ func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeri
return s return s
} }
// SetTagSpecifications sets the TagSpecifications field's value.
func (s *CreateVpcPeeringConnectionInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcPeeringConnectionInput {
s.TagSpecifications = v
return s
}
// SetVpcId sets the VpcId field's value. // SetVpcId sets the VpcId field's value.
func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput { func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
s.VpcId = &v s.VpcId = &v
@ -52051,12 +52122,12 @@ func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayO
return s return s
} }
// Describes the credit option for CPU usage of a T2 or T3 instance. // Describes the credit option for CPU usage of a T2, T3, or T3a instance.
type CreditSpecification struct { type CreditSpecification struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
// The credit option for CPU usage of a T2 or T3 instance. Valid values are // The credit option for CPU usage of a T2, T3, or T3a instance. Valid values
// standard and unlimited. // are standard and unlimited.
CpuCredits *string `locationName:"cpuCredits" type:"string"` CpuCredits *string `locationName:"cpuCredits" type:"string"`
} }
@ -52076,12 +52147,12 @@ func (s *CreditSpecification) SetCpuCredits(v string) *CreditSpecification {
return s return s
} }
// The credit option for CPU usage of a T2 or T3 instance. // The credit option for CPU usage of a T2, T3, or T3a instance.
type CreditSpecificationRequest struct { type CreditSpecificationRequest struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
// The credit option for CPU usage of a T2 or T3 instance. Valid values are // The credit option for CPU usage of a T2, T3, or T3a instance. Valid values
// standard and unlimited. // are standard and unlimited.
// //
// CpuCredits is a required field // CpuCredits is a required field
CpuCredits *string `type:"string" required:"true"` CpuCredits *string `type:"string" required:"true"`
@ -56593,12 +56664,14 @@ type DescribeAvailabilityZonesInput struct {
// Zones, use the name of the group associated with the Local Zone (for example, // Zones, use the name of the group associated with the Local Zone (for example,
// us-west-2-lax-1). // us-west-2-lax-1).
// //
// * message - The Availability Zone or Local Zone message. // * message - The Zone message.
// //
// * opt-in-status - The opt in status (opted-in, and not-opted-in | opt-in-not-required). // * opt-in-status - The opt in status (opted-in, and not-opted-in | opt-in-not-required).
// //
// * region-name - The name of the Region for the Availability Zone or Local // * The ID of the zone that handles some of the Local Zone control plane
// Zone (for example, us-east-1). // operations, such as API calls.
//
// * region-name - The name of the Region for the Zone (for example, us-east-1).
// //
// * state - The state of the Availability Zone or Local Zone (available // * state - The state of the Availability Zone or Local Zone (available
// | information | impaired | unavailable). // | information | impaired | unavailable).
@ -56606,14 +56679,18 @@ type DescribeAvailabilityZonesInput struct {
// * zone-id - The ID of the Availability Zone (for example, use1-az1) or // * zone-id - The ID of the Availability Zone (for example, use1-az1) or
// the Local Zone (for example, use usw2-lax1-az1). // the Local Zone (for example, use usw2-lax1-az1).
// //
// * zone-type - The type of zone, for example, local-zone.
//
// * zone-name - The name of the Availability Zone (for example, us-east-1a) // * zone-name - The name of the Availability Zone (for example, us-east-1a)
// or the Local Zone (for example, use us-west-2-lax-1a). // or the Local Zone (for example, use us-west-2-lax-1a).
//
// * zone-type - The type of zone, for example, local-zone.
Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
// The IDs of the Availability Zones and Local Zones. // The IDs of the Zones.
ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"` ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"`
// The names of the Availability Zones and Local Zones. // The names of the Zones.
ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"` ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
} }
@ -56660,7 +56737,7 @@ func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvai
type DescribeAvailabilityZonesOutput struct { type DescribeAvailabilityZonesOutput struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
// Information about the Availability Zones and Local Zones. // Information about the Zones.
AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"` AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
} }
@ -60444,11 +60521,13 @@ type DescribeImagesInput struct {
// //
// * name - The name of the AMI (provided during image creation). // * name - The name of the AMI (provided during image creation).
// //
// * owner-alias - String value from an Amazon-maintained list (amazon | // * owner-alias - The owner alias, from an Amazon-maintained list (amazon
// aws-marketplace | microsoft) of snapshot owners. Not to be confused with // | aws-marketplace). This is not the user-configured AWS account alias
// the user-configured AWS account alias, which is set from the IAM console. // set using the IAM console. We recommend that you use the related parameter
// instead of this filter.
// //
// * owner-id - The AWS account ID of the image owner. // * owner-id - The AWS account ID of the owner. We recommend that you use
// the related parameter instead of this filter.
// //
// * platform - The platform. To only list Windows-based AMIs, use windows. // * platform - The platform. To only list Windows-based AMIs, use windows.
// //
@ -60490,10 +60569,10 @@ type DescribeImagesInput struct {
// Default: Describes all images available to you. // Default: Describes all images available to you.
ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"` ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
// Filters the images by the owner. Specify an AWS account ID, self (owner is // Scopes the results to images with the specified owners. You can specify a
// the sender of the request), or an AWS owner alias (valid values are amazon // combination of AWS account IDs, self, amazon, and aws-marketplace. If you
// | aws-marketplace | microsoft). Omitting this option returns all images for // omit this parameter, the results include all images for which you have launch
// which you have launch permissions, regardless of ownership. // permissions, regardless of ownership.
Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"` Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
} }
@ -62337,12 +62416,16 @@ type DescribeLaunchTemplateVersionsInput struct {
// * ram-disk-id - The RAM disk ID. // * ram-disk-id - The RAM disk ID.
Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
// The ID of the launch template. You must specify either the launch template // The ID of the launch template. To describe one or more versions of a specified
// ID or launch template name in the request. // launch template, you must specify either the launch template ID or the launch
// template name in the request. To describe all the latest or default launch
// template versions in your account, you must omit this parameter.
LaunchTemplateId *string `type:"string"` LaunchTemplateId *string `type:"string"`
// The name of the launch template. You must specify either the launch template // The name of the launch template. To describe one or more versions of a specified
// ID or launch template name in the request. // launch template, you must specify either the launch template ID or the launch
// template name in the request. To describe all the latest or default launch
// template versions in your account, you must omit this parameter.
LaunchTemplateName *string `min:"3" type:"string"` LaunchTemplateName *string `min:"3" type:"string"`
// The maximum number of results to return in a single call. To retrieve the // The maximum number of results to return in a single call. To retrieve the
@ -62359,7 +62442,18 @@ type DescribeLaunchTemplateVersionsInput struct {
// The token to request the next page of results. // The token to request the next page of results.
NextToken *string `type:"string"` NextToken *string `type:"string"`
// One or more versions of the launch template. // One or more versions of the launch template. Valid values depend on whether
// you are describing a specified launch template (by ID or name) or all launch
// templates in your account.
//
// To describe one or more versions of a specified launch template, valid values
// are $Latest, $Default, and numbers.
//
// To describe all launch templates in your account that are defined as the
// latest version, the valid value is $Latest. To describe all launch templates
// in your account that are defined as the default version, the valid value
// is $Default. You can specify $Latest and $Default in the same call. You cannot
// specify numbers.
Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list"` Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list"`
} }
@ -65405,8 +65499,6 @@ type DescribeRouteTablesInput struct {
// to find all resources assigned a tag with a specific key, regardless of // to find all resources assigned a tag with a specific key, regardless of
// the tag value. // the tag value.
// //
// * transit-gateway-id - The ID of a transit gateway.
//
// * vpc-id - The ID of the VPC for the route table. // * vpc-id - The ID of the VPC for the route table.
Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
@ -66851,7 +66943,7 @@ type DescribeSpotInstanceRequestsInput struct {
// * state - The state of the Spot Instance request (open | active | closed // * state - The state of the Spot Instance request (open | active | closed
// | cancelled | failed). Spot request status information can help you track // | cancelled | failed). Spot request status information can help you track
// your Amazon EC2 Spot Instance requests. For more information, see Spot // your Amazon EC2 Spot Instance requests. For more information, see Spot
// Request Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) // request status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
// in the Amazon EC2 User Guide for Linux Instances. // in the Amazon EC2 User Guide for Linux Instances.
// //
// * status-code - The short code describing the most recent evaluation of // * status-code - The short code describing the most recent evaluation of
@ -97165,8 +97257,8 @@ type RequestLaunchTemplateData struct {
// in the Amazon Elastic Compute Cloud User Guide. // in the Amazon Elastic Compute Cloud User Guide.
CpuOptions *LaunchTemplateCpuOptionsRequest `type:"structure"` CpuOptions *LaunchTemplateCpuOptionsRequest `type:"structure"`
// The credit option for CPU usage of the instance. Valid for T2 or T3 instances // The credit option for CPU usage of the instance. Valid for T2, T3, or T3a
// only. // instances only.
CreditSpecification *CreditSpecificationRequest `type:"structure"` CreditSpecification *CreditSpecificationRequest `type:"structure"`
// If you set this parameter to true, you can't terminate the instance using // If you set this parameter to true, you can't terminate the instance using
@ -97628,6 +97720,12 @@ type RequestSpotInstancesInput struct {
// The default is the On-Demand price. // The default is the On-Demand price.
SpotPrice *string `locationName:"spotPrice" type:"string"` SpotPrice *string `locationName:"spotPrice" type:"string"`
// The key-value pair for tagging the Spot Instance request on creation. The
// value for ResourceType must be spot-instances-request, otherwise the Spot
// Instance request fails. To tag the Spot Instance request after it has been
// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
// The Spot Instance request type. // The Spot Instance request type.
// //
// Default: one-time // Default: one-time
@ -97731,6 +97829,12 @@ func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstances
return s return s
} }
// SetTagSpecifications sets the TagSpecifications field's value.
func (s *RequestSpotInstancesInput) SetTagSpecifications(v []*TagSpecification) *RequestSpotInstancesInput {
s.TagSpecifications = v
return s
}
// SetType sets the Type field's value. // SetType sets the Type field's value.
func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput { func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
s.Type = &v s.Type = &v
@ -104084,7 +104188,7 @@ type SpotFleetRequestConfigData struct {
// The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
// role that grants the Spot Fleet the permission to request, launch, terminate, // role that grants the Spot Fleet the permission to request, launch, terminate,
// and tag instances on your behalf. For more information, see Spot Fleet Prerequisites // and tag instances on your behalf. For more information, see Spot Fleet prerequisites
// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites) // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites)
// in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate // in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate
// Spot Instances on your behalf when you cancel its Spot Fleet request using // Spot Instances on your behalf when you cancel its Spot Fleet request using
@ -104476,7 +104580,7 @@ type SpotInstanceRequest struct {
SpotPrice *string `locationName:"spotPrice" type:"string"` SpotPrice *string `locationName:"spotPrice" type:"string"`
// The state of the Spot Instance request. Spot status information helps track // The state of the Spot Instance request. Spot status information helps track
// your Spot Instance requests. For more information, see Spot Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) // your Spot Instance requests. For more information, see Spot status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
// in the Amazon EC2 User Guide for Linux Instances. // in the Amazon EC2 User Guide for Linux Instances.
State *string `locationName:"state" type:"string" enum:"SpotInstanceState"` State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
@ -104662,7 +104766,7 @@ func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
type SpotInstanceStatus struct { type SpotInstanceStatus struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
// The status code. For a list of status codes, see Spot Status Codes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand) // The status code. For a list of status codes, see Spot status codes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand)
// in the Amazon EC2 User Guide for Linux Instances. // in the Amazon EC2 User Guide for Linux Instances.
Code *string `locationName:"code" type:"string"` Code *string `locationName:"code" type:"string"`
@ -106026,8 +106130,8 @@ type TagSpecification struct {
// | dhcp-options | export-image-task | export-instance-task | fleet | fpga-image // | dhcp-options | export-image-task | export-instance-task | fleet | fpga-image
// | host-reservation | import-image-task | import-snapshot-task | instance // | host-reservation | import-image-task | import-snapshot-task | instance
// | internet-gateway | ipv4pool-ec2 | ipv6pool-ec2 | key-pair | launch-template // | internet-gateway | ipv4pool-ec2 | ipv6pool-ec2 | key-pair | launch-template
// | placement-group | prefix-list | launch-template | natgateway | network-acl // | placement-group | prefix-list | natgateway | network-acl | security-group
// | security-group | spot-fleet-request | snapshot | subnet | traffic-mirror-filter // | spot-fleet-request | spot-instances-request | snapshot | subnet | traffic-mirror-filter
// | traffic-mirror-session | traffic-mirror-target | transit-gateway | transit-gateway-attachment // | traffic-mirror-session | traffic-mirror-target | transit-gateway | transit-gateway-attachment
// | transit-gateway-route-table | volume |vpc | vpc-endpoint (for interface // | transit-gateway-route-table | volume |vpc | vpc-endpoint (for interface
// and gateway endpoints) | vpc-endpoint-service (for AWS PrivateLink) | vpc-flow-log. // and gateway endpoints) | vpc-endpoint-service (for AWS PrivateLink) | vpc-flow-log.
@ -108141,28 +108245,28 @@ type TransitGatewayRequestOptions struct {
// A private Autonomous System Number (ASN) for the Amazon side of a BGP session. // A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
// The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 // The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
// for 32-bit ASNs. // for 32-bit ASNs. The default is 64512.
AmazonSideAsn *int64 `type:"long"` AmazonSideAsn *int64 `type:"long"`
// Enable or disable automatic acceptance of attachment requests. The default // Enable or disable automatic acceptance of attachment requests. Disabled by
// is disable. // default.
AutoAcceptSharedAttachments *string `type:"string" enum:"AutoAcceptSharedAttachmentsValue"` AutoAcceptSharedAttachments *string `type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
// Enable or disable automatic association with the default association route // Enable or disable automatic association with the default association route
// table. The default is enable. // table. Enabled by default.
DefaultRouteTableAssociation *string `type:"string" enum:"DefaultRouteTableAssociationValue"` DefaultRouteTableAssociation *string `type:"string" enum:"DefaultRouteTableAssociationValue"`
// Enable or disable automatic propagation of routes to the default propagation // Enable or disable automatic propagation of routes to the default propagation
// route table. The default is enable. // route table. Enabled by default.
DefaultRouteTablePropagation *string `type:"string" enum:"DefaultRouteTablePropagationValue"` DefaultRouteTablePropagation *string `type:"string" enum:"DefaultRouteTablePropagationValue"`
// Enable or disable DNS support. // Enable or disable DNS support. Enabled by default.
DnsSupport *string `type:"string" enum:"DnsSupportValue"` DnsSupport *string `type:"string" enum:"DnsSupportValue"`
// Indicates whether multicast is enabled on the transit gateway // Indicates whether multicast is enabled on the transit gateway
MulticastSupport *string `type:"string" enum:"MulticastSupportValue"` MulticastSupport *string `type:"string" enum:"MulticastSupportValue"`
// Enable or disable Equal Cost Multipath Protocol support. // Enable or disable Equal Cost Multipath Protocol support. Enabled by default.
VpnEcmpSupport *string `type:"string" enum:"VpnEcmpSupportValue"` VpnEcmpSupport *string `type:"string" enum:"VpnEcmpSupportValue"`
} }
@ -113185,6 +113289,33 @@ const (
// InstanceTypeR6g16xlarge is a InstanceType enum value // InstanceTypeR6g16xlarge is a InstanceType enum value
InstanceTypeR6g16xlarge = "r6g.16xlarge" InstanceTypeR6g16xlarge = "r6g.16xlarge"
// InstanceTypeR6gdMetal is a InstanceType enum value
InstanceTypeR6gdMetal = "r6gd.metal"
// InstanceTypeR6gdMedium is a InstanceType enum value
InstanceTypeR6gdMedium = "r6gd.medium"
// InstanceTypeR6gdLarge is a InstanceType enum value
InstanceTypeR6gdLarge = "r6gd.large"
// InstanceTypeR6gdXlarge is a InstanceType enum value
InstanceTypeR6gdXlarge = "r6gd.xlarge"
// InstanceTypeR6gd2xlarge is a InstanceType enum value
InstanceTypeR6gd2xlarge = "r6gd.2xlarge"
// InstanceTypeR6gd4xlarge is a InstanceType enum value
InstanceTypeR6gd4xlarge = "r6gd.4xlarge"
// InstanceTypeR6gd8xlarge is a InstanceType enum value
InstanceTypeR6gd8xlarge = "r6gd.8xlarge"
// InstanceTypeR6gd12xlarge is a InstanceType enum value
InstanceTypeR6gd12xlarge = "r6gd.12xlarge"
// InstanceTypeR6gd16xlarge is a InstanceType enum value
InstanceTypeR6gd16xlarge = "r6gd.16xlarge"
// InstanceTypeX116xlarge is a InstanceType enum value // InstanceTypeX116xlarge is a InstanceType enum value
InstanceTypeX116xlarge = "x1.16xlarge" InstanceTypeX116xlarge = "x1.16xlarge"
@ -113431,6 +113562,33 @@ const (
// InstanceTypeC6g16xlarge is a InstanceType enum value // InstanceTypeC6g16xlarge is a InstanceType enum value
InstanceTypeC6g16xlarge = "c6g.16xlarge" InstanceTypeC6g16xlarge = "c6g.16xlarge"
// InstanceTypeC6gdMetal is a InstanceType enum value
InstanceTypeC6gdMetal = "c6gd.metal"
// InstanceTypeC6gdMedium is a InstanceType enum value
InstanceTypeC6gdMedium = "c6gd.medium"
// InstanceTypeC6gdLarge is a InstanceType enum value
InstanceTypeC6gdLarge = "c6gd.large"
// InstanceTypeC6gdXlarge is a InstanceType enum value
InstanceTypeC6gdXlarge = "c6gd.xlarge"
// InstanceTypeC6gd2xlarge is a InstanceType enum value
InstanceTypeC6gd2xlarge = "c6gd.2xlarge"
// InstanceTypeC6gd4xlarge is a InstanceType enum value
InstanceTypeC6gd4xlarge = "c6gd.4xlarge"
// InstanceTypeC6gd8xlarge is a InstanceType enum value
InstanceTypeC6gd8xlarge = "c6gd.8xlarge"
// InstanceTypeC6gd12xlarge is a InstanceType enum value
InstanceTypeC6gd12xlarge = "c6gd.12xlarge"
// InstanceTypeC6gd16xlarge is a InstanceType enum value
InstanceTypeC6gd16xlarge = "c6gd.16xlarge"
// InstanceTypeCc14xlarge is a InstanceType enum value // InstanceTypeCc14xlarge is a InstanceType enum value
InstanceTypeCc14xlarge = "cc1.4xlarge" InstanceTypeCc14xlarge = "cc1.4xlarge"
@ -113823,6 +113981,33 @@ const (
// InstanceTypeM6g16xlarge is a InstanceType enum value // InstanceTypeM6g16xlarge is a InstanceType enum value
InstanceTypeM6g16xlarge = "m6g.16xlarge" InstanceTypeM6g16xlarge = "m6g.16xlarge"
// InstanceTypeM6gdMetal is a InstanceType enum value
InstanceTypeM6gdMetal = "m6gd.metal"
// InstanceTypeM6gdMedium is a InstanceType enum value
InstanceTypeM6gdMedium = "m6gd.medium"
// InstanceTypeM6gdLarge is a InstanceType enum value
InstanceTypeM6gdLarge = "m6gd.large"
// InstanceTypeM6gdXlarge is a InstanceType enum value
InstanceTypeM6gdXlarge = "m6gd.xlarge"
// InstanceTypeM6gd2xlarge is a InstanceType enum value
InstanceTypeM6gd2xlarge = "m6gd.2xlarge"
// InstanceTypeM6gd4xlarge is a InstanceType enum value
InstanceTypeM6gd4xlarge = "m6gd.4xlarge"
// InstanceTypeM6gd8xlarge is a InstanceType enum value
InstanceTypeM6gd8xlarge = "m6gd.8xlarge"
// InstanceTypeM6gd12xlarge is a InstanceType enum value
InstanceTypeM6gd12xlarge = "m6gd.12xlarge"
// InstanceTypeM6gd16xlarge is a InstanceType enum value
InstanceTypeM6gd16xlarge = "m6gd.16xlarge"
) )
const ( const (

View File

@ -9599,6 +9599,8 @@ func (c *S3) SelectObjectContentWithContext(ctx aws.Context, input *SelectObject
return out, req.Send() return out, req.Send()
} }
var _ awserr.Error
// SelectObjectContentEventStream provides the event stream handling for the SelectObjectContent. // SelectObjectContentEventStream provides the event stream handling for the SelectObjectContent.
type SelectObjectContentEventStream struct { type SelectObjectContentEventStream struct {
@ -9673,6 +9675,7 @@ func (es *SelectObjectContentEventStream) waitStreamPartClose() {
// * ProgressEvent // * ProgressEvent
// * RecordsEvent // * RecordsEvent
// * StatsEvent // * StatsEvent
// * SelectObjectContentEventStreamUnknownEvent
func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent { func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
return es.Reader.Events() return es.Reader.Events()
} }
@ -11558,6 +11561,8 @@ func (s *ContinuationEvent) UnmarshalEvent(
return nil return nil
} }
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *ContinuationEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { func (s *ContinuationEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType))
return msg, err return msg, err
@ -14774,6 +14779,8 @@ func (s *EndEvent) UnmarshalEvent(
return nil return nil
} }
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *EndEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { func (s *EndEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType))
return msg, err return msg, err
@ -23548,6 +23555,8 @@ func (s *ProgressEvent) UnmarshalEvent(
return nil return nil
} }
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *ProgressEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { func (s *ProgressEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType))
var buf bytes.Buffer var buf bytes.Buffer
@ -26984,6 +26993,8 @@ func (s *RecordsEvent) UnmarshalEvent(
return nil return nil
} }
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *RecordsEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { func (s *RecordsEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType))
msg.Headers.Set(":content-type", eventstream.StringValue("application/octet-stream")) msg.Headers.Set(":content-type", eventstream.StringValue("application/octet-stream"))
@ -28204,6 +28215,7 @@ type SelectObjectContentEventStreamEvent interface {
// * ProgressEvent // * ProgressEvent
// * RecordsEvent // * RecordsEvent
// * StatsEvent // * StatsEvent
// * SelectObjectContentEventStreamUnknownEvent
type SelectObjectContentEventStreamReader interface { type SelectObjectContentEventStreamReader interface {
// Returns a channel of events as they are read from the event stream. // Returns a channel of events as they are read from the event stream.
Events() <-chan SelectObjectContentEventStreamEvent Events() <-chan SelectObjectContentEventStreamEvent
@ -28278,6 +28290,9 @@ func (r *readSelectObjectContentEventStream) readEventStream() {
return return
default: default:
} }
if _, ok := err.(*eventstreamapi.UnknownMessageTypeError); ok {
continue
}
r.err.SetError(err) r.err.SetError(err)
return return
} }
@ -28307,14 +28322,39 @@ func (u unmarshalerForSelectObjectContentEventStreamEvent) UnmarshalerForEventNa
case "Stats": case "Stats":
return &StatsEvent{}, nil return &StatsEvent{}, nil
default: default:
return nil, awserr.New( return &SelectObjectContentEventStreamUnknownEvent{Type: eventType}, nil
request.ErrCodeSerialization,
fmt.Sprintf("unknown event type name, %s, for SelectObjectContentEventStream", eventType),
nil,
)
} }
} }
// SelectObjectContentEventStreamUnknownEvent provides a failsafe event for the
// SelectObjectContentEventStream group of events when an unknown event is received.
type SelectObjectContentEventStreamUnknownEvent struct {
Type string
Message eventstream.Message
}
// The SelectObjectContentEventStreamUnknownEvent is and event in the SelectObjectContentEventStream
// group of events.
func (s *SelectObjectContentEventStreamUnknownEvent) eventSelectObjectContentEventStream() {}
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (e *SelectObjectContentEventStreamUnknownEvent) MarshalEvent(pm protocol.PayloadMarshaler) (
msg eventstream.Message, err error,
) {
return e.Message.Clone(), nil
}
// UnmarshalEvent unmarshals the EventStream Message into the SelectObjectContentEventStreamData value.
// This method is only used internally within the SDK's EventStream handling.
func (e *SelectObjectContentEventStreamUnknownEvent) UnmarshalEvent(
payloadUnmarshaler protocol.PayloadUnmarshaler,
msg eventstream.Message,
) error {
e.Message = msg.Clone()
return nil
}
// Request to filter the contents of an Amazon S3 object based on a simple Structured // Request to filter the contents of an Amazon S3 object based on a simple Structured
// Query Language (SQL) statement. In the request, along with the SQL expression, // Query Language (SQL) statement. In the request, along with the SQL expression,
// you must specify a data serialization format (JSON or CSV) of the object. // you must specify a data serialization format (JSON or CSV) of the object.
@ -28966,6 +29006,8 @@ func (s *StatsEvent) UnmarshalEvent(
return nil return nil
} }
// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *StatsEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { func (s *StatsEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType))
var buf bytes.Buffer var buf bytes.Buffer

2
vendor/modules.txt vendored
View File

@ -61,7 +61,7 @@ github.com/aokoli/goutils
github.com/apparentlymart/go-textseg/textseg github.com/apparentlymart/go-textseg/textseg
# github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da # github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da
github.com/armon/go-metrics github.com/armon/go-metrics
# github.com/aws/aws-sdk-go v1.32.13 # github.com/aws/aws-sdk-go v1.33.13
## explicit ## explicit
github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws
github.com/aws/aws-sdk-go/aws/arn github.com/aws/aws-sdk-go/aws/arn